Question

J'ai un ancien mais très important référentiel Subversion pour lequel je n'ai pas encore créé la structure habituelle: tronc, branches, balises. Tous mes fichiers de ce référentiel résident donc à la racine.

Je sais comment créer les nouveaux dossiers et déplacer tous mes fichiers dans le coffre, mais si je le fais, je perdrai l'historique de mon projet pendant trois ans, car "coffre" est un nouveau dossier. Y a-t-il une solution pour déplacer l'historique de tout mon projet de la racine au dossier du coffre?

Merci!

Était-ce utile?

La solution

Oui. Vous pouvez utiliser svnadmin dump pour vider le référentiel avec l'historique dans un fichier. Vous pouvez ensuite utiliser svnadmin load pour charger le fichier de vidage dans le dossier du coffre. Une fois cela fait, supprimez les fichiers de la racine.

svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
svnadmin load REPOS_PATH

Dump Doc: http://svnbook.red-bean.com/ en / 1.1 / re31.html Charger le document: http://svnbook.red-bean.com/fr/1.0 /re36.html

Autres conseils

Vous pouvez utiliser

svn copy http://my.server/svn/repos/ http://my.server/svn/repos/trunk/ \
     -m "Copied"

Pour créer une copie de la racine de votre référentiel (^ /) dans trunk / (^ / trunk), en conservant tout votre historique, y compris celui du répertoire racine.

Ensuite, vous pouvez supprimer les fichiers et les sous-répertoires de l'ancien emplacement du prochain commit.

Vous ne perdrez pas l'historique si vous utilisez svn mv les fichiers. L'histoire sera maintenue. Vous pouvez donc utiliser la jonction svnadmin load -parent-dir pour refaire votre référentiel, mais vous devez effectuer de nouvelles vérifications de tout, car vous devez avoir un nouvel UUID dans le nouveau référentiel.

svn co http://example.com/repos/
cd repos
svn mkdir trunk tags branches
svn mv a trunk/a
svn mv b trunk/b
svn ci -m 'Moving project into trunk'

Ce n’est certes pas une solution idéale, mais pourquoi ne pas créer un tout nouveau référentiel dont le contenu est constitué de l’intégralité du code de l’ancien référentiel mais formaté joliment en coffre, etc. en maintenant l’ancien référentiel complètement séparé tout en le lisant en lecture seule.

Certes, il serait difficile de se rappeler qu’avant la date X, vous devez consulter l’ancien référentiel plutôt que le nouveau si vous devez connaître l’historique d’un élément.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top