2017-01-30 4 views
-1

C'est ce que je suis en train d'accomplirsvnadmin - migration sous-répertoire d'un projet dans le répertoire racine du anthères projet

Project_A 
    -SubFolder_Y 
     Project_X 

Project_B 
    Project_X 

Donc, fondamentalement, la migration du sous-répertoire « Project_X » du projet A à la racine du projet B avec toutes les révisions. J'essaie d'utiliser les commandes svnadmin depuis que j'ai accès au serveur SVN.

Je sais que je voulais donc quelque chose le long de la ligne de:

1. svnadmin dump \\Repositories\Project_A > ProjectA.dump 
2. svndumpfilter include Project_X --drop-empty-revs --renumber-revs <Project_A.dump> Project_X.dump 
3. svnadmin load --ignore-uuid \\Repositories\Project_B <Project_X.dump 

Cela ne semble pas fonctionner, ce que je manque ici?

Merci d'avance !!!

+0

ProjectA et ProjectB sont différents référentiels, non? – bahrep

+0

* Cela ne semble pas fonctionner, qu'est-ce qui me manque ici? * - Qu'est-ce qui ne fonctionne pas exactement? Avez-vous des erreurs? – bahrep

+0

@bahrep Oui ProjectA et ProjectB sont différents. Le code ci-dessus garderait aussi 'SubFolder_Y' comme parent de Project_X que je ne veux pas. –

Répondre

0

D'abord et avant tout, vous devez lire SVNBook chapter about repository history filtering. Et ne pas svnadmin load le vidage dans le référentiel réel avant de le tester avec un test de repo. Vous devez vous assurer que le vidage filtré généré par svndumpfilter contient toutes les données attendues et que vous souhaitez qu'elles contiennent.

Le code ci-dessus serait également garder « SubFolder_Y » en tant que parent de Project_X que je ne veux pas

Ceci est couvert dans le chapitre doc lien ci-dessus. SVNBook suggère que vous modifiez vos fichiers de vidage manuellement avec un éditeur de texte ou via la réécriture de script ou en supprimant le chemin parent (SubFolder__Y dans votre cas). La complexité de cette tâche dépend du nombre de révisions dans votre fichier de vidage, de sa taille, des chemins de stockage, etc. Mais en général, il s'agit d'une tâche non triviale et potentiellement dangereuse et je vous recommande de ne pas modifier manuellement les fichiers de vidage. Au lieu de réécrire les chemins parents, vous pouvez déplacer Project_X à la racine du nouveau référentiel après avoir chargé le vidage filtré.

La commande doit être comme suit:

svn move FROM-URL TO-URL -m "ENTER LOG MESSAGE"