J'ai une structure SVN comme celle-ci:
/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.
La mise en garde: je voudrais garder l'historique complet. Je suppose que chaque client devrait vérifier à nouveau 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 importe.
svn help rename
Déplacer/renommer dans Subversion garde l'historique intact.
svn move SRC DST
$ svn move -m "Déplacer un fichier" http://svn.red-bean.com/repos/foo.c http://svn.red-bean.com/repos/bar.c
svn move gardera votre historique.
Tortoise SVN prend en charge le mouvement "Clic droit". Lorsque vous faites glisser le fichier/répertoire source vers la destination à l'aide du "clic droit de la souris", un menu contextuel apparaît. Vous pouvez sélectionner l'option de menu appropriée pour copier/déplacer/déplacer-renommer, etc. Cette option préservera également l'historique.
Remarque: Il y a un joli caractère appelé 'Repair Move' dans Tortoise SVN - en utilisant cette fonctionnalité, vous pouvez renommer le fichier/répertoire lorsque vous le déplacez. (Voir Documentation pour plus de détails)
Si vous déplacez Project 3 dans le dossier de projet à l'aide de la commande svn move, l'historique sera conservé pour le dossier Project 3 mais, fait intéressant, le dossier Projects n'affichera pas l'historique de Project 3 créé avant que Project 3 ne soit déplacé dans Projects.
Je trouve cela déroutant, je pensais qu'un dossier afficherait toute l'histoire en dessous de lui-même dans la hiérarchie, mais il semble que ce ne soit pas le cas (je l'ai testé moi-même)
Vous pouvez utiliser la commande svn copy. Il garde votre histoire. Il vous suffit de désélectionner l'option "Arrêter la copie/renommer" tout en affichant le journal (exemple pour Tortoise).
Regardez de plus près le livre Subversion copie svn
Glissez-déposez-le à l'aide du navigateur de dépôt et reliez votre dossier local à votre serveur SVN.
Le déplacement de répertoires dans Subversion ne détruit pas l'histoire, AFAIK.
Pour ce faire, vous devrez utiliser les fonctions spécifiques déplacer/renommer de svn (consultez l'aide de TortoiseSVN si vous l'utilisez par exemple). Si vous déplacez les fichiers par vous-même, puis validez les modifications, je ne suis pas sûr que l'historique sera conservé.