2012-06-12 12 views
8

Estoy usando el comando graft para extraer 4 conjuntos de cambios de una BranchA en BranchB. Cuando lo hago, algunos son injertados y otros no:¿Qué significa 'omitir la revisión de antepasado' cuando se usa 'injerto'?

PS D:\Dev\ProjectAlpha> hg graft 5f403abb2b24 
skipping ancestor revision 15911 
PS D:\Dev\ProjectAlpha> hg graft 535ff712c5a3 
grafting revision 15925 
PS D:\Dev\ProjectAlpha> hg graft cf42b7113e02 
grafting revision 15931 
PS D:\Dev\ProjectAlpha> hg graft 6920922ee602 
skipping ancestor revision 15910 

No encuentro nada documentado que explique esto. Puedo encontrar la fuente, pero tal vez sería útil para otra persona si alguien pudiera venir y explicarme esto.

¿Hay algún orden de operaciones con injerto que deba tener en cuenta? ¿Lo estoy haciendo mal?

+0

En mi caso, significaba que intentaba injertar un conjunto de cambios en la rama en la que ya estaba. – Noumenon

Respuesta

11

De hg help glossary:

Ancestor 
    Any changeset that can be reached by an unbroken chain of parent 
    changesets from a given changeset. More precisely, the ancestors of a 
    changeset can be defined by two properties: a parent of a changeset is 
    an ancestor, and a parent of an ancestor is an ancestor. See also: 
    'Descendant'. 

así injerto se niega a hacer esas revisiones descendientes de su conjunto de cambios actual porque ya están antepasados ​​de su conjunto de cambios actual, y teniendo sus antepasados ​​sean sus descendientes se demostró que no funciona en las películas Back to the Future. ;)

+1

Sí, se llama Directed _Acyclic_ Graph (DAG) por algún motivo. :) – Helgi

+0

Gracias, eso tiene sentido y eso es lo que pensé. – jcollum

+0

@jcollum: Considera aceptar la respuesta, entonces. De esta forma, no estará en la pestaña Sin respuesta. – Helgi

Cuestiones relacionadas