2010-06-12 2 views
0

J'ai des structures de répertoires en double dans deux emplacements que j'ai besoin de fusionner dans un référentiel svn. Par "fusion" je veux dire que je veux que tous les fichiers et dossiers qui sont uniques à la structure b soient déplacés dans la structure a. Lorsque je tente de le faire en utilisant svn move je reçois l'erreurDéplacement de structures de répertoires en double

svn: Path 'com' already exists 

Les dossiers ressemblent:

src 
-> com 
    -> (many more files and directories) 
-> java 
    -> com 
     -> (some files and folders, some folders overlap but all files are unique) 

src\com est a et src\java\com est b.

+0

Après avoir parlé à plusieurs personnes et expérimenté pendant quelques heures, je me demande si cela est possible avec svn. Mon expérience avec svn au cours de la dernière semaine a énormément diminué mon opinion à ce sujet. Allez avec Mercurial ou git imo. Malheureusement, ce n'est pas une option dans mon cas, c'est un référentiel de 10 ans avec 50 développeurs qui travaillent dessus et plus de 50 autres personnes en lisent. – nash

Répondre

0

Après avoir parlé à plusieurs personnes, je suis arrivé à la conclusion que svn ne supporte pas ce comportement.

Il est possible de produire les mêmes résultats en écrivant un script qui lit le contenu de java \ com et produit une commande svn move pour chaque élément. S'il y a chevauchement de fichiers et de répertoires sur plusieurs niveaux, cela ne fonctionnera pas. Les chevauchements de répertoire peuvent être gérés en développant le script pour explorer la hiérarchie de répertoires, en marquant les chevauchements et en déplaçant leur contenu comme ci-dessus. Les chevauchements de fichiers devraient être traités manuellement et aucun script ne pourra décider quel fichier conserver dans tous les cas.

0

Vous pouvez svn fusionner l'historique complet du chemin source 'com' dans le chemin de destination, ce qui préservera l'historique de ces fichiers, par ex.

svn merge -r 1:HEAD svn://repository-path-to/com working-copy-path-to/com 

Vous devez vous assurer que la révision inclut la révision qui ajoute les premiers fichiers au dossier source 'com'.

+0

Cela n'a pas fonctionné. J'ai couru toutes les variations de ce que je pouvais et rien ne s'est passé, aucune erreur, aucun changement, rien. J'apprécie l'effort si :) – nash

Questions connexes