【发布时间】:2010-08-11 14:08:09
【问题描述】:
对于 Mercurial 存储库中的给定文件,您如何查看修订历史记录?
您如何区分文件的两个修订版?
理想情况下,使用可视化工具完成所有这些操作(我们使用 ExamDiff 进行其他一些差异分析)。
我会说这是基本的源代码控制功能,但我似乎不知道如何使用 Mercurial 做到这一点。
【问题讨论】:
对于 Mercurial 存储库中的给定文件,您如何查看修订历史记录?
您如何区分文件的两个修订版?
理想情况下,使用可视化工具完成所有这些操作(我们使用 ExamDiff 进行其他一些差异分析)。
我会说这是基本的源代码控制功能,但我似乎不知道如何使用 Mercurial 做到这一点。
【问题讨论】:
hg log file
hg diff -r 10 -r 20 file
【讨论】:
hg examdiff -r 10 -r 20 file
hg log <file> 显示长的十六进制提交 ID,而不是修订号
id:hashafair
hgk extension 为您提供了 hg view file 命令,该命令显示了可视化历史记录,您可以从中区分/vdiff 任意一对修订。
TortoiseHg 为您提供thg log file 命令,它做同样的事情但看起来更好。
【讨论】:
为了可读性
hg diff -r revision1:revision2 file
其中版本 1 和版本 2 可以是标签、变更集等。
【讨论】:
如果您使用 TortoiseHg: Windows 用户可以使用 Windows 资源管理器并通过右键单击文件来查看修订历史记录。
对于 Linux 用户,您可以在 TortoiseHg 中执行此操作,但我花了一段时间才弄清楚如何操作。您需要右键单击所需文件并选择“文件历史记录”。但是,出于某种神秘的原因,该文件需要保持不变。此外,要找到所需的文件,有两个选项:
在### revision set query### 中可以输入:
file("**<myfile>")
双 ** 是递归搜索目录所必需的。这会立即为您提供所需文件已更改的所有存储库的列表。
或者,首先单击### filter text ### 旁边的问号并选择“清理”以查看存储库中的所有文件。然后在### filter text ### 框中,您可以缩小显示的文件数量。
或者,Linux 用户可以按照上面 Geoffrey Zheng 的建议从终端执行此操作:
thg log file
【讨论】: