1

プログラムのソース スクリプト ファイルを処理する SCM として Mercurial を使用しています。私たちが管理する各プロジェクトには、約 5000 個のファイルがあり、各ファイルには、ファイル自体に関する製品固有の情報 (バージョン リスト、日付、時刻など) を含むセクションが含まれています。このセクションは、構造上、マージの 80% に含まれており、競合が発生する唯一のセクションです。それらは簡単に解決できますが、約 300 個のファイルをマージすると、面倒になります。

問題は、このセクションの記述方法を制御できず、セクション自体の形式を変更できないことです。ファイルがプログラムで使用できなくなるためです。

私の質問: Mercurial (フック?) に方法はありますか?

  1. スクリプトでファイルを前処理する
  2. Mercurial にマージさせます
  3. 正しくマージされた場合: スクリプトを使用してファイルを後処理します。それ以外の場合: いつものように "resolve-conflicts"。
4

1 に答える 1

1

カスタムマージツールを作成することで、おそらくそれを回避できます。

https://www.mercurial-scm.org/wiki/MergeToolConfiguration

常に変化するセクションを削除した後に「diff」を呼び出す単純なスクリプトで十分かもしれません。

これらのセクションは、(推奨されない)KeywordsExtension が処理するように構築されているようなナンセンスのように思えますが、それらについてはあまり柔軟性がないと思います。

于 2013-11-06T02:17:15.753 に答える