Conséquences de l'utilisation de la greffe dans les Mercurial

Il y ai plusieurs questions récemment sur la façon d'ignorer les changements lors de l'entretien de la libération des succursales dans d'Mercurial. Par exemple:

Car il a été introduit dans la version 2.0, j'ai demandé à ce sujet à l'aide de graft pour éviter ce problème. Compte tenu d'une révision de l'arborescence comme ceci:

A---B---C---D---E---F---G---H---I---J

Supposons que nous avons besoin de créer une branche qui ignore le Mal de changement E.

hg update -r D
hg graft "F::J"

nous donnant:

A---B---C---D---E---F---G---H---I---J
             \
              --F'--G'--H'--I'--J'
  • Q1: Ce qui s'est passé ici? Je peux comprendre que transplant aurait généré des correctifs de F::J, puis de l'appliquer sur D, mais graft est dit d'utiliser les 3 voies de fusion plutôt que des correctifs. Donc....... comment cela fonctionne? Pourquoi est-il mieux?

Permet de dire que j'ai maintenant fixer E, et le fusionner dans ma branche.

                  --E2-----------------
                 /                    \
A---B---C---D---E---F---G---H---I---J---M1
             \                            \
              --F'--G'--H'--I'--J'---------M2--

M1 est un droit de fusion; rien de spécial là.
M2 est la fusion de branches qui ont "la même chose" (ou au moins l'équivalent) des modifications sur.

  • Q2: Est-ce de fusion juste une normale 3-voie de fusion à l'aide de D, J' et M1?
  • Q3: mercurial stockée ou utilisée extra d'informations sur la greffe de fonctionnement pour l'aider avec la fusion?

Et enfin...

  • Q4: Quels sont les problèmes potentiels avec un débit comme cela?
InformationsquelleAutor Paul S | 2012-03-07