Mercurial:查看上次提交更改的简单方法

在Mercurial中,我可以通过运行来查看当前的(未提交的)更改

$ hg diff 

精细。 但是在提交之后,我有时想再次看到这个差异(即最后一个变更集的差异)。 我知道我可以通过

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

我正在寻找一种方法来做到这一点。

使用hg diff -c tiphg tip -p (较短,但仅适用于tip)。

这将起作用,直到你拉出一些东西,因为tip是最近修订版本的别名,通过本地提交或从远程存储库的pull / push中出现在repo中。

您可以使用--change选项的相对版本号:

 hg diff -c -1 

有关更多信息,请参阅https://stackoverflow.com/a/3547662/239247

另一种方法是使用: hg diff --rev -2:-1

这种forms的优点是可以和status命令一起使用(例如hg st --rev -2:-1 ),使用它可以很容易地记住当需要确定其他版本对之间的差异时要做什么(例如hg diff --rev 0:tip )。