2010-10-10 18 views
2

J'ai un dossier dans un dépôt Mercurial, que je veux copier dans un autre dépôt Mercurial, mais avec toutes les modifications que j'ai apportées à ce dossier, et sans perdre le contrôle de toutes les versions que j'ai fait sur ce dossier.Migrer un dossier du référentiel vers un autre référentiel, avec tous les changements de données de l'arborescence

Est-ce possible de faire avec mercurial?

+4

en double de [Mercurial: copie du fichier ONE et son histoire à un autre référentiel] (http://stackoverflow.com/q/3643313/19465) –

+2

http://mercurial.selenic.com/wiki/TipsAndTricks#Split_a_subdirectory_into_a_separate_project – tonfa

Répondre

0

Je pense que si les changesets relatifs aux fichiers de ce répertoire se réfèrent UNIQUEMENT aux fichiers de ce répertoire, vous pouvez utiliser hg export/import pour y parvenir. Tout d'abord identifier tous les changesets pour les fichiers, puis les exporter, puis les importer ... voici script shell pour faire la première partie:

for i in $(hg log -M --template="{node}\n" directory) 
do 
    hg export -r $i -o "$(date '+%Y%m%d%H%M%S')_%H" 
done 

déplacer ensuite ces fichiers sur votre nouveau repo et importons hg sur chacun à son tour. SI vos changesets n'incluent pas d'autres fichiers alors cela fonctionnera ... même alors vous pourriez trouver beaucoup de rejets et n'incluez pas les messages de commit d'origine ou les changesets de fusion (évidemment).