在mercurial存储库中查找可能的基本修订

在mercurial存储库中查找可能的基本修订,mercurial,diff,Mercurial,Diff,我收到了一些作为tar存档的代码(没有.hg目录)。我知道该代码基于哪个存储库,但不知道这些修改使用了哪个版本。有没有什么方法可以通过查看文件来找到答案?这与类似,但我无法联系到代码的作者,因此我无法控制如何从存储库中提取文件。我还在这里处理修改过的文件,这样与基本版本的差异就不会是空的 我的后备计划是循环所有修订并使用差异最小的修订,但我仍然希望有更好的解决方案。没有自动化的方法,但您可以通过使用hg bisect--command diff…命令来减少时间 作为一个提示,如果你(我知道可能不

我收到了一些作为tar存档的代码(没有
.hg
目录)。我知道该代码基于哪个存储库,但不知道这些修改使用了哪个版本。有没有什么方法可以通过查看文件来找到答案?这与类似,但我无法联系到代码的作者,因此我无法控制如何从存储库中提取文件。我还在这里处理修改过的文件,这样与基本版本的差异就不会是空的


我的后备计划是循环所有修订并使用差异最小的修订,但我仍然希望有更好的解决方案。

没有自动化的方法,但您可以通过使用
hg bisect--command diff…
命令来减少时间


作为一个提示,如果你(我知道可能不是)必须再次给某人一个快照,请使用
hg archive
创建快照。它包括一个
.hg_archive.txt
文件,其中包含版本信息,如果您必须再次执行此操作,该文件将有所帮助。

没有更好的解决方案。您只能尝试一次区分单个文件,使用diff | wc-l对每个文件进行二等分不会有任何帮助(这是罪过),因为使用diff您不会得到单个“坏-好”更改,但只有“坏-好-坏”是的,您不会得到好/坏,但是如果您输出每个版本的修订和差异行数,然后返回'bad',它将为您完成所有修订,然后您可以只查找最低的修订。