2010-03-30 6 views
4

J'ai deux versions d'un produit et j'utilise des référentiels Hg distincts pour chacun d'eux. J'ai fait un changement à un (v1.0) et je veux tirer juste ce changement dans le référentiel v2.0. Comment je vais à ce sujet? Pour autant que je sache, l'utilisation de hg pull -f -r xxxxx \\server\hg\v1.0 entraînera toutes les modifications jusqu'à la révision spécifiée, ce qui n'est pas ce que je veux. Est-ce possible ou dois-je ajouter le correctif à la main?Extraction de modifications entre deux référentiels Mercurial distincts

Répondre

5

hg transplant

+0

Wow, cette extension fonctionne très bien. Merci. – Rob

+3

C'est le cas, mais l'inconvénient est maintenant que vous avez le même changement logique à deux endroits avec deux hashids différents. Tant que vous ne faites que transplanter d'un côté et de l'autre, c'est bien, mais si vous voulez un jour ou l'autre entre deux repos, vous aurez tous les changements deux fois, car ils sont officiellement différents. Mercurial va probablement fusionner proprement, mais vous verrez beaucoup d'histoire supplémentaire. Lorsque cela est possible, essayez de pousser/tirer, même si vous avez raison, cela amène tous les ancêtres du changeset. –

3

Vous pouvez utiliser hg incoming -f -r xxx \\server\hg\v1.0 pour révéler ce qui viendrait d'une traction. Le transplant extension fera peut-être ce que vous voulez? Quelque chose comme hg transplant -s \\server\hg\v1.0 avec le sélecteur de changeset interactive.

Si tout le reste échoue, vous pouvez utiliser hg diff pour sortir un patch pour la révision que vous voulez.

Questions connexes