Mercurialで履歴を一括で書き換える方法


1

多数のコミットをバッチ編集して、作成者とコミットメッセージを自動的に変更します(いくつかの正規表現を適用できれば問題ありません)。

これは履歴の書き換えであり、クローンがある場合に問題を引き起こし、コミットIDを変更することを認識しています。

それを行う最良の方法は何ですか?


これらのコミットの著者名は一意ですか、または歴史のどこかに存在しますか?
レイジーバジャー

@LazyBadgerどちらでも配置できます。
ニクラティオ

回答:


2
  1. 最も簡単な自動化方法:MQ

要するに:

  • qimport -r REV
  • qrefresh(-uユーザー用、コミットメッセージ用-m| -l
  • qfinish + qdelete

(おそらく)変更セットの正しい順序を復元します(DAGでqfinished csetが表示される場所を思い出せません)

  1. 2段階(トリックと制限あり)の方法
    • AuthorをConvert Extension(Mercurial-> Mercurial変換)で書き直します--authormap(一意の作成者が必要です)
    • histeditを使用してコミットメッセージを変更する

1

を使用しhg export -g -o <outfile>outfile好きなツールで処理し、で再インポートしhg import <outfile>ます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.