Mercurial diff,包括第一个变更集

Mercurial diff,包括第一个变更集,mercurial,diff,changeset,Mercurial,Diff,Changeset,我最近遇到了一个需求,需要生成一个包含回购协议第一个变更集的特定变更集的所有变更的差异。我意识到这种扩展了diff的定义,但这是为了将新项目上传到代码审查工具 让我们假设以下变更集: p83jdps99shjhwop8-第二个功能部件下午12:00 hs7783909dnns9097-第一个功能-上午11:00 a299sdnnas78s9923-原始应用程序设置-上午10:00 如果我需要一个已提交的所有更改的diff,那么实现这一点的唯一方法似乎是使用以下diff命令 diff -r 00:

我最近遇到了一个需求,需要生成一个包含回购协议第一个变更集的特定变更集的所有变更的差异。我意识到这种扩展了diff的定义,但这是为了将新项目上传到代码审查工具

让我们假设以下变更集:

p83jdps99shjhwop8-第二个功能部件下午12:00

hs7783909dnns9097-第一个功能-上午11:00

a299sdnnas78s9923-原始应用程序设置-上午10:00

如果我需要一个已提交的所有更改的diff,那么实现这一点的唯一方法似乎是使用以下diff命令

diff -r 00:p83jdps99shjhwop8
在本例中,参数param here-00中的第一个变更集采用0[0]的regexp格式+

基于一些测试,这似乎正是我们所需要的,但我很难找到关于这个场景的文档,也许我就是无法设计出正确的谷歌查询。因此,我不确定这是否会普遍起作用,或者它是否恰好是针对我的设置或我偶然测试的回购协议


有没有一个建议的方法来实现我想要实现的目标?如果没有,我上面描述的内容是否有文档记录?

看起来这实际上是有文档记录的,但您需要做一些挖掘

因此,您所指的特殊nodeid是“nullid”

2位数字可能不足以识别nullid,因为如果其他哈希值以2个零开头,则可能会产生歧义,因此最好指定4个0或更多


例如:hg diff-r 00:已导致中止:00changelog。i@00:不明确的标识符!错误。

看起来这实际上是有文档记录的,但您需要做一些挖掘

因此,您所指的特殊nodeid是“nullid”

2位数字可能不足以识别nullid,因为如果其他哈希值以2个零开头,则可能会产生歧义,因此最好指定4个0或更多


例如:hg diff-r 00:已导致中止:00changelog。i@00:不明确的标识符!错误。

我对你需要什么有点困惑。空存储库和修订提示之间的差异只是tip中每个文件的内容——换句话说,它是tip中项目的状态。在diff格式中,它只包含+行

无论如何,如果您想要一种方法来引用存储库的初始状态,那么有文档记录的表示法是null,请参阅hg帮助修订版。因此,要在tip中获得初始空状态和存储库状态之间的差异,您只需说

hg diff -r null -r tip
但是hg diff在修订图中给出了两点之间的差异。因此,这只会给您tip的祖先:如果有命名或未命名的分支尚未合并到tip的祖先,您将看不到它们

  3--6
 / 
0--1--2--5--7 (tip)
    \   / 
      4

在上面的示例中,从null到7的范围不包括修订版3和6。

我对您需要什么感到有点困惑。空存储库和修订提示之间的差异只是tip中每个文件的内容——换句话说,它是tip中项目的状态。在diff格式中,它只包含+行

无论如何,如果您想要一种方法来引用存储库的初始状态,那么有文档记录的表示法是null,请参阅hg帮助修订版。因此,要在tip中获得初始空状态和存储库状态之间的差异,您只需说

hg diff -r null -r tip
但是hg diff在修订图中给出了两点之间的差异。因此,这只会给您tip的祖先:如果有命名或未命名的分支尚未合并到tip的祖先,您将看不到它们

  3--6
 / 
0--1--2--5--7 (tip)
    \   / 
      4

在上面的示例中,从null到7的范围不包括修订版3和6。

我相信hg diff-r null:tip就是您想要的?当然,如果你想要的一切都是tip的祖先,我相信hg diff-r null:tip就是你想要的?如果你想要的都是tip的祖先,当然。谢谢。我不知道这是否奏效。当您运行这种diff时,diff输出前面提到的nullid@mrokitka的缩写形式。不过这两种方法都有效。嗯,您确实要求提供一种文档化的方法来引用空版本。hg帮助非常规范。谢谢。我不知道这是否奏效。当您运行这种diff时,diff输出前面提到的nullid@mrokitka的缩写形式。不过这两种方法都有效。嗯,您确实要求提供一种文档化的方法来引用空版本。hg help非常规范。最好只使用nullid的长形式。最好只使用nullid的长形式。