hg命令在hg fetch之前查看变更集

Mar*_*eon 4 mercurial

你可以用什么mercurial命令在变更集xyz之前查看变更集?

如果您这样做,hg log -r :xyz您会看到xyz之前(包括)xyz之前的所有变更集 - 按升序排列.但是我想很容易地看到之前的变更集.


更新:我真正想要的是:如果我这样做hg fetch,我可以使用什么命令来查看fetch中引入的更改集之前的变更集?

hg log -r :xyz 其中xyz是fetch工作所引入的第一个变更集,但它返回了我最想要的最新变更集的整个列表.

Ry4*_*ase 7

你不能这样做.一旦你完成了拉动(并且fetch只是拉动+更新或合并),就没有记录你在拉动之前所拥有的东西以及你从拉动中得到的东西.

你应该先做hg incoming一下,看看你会得到什么.

另外,停止使用fetch.拉动和更新以及合并的行为是完全独立的,并且在单个命令中执行这些操作会提供不充分的错误报告并且只是混淆了事情.默认情况下禁用该命令,并且有关于完全删除它的说法.合并编码,不应该隐藏.

展开以展示您无法覆盖的案例

如果在获取历史记录之前是这样的:

[A]-[B]-[C]
Run Code Online (Sandbox Code Playgroud)

和你(反对所有建议)fetch并让[D]你现在拥有:

[A]-[B]-[C]-[D]
Run Code Online (Sandbox Code Playgroud)

你可以看到确切的新功能:

hg diff -r tip-1
Run Code Online (Sandbox Code Playgroud)

或者:

hg diff -r "parent(tip)"
Run Code Online (Sandbox Code Playgroud)

但如果再次用A,B,C重新开始,你会获取并得到D,E产生这样:

[A]-[B]-[C]-[D]-[E]
Run Code Online (Sandbox Code Playgroud)

没有命令你可以运行,看看"改变了什么",而没有事先写下[C]便条纸.

另一方面,如果您的回购开始时看起来像这样:

[A]-[B]
  \
   -[C]
Run Code Online (Sandbox Code Playgroud)

在获取之后你有这个:

[A]-[B]-[D]
  \
   -[C]-[E]
Run Code Online (Sandbox Code Playgroud)

没有一个命令可以告诉你"改变了什么".同样,如果在拉回你的回购之前看起来像这样:

[A]-[B]-[C]
Run Code Online (Sandbox Code Playgroud)

在获取之后你得到了这个:

[A]-[B]-[C]-[E]-[F]
  \            /
   -[D]-------/
Run Code Online (Sandbox Code Playgroud)

在那里创建[F]了新的不明智的自动合并变更集获取命令:

hg diff -r C
Run Code Online (Sandbox Code Playgroud)

会告诉你什么是新的,但没有办法在没有事先写下来的情况下查找'C'.