我不太确定这是怎么发生的,但不知何故,一个完全空的目录层次结构最终出现在我的存储库中:
com/
com/companyname/
com/companyname/blah/
com/sun/
com/sun/java/
com/sun/java/jax_rpc_ri/
我认为发生的事情是这些目录中确实有文件,但后来开发人员意识到他/她不应该首先签入它们,因为这些是构建过程的副产品,所以他/她删除了文件,但不知何故,空目录作为古代遗物留在存储库中。
如何从 CVS 中删除它?我似乎能够在谷歌上找到的唯一结果是不需要删除空目录,因为 CVS 首先不会保留它们,并且-P
(prune) 选项cvs update
应该将它们从工作目录 - 如果您的存储库中实际上有空目录,这将是零帮助。
Acvs remove
并且cvs commit
似乎没有处理这种情况:
$ cvs remove -Rf com
cvs remove: Removing com
cvs remove: Removing com/companyname
cvs remove: Removing com/companyname/blah
cvs remove: Removing com/sun
cvs remove: Removing com/sun/java
cvs remove: Removing com/sun/java/jax_rpc_ri
$ cvs commit com
cvs commit: Examining com
cvs commit: Examining com/companyname
cvs commit: Examining com/companyname/blah
cvs commit: Examining com/sun
cvs commit: Examining com/sun/java
cvs commit: Examining com/sun/java/jax_rpc_ri
$ ls -l com
total 24
drwxrwxr-x 2 matt matt 4096 Oct 15 14:38 CVS
drwxrwxr-x 9 matt matt 4096 Oct 15 14:38 companyname
drwxrwxr-x 4 matt matt 4096 Oct 15 14:38 sun
它还在那里!
SVN 也有这种奇怪的行为吗?