70 votes

Déplacer les annuaires avec l'histoire

J'ai une structure SVN comme ceci :

/Projects
    /Project1
    /Project2
/someFolder
    /Project3
    /Project4

Je voudrais déplacer tous les projets dans le dossier /Projects, ce qui signifie que je veux déplacer les projets 3 et 4 de /someFolder dans le dossier /projects.

L'inconvénient : j'aimerais conserver l'historique complet. Je suppose que chaque client devra à nouveau consulter le contenu du nouvel emplacement, ce qui est bien, mais je me demande toujours quelle est l'approche la plus simple pour déplacer des répertoires sans détruire complètement l'historique ?

Subversion 1.5 si cela compte.

58voto

Apocalisp Points 22526
svn help rename

Le déplacement/renommage en subversion permet de conserver l'histoire intacte.

46voto

Geekygecko Points 1984
svn move SRC DST    $ svn move -m "Move a file" http://svn.red-bean.com/repos/foo.c http://svn.red-bean.com/repos/bar.c

svn move conservera votre historique.

0 votes

C'est aussi beaucoup plus rapide si on le fait directement sur le dépôt et qu'on met à jour les copies de travail par la suite, car il est plus lent de faire le déplacement sur une copie de travail.

5voto

Simon Byholm Points 56

Si vous déplacez le projet 3 dans le dossier des projets en utilisant la commande svn move, l'historique sera préservé pour le dossier du projet 3 mais, fait intéressant, le dossier des projets ne montrera pas l'historique du projet 3 qui a été créé avant le déplacement du projet 3 dans les projets.

Je trouve cela déroutant, je pensais qu'un dossier montrerait tous les historiques sous lui dans la hiérarchie mais il semble que ce ne soit pas le cas (je viens de le tester moi-même).

4voto

binco Points 1070

Vous pouvez utiliser la commande svn copy. Elle conserve votre historique. Il suffit de désélectionner l'option "Stop on copy/rename" lors de l'affichage du Log (exemple pour Tortoise).

Regardez de plus près le livre de Subversion copie svn

2voto

ljubomir Points 761

Pour ce faire, vous devrez utiliser les fonctions spécifiques de déplacement/renommage de svn (consultez l'aide de TortoiseSVN si vous l'utilisez par exemple). Si vous déplacez les fichiers par vous-même et qu'ensuite vous livrez les changements, je ne suis pas sûr que l'historique sera conservé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X