9

我正在使用graft命令将 4 个变更集从 BranchA 拉到 BranchB。当我这样做时,有些是嫁接的,有些不是:

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

我找不到任何解释这一点的文件。我可以找到来源,但如果有人能过来解释一下,也许对其他人会有所帮助。

我需要牢记移植手术的顺序吗?我做错了吗?

4

1 回答 1

12

来自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'.

因此,graft 拒绝将这些修订作为您当前变更集的后代,因为它们已经是您当前变更集的祖先,并且让您的祖先成为您的后代在“回到未来”电影中被证明是行不通的。;)

于 2012-06-12T17:53:29.270 回答