Mercurial: 查看最近一次提交的修改的简易方法

66
在Mercurial中,我可以通过运行以下命令来查看当前的(未提交的)更改:
$ hg diff

好的。但在提交后,有时我想再次查看此差异(即最后一个变更集的差异)。我知道可以通过

实现此目的。


$ hg log -l 1
changeset:    1234
tag ...

$ hg diff -c 1234

我正在寻找一种只需一行代码就能实现这个的方法。

4个回答

80

使用hg diff -c tip,或者hg tip -p(更短,但仅适用于tip)。

在您拉取某些东西之前,这将起作用,因为 tip 是指存储库中最近的修订版本的别名,可以通过本地提交或从远程存储库拉/推来实现。


2
谢谢,这就是我一直在寻找的。实际上应该是 -c tip 而不是 -r tip,但关键点是 tip 的别名。 - claasz
1
@claasz:很高兴能帮到你,感谢你的提示。我已经更新了我的答案,加入了正确的选项。 - Macke
1
有一个方便的快捷方式,即hg tip -p,但它与此相同,并且此处给出的解决方案适用于任何修订版。 - anton.burger

16

8

另一种选择是使用:hg diff --rev -2:-1

这种形式的优点在于它可以与status命令一起使用(例如:hg st --rev -2:-1),并且使用它可以轻松记住需要确定其他修订对之间差异时要做什么(例如:hg diff --rev 0:tip)。


这种语法叫什么名字?我想了解更多相关信息。更好的是,当我需要时,我希望能够在命令行中打开帮助或手册页面,因为我很少需要它并且经常忘记这个语法,但我不知道该搜索什么。 - islijepcevic
1
@islijepcevic - 你可以称之为一个revset区间。谷歌搜索:hg修订语法。 - peak

5

Macke的答案很有帮助,但在我的情况下,我不想diff提醒。

幸运的是,你也可以只diff当前选定的评论:

hg diff -c .

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接