如何在 Mercurial 中批量重写历史记录

如何在 Mercurial 中批量重写历史记录

我想批量编辑一些提交以自动修改作者和提交消息(能够应用一些正则表达式就可以了)。

我知道这是在重写历史,如果有克隆就会引起麻烦,并且会改变提交 ID。

最好的方法是什么?

答案1

  1. 最容易自动化的方式:消息队列

简而言之:

  • qimport -r REV
  • qrefresh (-u针对用户,-m|-l针对提交消息)
  • qfinish+qdelete

(可能)恢复变更集的正确顺序(不记得 qfinished cset 会出现在 DAG 中的什么位置)

  1. 两步法(有技巧和限制)

答案2

使用hg export -g -o <outfile>outfile用您喜欢的任何工具进行处理,然后用重新导入hg import <outfile>

相关内容