我正在使用此文件,我遇到了一段代码,我认为这段代码在历史的某个时刻发生了变化,我想知道它在哪里发生了变化。
这是一个非常大的文件,有很多历史,所以当我使用hg diff时,我会得到一个庞大的列表,我认为搜索它并不是很有效。
如果我可以查看文件的旧版本,看看文件在某个特定时间点的样子,那将非常简洁。然后我可以看到代码是如何工作的,所以我可以总结出bug是如何演变的。当然,我想在不更新文件的情况下执行此操作,因为我目前正在使用它并对其进行了更改。
那么,有没有什么方法可以在不更新文件的情况下查看文件的历史记录?
答案 0 :(得分:2)
有一些工具可以帮助您:
要获取文件的历史记录,您可以使用hg log FILE
这可能是最好的起点。
您还可以使用hg annotate FILE
列出文件中的每一行,并说明哪个版本更改为当前版本。它还可以使用--rev REV
命令尾修改该文件的旧版本。
要仅列出给定修订版本的文件内容,您可以使用hg cat FILE --rev REV
。
如果使用这些工具难以追踪错误,您可以将存储库克隆到其他位置并使用hg bisect
来跟踪它。
答案 1 :(得分:0)
hg bisect可让您找到引发问题的变更集。要开始搜索,请运行hg bisect --reset
命令。这是 Mercurial:The Definitive Guide 中的文档。