Les solutions @Aaron Digulla et @kementeus sont réalisables. Pour les référentiels Subversion 1.4, les opérations de copie / déplacement peuvent rendre la migration future vers une structure de référentiel différente ou la division des référentiels difficile.
Je pense que les améliorations de la version 1.5 incluent une meilleure résolution de l'historique des mouvements / copies, donc ce ne serait probablement pas un problème pour un référentiel 1.5.
Pour un référentiel 1.4, je recommanderais d'utiliser svnadmin dump
et svndumpfilter
d'effectuer le mouvement du tronc existant ailleurs, puis de déplacer la branche vers le tronc avec le même mécanisme. Chargez les deux fichiers de vidage dans un référentiel de test, vérifiez, puis déplacez-le en production.
Bien sûr, sauvegardez votre référentiel existant avant de commencer.
Cela préserve l'historique sans enregistrer explicitement le déplacement / la copie et facilite la réorganisation future, en préservant l'historique.
Edit: Comme demandé, la documentation du comportement 1.4, du livre 1.4 Red-Bean, Filtering Repository History
En outre, les chemins copiés peuvent vous poser des problèmes. Subversion prend en charge les opérations de copie dans le référentiel, où un nouveau chemin est créé en copiant un chemin déjà existant. Il est possible qu'à un moment donné de la vie de votre référentiel, vous ayez copié un fichier ou un répertoire à partir d'un emplacement svndumpfilter
exclu vers un emplacement qu'il inclut. Afin de rendre les données de vidage autonomes,svndumpfilter
doit toujours afficher l'ajout du nouveau chemin, y compris le contenu de tous les fichiers créés par la copie, et ne pas représenter cet ajout comme une copie d'une source qui n'existera pas dans votre flux de données de vidage filtré. Mais comme le format de vidage du référentiel Subversion ne montre que ce qui a été modifié dans chaque révision, le contenu de la source de la copie peut ne pas être facilement disponible. Si vous pensez avoir des copies de ce type dans votre référentiel, vous voudrez peut-être repenser votre ensemble de chemins inclus / exclus, y compris peut-être également les chemins qui ont servi de sources de vos opérations de copie gênantes.
Cela s'applique aux migrations / réorganisations utilisant svndumpfilter
. Il y a des moments où un peu de travail supplémentaire maintenant peut économiser beaucoup de travail supplémentaire plus tard, et en gardant une utilisation facile de svndumpfilter
disponible pour les migrations / réorganisations futures, atténue le risque à un coût relativement faible.