为什么mercurial日志结果隐藏在后面--当文件被删除时被删除';没有被移除?

为什么mercurial日志结果隐藏在后面--当文件被删除时被删除';没有被移除?,mercurial,Mercurial,我在Mercurial遇到了一个奇怪的情况,一些提交没有出现在hg logresults或TortoiseHG文件历史记录中。下面是一些简化的细节 在命令行中,如果我键入hglogfile.txt,就会显示8个提交。最近对此分支上的文件所做的更改未显示。此分支上的更改是来自另一个分支的一些压缩提交范围的结果,但没有文件删除 如果我键入hglog--removed file.txt,我希望看到的所有提交都在那里 对于记录,键入hglog-r“removes(file.txt)”不会显示任何内容,这

我在Mercurial遇到了一个奇怪的情况,一些提交没有出现在
hg log
results或TortoiseHG文件历史记录中。下面是一些简化的细节

在命令行中,如果我键入
hglogfile.txt
,就会显示8个提交。最近对此分支上的文件所做的更改未显示。此分支上的更改是来自另一个分支的一些压缩提交范围的结果,但没有文件删除

如果我键入
hglog--removed file.txt
,我希望看到的所有提交都在那里

对于记录,键入
hglog-r“removes(file.txt)”
不会显示任何内容,这并不奇怪,因为该文件从未被删除过

我的同事在回顾他们的历史时也看到了同样的问题。这些更改在共享存储库中是公共的

有人知道是什么导致了这一切吗

完全公开:从另一个分支移植的更改被压缩到原始分支上,弹出到修补程序队列中,并重新应用到新分支上。我认为这无关紧要。而且,可能是不相关的,这些相同的提交通过嫁接被移植到不同的分支。有趣的是,移植提交确实会显示在提交日志中,但没有删除原始提交

  • Mercurial 3.9.2
  • 乌龟4.6.1
  • 视窗10
    • 文档(
      hg log--help
      )中说:

      出于性能原因,“hg日志文件”可能会忽略重复的更改
      在分支上,将不显示删除或模式更改。看到所有这些
      更改时,请使用--removed开关。
      


      由于您对文件所做的更改是压缩提交的结果(顺便问一下,您是如何压缩它们的?),因此此启发式方法可能忽略了这些更改。

      谢谢,也许这就解释了这一点。挤压是用乌龟的“压缩历史”完成的。