我经常回顾一些可能已经提交了大量提交的问题,其中很多都是非连续的。在许多情况下,错误后来得到纠正,我宁愿在第一次检查时看到最终的修正版本。
在我开始寻找的那一刻,“重写历史”已经“已经太晚了”;一切都已被推入世界(通常是由我以外的其他人)。
我正在寻找的是一种方法来查看多个非连续提交的联合差异;然后我可以选择实际包括将全局历史中的差异作为相同结论的替代路径(更直接但更不真实的历史),或者仅将diff用作本地参考。
Mercurial是否有内置(或其他)工具可用于此?
答案 0 :(得分:1)
到目前为止,这是我自己的答案;我仍然非常愿意接受“真正的解决方案”:
作为伪命令行,假设有趣的提交interesting-0
.. interesting-n
:
hg up interesting-0^
hg export interesting-0 > /tmp/interesting-0
vi /tmp/interesting-0
hg import /tmp/interesting-0
hg id -r tip # this allows us to identify the new hash of the 'base for collapsing'
hg graft interesting-1
# ...
hg graft interesting-n
hg collapse -r base-for-collapsing:tip
# clean up the commit message in your editor.
# either merge & push; or throw the result away after inspection