2010-08-04 5 views
5

J'ai ici le dépôt mercurial/hg d'un projet perl avec beaucoup de modules. Maintenant, j'ai réalisé que certains modules, une branche de modules, ne s'intègrent plus dans ce projet mais seraient mieux adaptés dans un autre projet.mercurial: "Cloner" juste un fichier d'un dépôt dans un autre?

Alors, est-il possible de "cloner" ces modules de repository1 dans mon autre repository2 tout en conservant l'historique des révisions de ces modules tout en signalant que les modules dans repository1 sont "supprimés"?

Je pense que c'est possible avec un certain nombre d'étapes. Mais je pense que cloner tout le repo1 et ensuite supprimer tous les fichiers inutiles encombrerait mon nouveau repo2 avec beaucoup d'histoire de révision sans rapport. Cependant, si je comprends bien les commandes "clone" et "pull", aucune d'entre elles n'est adaptée pour cloner juste une tranche d'un autre dépôt, n'est-ce pas? Ou est-il possible de "déplacer" un fichier d'un dépôt vers un autre? Comme je le vois c'est l'analogie de ce que je veux faire ..

Répondre

5

Absolument! Jetez un oeil à l'Convert extension, plus précisément la section Mercurial-to-Mercurial qui devrait faire exactement ce que vous voulez.

Après avoir séparé ces modules, vous pouvez utiliser hg forget, hg remove pour les supprimer de votre référentiel d'origine, ou même utiliser hg convert à nouveau pour créer un nouveau dépôt sans eux.

+0

La section Mercurial-to-Mercurial est exactement ce dont j'ai besoin. Merci! – isync

Questions connexes