查找解释两个变更集之间差异的所有日志消息



我想找出两个可变版本之间的所有差异。我主要想查看差异的历史(即变更集日志消息),而不是文件中更改内容的内部详细信息。

示例:比较修订版105106

   /---101---103---105 
100         
   ---102---104---106

这里,修订版106包括105没有的变更集106104和102,而105又包括106没有的103和105。我怎样才能轻易地得到这份清单;理想情况下也要考虑移植物?

以下修订集查询几乎有效:

(ancestors(105) - ancestors(106)) + (ancestors(106) - ancestors(105))

然而,这是一个相当长的问题,似乎是一个非常常见的问题:为什么这个分支与我的本地版本不同我还认为它没有考虑到移植,不幸的是,它包括了诸如合并之类的不感兴趣的变更集。

包含git等价物的奖励积分。

编辑:我想要这样做的原因是向人类解释这些版本的不同之处。我有一个复杂的源代码树,我需要能够告诉人们X版本包括功能a&B和错误修复程序P,但版本Y包括功能C&D和错误修复程序Q,并且它们在其他方面是相同的。

如果我回到我的例子:合并本身并不有趣(所以在上面的104例子中也不有趣),但合并所包含的变更集非常有趣,即101和102。合并将许多更改合并为一个缺少合理日志信息的更改集。特别是,如果我只找到最近的祖先,我会找到101,然后看起来102不是特别感兴趣。就实际应用的补丁而言,这些信息是完整的——我不需要查看合并变更集104是如何构建的,只需要查看结果。但是,如果我想知道为什么包含这些更改,我需要来自102的日志消息。

Hrm,我还没有测试过,但会:

ancestor(X,Y)::X + ancestor(X,Y)::Y

给你同样的清单。我认为它会,而且可能会更快。

相关内容

  • 没有找到相关文章

最新更新