【问题标题】:How to view revision history for Mercurial file?如何查看 Mercurial 文件的修订历史记录?
【发布时间】:2010-08-11 14:08:09
【问题描述】:

对于 Mercurial 存储库中的给定文件,您如何查看修订历史记录?

您如何区分文件的两个修订版?

理想情况下,使用可视化工具完成所有这些操作(我们使用 ExamDiff 进行其他一些差异分析)。

我会说这是基本的源代码控制功能,但我似乎不知道如何使用 Mercurial 做到这一点。

【问题讨论】:

    标签: mercurial diff revision


    【解决方案1】:
    hg log file
    
    hg diff -r 10 -r 20 file
    

    【讨论】:

    • 完美.. 也适用于 ExamDiff:hg examdiff -r 10 -r 20 file
    • 搜索关键字而不是确切的文件名也很有用,hg log -k 关键字
    • 这给了我零输出/响应;什么都没有发生。
    • 你从哪里得到“10”和“20”? hg log <file> 显示长的十六进制提交 ID,而不是修订号
    • @matteo 那是 10.5 年前,当时它显示为 id:hashafair
    【解决方案2】:

    hgk extension 为您提供了 hg view file 命令,该命令显示了可视化历史记录,您可以从中区分/vdiff 任意一对修订。

    TortoiseHg 为您提供thg log file 命令,它做同样的事情但看起来更好。

    【讨论】:

    • 非常好!但是'hgtk'现在只是一个包装器,请在linux上使用'thg'
    • hgk 适用于整个修订版,但你如何让它区分单个 文件
    【解决方案3】:

    为了可读性

    hg diff -r revision1:revision2 file
    

    其中版本 1 和版本 2 可以是标签、变更集等。

    【讨论】:

      【解决方案4】:

      如果您使用 TortoiseHg: Windows 用户可以使用 Windows 资源管理器并通过右键单击文件来查看修订历史记录。

      对于 Linux 用户,您可以在 TortoiseHg 中执行此操作,但我花了一段时间才弄清楚如何操作。您需要右键单击所需文件并选择“文件历史记录”。但是,出于某种神秘的原因,该文件需要保持不变。此外,要找到所需的文件,有两个选项:

      ### revision set query### 中可以输入:

      file("**<myfile>")
      

      双 ** 是递归搜索目录所必需的。这会立即为您提供所需文件已更改的所有存储库的列表。

      或者,首先单击### filter text ### 旁边的问号并选择“清理”以查看存储库中的所有文件。然后在### filter text ### 框中,您可以缩小显示的文件数量。

      或者,Linux 用户可以按照上面 Geoffrey Zheng 的建议从终端执行此操作:

      thg log file
      

      【讨论】:

      • 也许这种情况自 2010 年以来发生了变化,但我可以单击 THG 中的修改文件并查看修订历史记录。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-13
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      相关资源
      最近更新 更多