web-dev-qa-db-fra.com

SVN déplacer un seul répertoire dans un autre référentiel (avec historique)

Question associée: Déplacement du tronc du référentiel vers une autre branche (avec historique)


Je sais que l'on peut vider un référentiel SVN complet avec historique et le charger dans un (sous) répertoire défini par l'utilisateur du référentiel cible à l'aide de:

// in source repo
> svnadmin dump . > mydumpfilename

// in destination repo (backslashes because I'm using Windows)
> svnadmin load . < mydumpfilename --parent-dir some\sub\directory

Mais cela importera le référentiel complet dans le sous-répertoire du référentiel cible. Ce que je veux, c'est définir un sous-répertoire dans le référentiel source à exporter. Quelque chose comme svnadmin dump . --source-path old\sub\dir > mydumpfilename.

Comment puis-je y arriver? Si TortoiseSVN peut le faire, merci de le dire;)


SOLUTION: Merci à Tim Henigan pour sa réponse, voici comment procéder:

// execute in destination repo
svndumpfilter include source\sub\dir < mydumpfilename | svnadmin load . --parent-dir destination\sub\dir

J'espère que cela aidera les autres aussi ...

35
AndiDog

Consultez svndumpfilter et cette section sur Maintenance du référentiel .

Une fois que vous avez créé un fichier de vidage pour l'ancien référentiel entier, vous pouvez utiliser svndumpfilter pour extraire uniquement la partie souhaitée.

Je ne suis pas au courant d'un moyen de faire cela avec TortoiseSVN.

20
Tim Henigan

Un peu en retard pour la fête, mais ... si vous avez extrait TortoiseSVN des copies locales des deux référentiels, vous pouvez en fait copier un répertoire avec l’historique en cliquant avec le bouton droit de la souris sur le répertoire (ou le fichier) dans Repo1. en le faisant glisser vers Repo2. Lorsque vous relâchez la souris, vous obtenez cette liste d’options: 

enter image description here

"SVN Exporter les éléments versionnés ici" sera copié (de manière récursive) avec l’historique.

0
noisiveRevision