Je ne sais pas exactement comment cela s'est produit, mais une hiérarchie de répertoires complètement vide s'est retrouvée dans mon référentiel :
com/
com/companyname/
com/companyname/blah/
com/sun/
com/sun/java/
com/sun/java/jax_rpc_ri/
Je pense que ce qui s'est passé, c'est que ces répertoires contenaient des fichiers, mais qu'un développeur a réalisé qu'il/elle n'aurait pas dû les enregistrer en premier lieu puisque ce sont des sous-produits du processus de construction, donc il/elle a supprimé les fichiers, mais d'une manière ou d'une autre, les répertoires vides sont restés dans le référentiel comme d'anciennes reliques.
Comment puis-je supprimer cela du CVS ? Les seuls résultats que j'ai pu trouver sur Google disent qu'il ne devrait pas être nécessaire de supprimer les répertoires vides puisque CVS ne les garde pas en premier lieu, et que l'option de suppression des répertoires vides n'est pas nécessaire. -P
(élaguer) les options pour cvs update
devrait les supprimer du répertoire de travail - ce qui n'est d'aucune aide si vous avez effectivement des répertoires vides dans votre référentiel.
A cvs remove
y cvs commit
ne semble pas prendre en charge cette situation :
$ 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
C'est toujours là !
Est-ce que SVN a aussi ce comportement bizarre ?