查看一个文件上两个变更集之间的差异

时间:2010-11-11 12:28:49

标签: mercurial

我在Mercurial中跟踪了一个文件。我可以通过hg log查看其历史记录。如何查看最新版本与最后一个签入的变更集之间的差异?

3 个答案:

答案 0 :(得分:60)

hg diff -r <first_revision_number>:<other_revision_number> filename

将会这样做

例如hg diff -r 0:1 default.aspx

希望有所帮助

答案 1 :(得分:41)

如果您知道修订号,那么PaulStack所说的是正确的。

如果您明确想知道分支的当前提示与之前的提示之间的区别,则可以使用快捷方式。当然,如果文件没有改变,差异将不会显示任何有用的东西。

hg diff -r -1:. filename

-1表示此分支上的上一个变更集。 '.'表示当前的变更集。您可以使用-2-3等,但是一旦达到合并点,它就会变得更有趣。 (参考:http://hgtip.com/tips/beginner/2009-10-05-shortcuts-for-specifying-revisions/

如果您想要的是工作区中的突出变化,那么它只是hg diff filename。

HG新手的一些有用的地方是http://hgtip.com

http://hgbook.red-bean.com/的HG权威指南。

类似于HG特定的站点的堆栈溢出是Kiln支持站点。 http://kiln.stackexchange.com。 Kiln建立在HG之上,并使用经过修改的TortoiseHG客户端,因此大多数问题和答案都提供了丰富的信息。即使您不是用户,他们也会回答问题。

答案 2 :(得分:0)

父版本还有de user.roles.destroy(Role.find(1)) # assuming Role.find(1) == role1 user.roles << Role.find(3) # assuming Role.find(3) == role3 语法,除了^(工作目录的父级)之外,还有一个有用的组合:

显示当前签出的修订版与其父版本之间的差异(这适用于.tip限制)

-1