Я не совсем уверен, как это произошло, но каким-то образом в моем репозитории оказалась полностью пустая иерархия каталогов:
com/
com/companyname/
com/companyname/blah/
com/sun/
com/sun/java/
com/sun/java/jax_rpc_ri/
Я думаю, что произошло то, что у этих каталогов были файлы в них, но затем разработчик понял, что он/она не должен был проверять их в первую очередь, поскольку они являются побочными продуктами процесса сборки, поэтому он/она удалила файлы, но как-то пустые каталоги остаются в репозитории как древние реликвии.
Как я могу удалить это из CVS? Единственные результаты, которые я, кажется, могу найти в google, говорят, что не должно быть необходимости удалять пустые каталоги, поскольку CVS не будет их содержать в первую очередь и что параметры -P
(чернослив) для cvs update
должен удалить их из рабочего каталога - это нулевая справка, если у вас на самом деле есть пустые каталоги в вашем репозитории.
A cvs 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 это странное поведение?