使用“嫁接"时,“跳过祖先修订版"是什么意思? [英] what does 'skipping ancestor revision' mean when using 'graft'?

查看:69
本文介绍了使用“嫁接"时,“跳过祖先修订版"是什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用graft命令将4个变更集从BranchA拉入BranchB.当我这样做时,有些被嫁接了,而有些则没有:

I'm using the graft command to pull 4 changesets from a BranchA into BranchB. When I do, some are grafted and some are not:

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

我找不到任何解释此问题的文档.我可以找到消息来源,但是如果有人可以解释这个问题,也许对其他人会有所帮助.

I can't find anything documented that explains this. I can find the source, but maybe it'd be helpful to someone else if someone could come along and explain this.

我需要牢记关于移植的操作顺序吗?我做错了吗?

Is there an order of operations with graft that I need to keep in mind? Am I doing it wrong?

推荐答案

来自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拒绝使这些修订成为您当前变更集的后代,因为它们已经是您当前变更集的祖先,并且在《回到未来》电影中显示,让您的祖先成为您的后代是行不通的. ;)

so graft is refusing to make those revisions descendants of your current changeset because they're already ancestors of your current changeset, and having your ancestors be your descendants was shown to not work in the Back to the Future movies. ;)

这篇关于使用“嫁接"时,“跳过祖先修订版"是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆