2012-06-12 5 views
8

Ich verwende den graft Befehl, um 4 Changesets von einer BranchA in BranchB zu ziehen. Als ich tun, sind einige gepfropft und manche nicht:Was bedeutet "Überspringen der Vorfahren-Revision" bei Verwendung von "Transplantat"?

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 

ich nichts dokumentiert, dass dies erklärt finden. Ich kann die Quelle finden, aber vielleicht wäre es für jemand anderen hilfreich, wenn jemand mitkommen und es erklären könnte.

Gibt es eine Reihenfolge von Operationen mit Transplantat, die ich beachten muss? Mache ich es falsch?

+0

In meinem Fall bedeutete das, dass ich versuchte, einen Änderungssatz auf den Zweig zu übertragen, in dem er bereits war. – Noumenon

Antwort

11

Von 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'. 

so wird Graft weigern, diese Revisionen Nachkommen der aktuellen changeset zu machen, weil sie bereits Vorfahren der aktuellen changeset, und mit Ihrer Vorfahren deine Nachkommen sein nicht gezeigt arbeiten in den Back to the Future Filmen. ;)

+1

Ja, es heißt aus einem bestimmten Grund "Gerichtete_Azyklische_Diagramm" (DAG). :) – Helgi

+0

Danke, das macht Sinn und das ist, was ich dachte. – jcollum

+0

@jcollum: Überlege dir, die Antwort zu akzeptieren. Auf diese Weise wird es nicht auf der Registerkarte "Unbeantwortet" angezeigt. – Helgi

Verwandte Themen