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