2 つのブランチA
とB
.
これらは同じコードであることを意図していますが、依存するライブラリの異なるバージョンを対象としています。
したがってA/file1.js
、次のようなスニペットが含まれる場合があります。
this.actor.bar();
一方、次のB/file1.js
可能性があります。
// `bar` had its name changed to `foo` in version X.Y of library Z
this.actor.foo();
次にA
、ライブラリの両方のバージョンと互換性がありZ
、B
.
*.bar()
Mercurialに「マージを行いますが、「になる行を無視する」と伝える方法はあります*.foo()
か?
基本的に、ブランチ間で異なるコード ブロックがいくつかありA
、B
それらが依存するライブラリのバージョンが原因で、コードを記述して、それらの行を除いて、コードの残りの部分が同一になるようにしました。
マージするたびにこれらのコード ブロックを処理する必要がないようにしたいだけです。
私が想像できる唯一のことは、各ファイルにカスタムである各ファイルに対して異なる差分プリセットを何らかの方法で作成することdiff --ignore-matching-lines [impressively_long_argument]
です-これは間違った方法のようです!
(git でこれを行うことはできますか? これはバージョン管理システムを切り替える機能ですが、実装方法はわかりません。または、洗練されたdiff
ツールを見つけることが解決策になるかもしれません)。