これがどのように起こったのかはよくわかりませんが、どういうわけか、ディレクトリの完全に空の階層が私のリポジトリにありました:
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
andcvs 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にもこの奇妙な動作がありますか?