注: ここで説明するシナリオは、Stack Overflow: Completely manual Mercurial mergeでは回答されていません。
私の質問を例で説明します。車を設計するために Mercurial リポジトリを開始するとします。
C:\Car$ dir
Car.cpp
Car.h
私はかなり長い間 Car の設計に取り組んでおり、リポジトリは次のようになっています。
r0-r1-...-r100-(default)
ある時点で、デフォルトをSolarCarBranchに分岐して、太陽光発電の自動車を並行して処理します。
C:\SolarCar$ dir
Car.cpp
Car.h
Solar.cpp
Solar.h
しばらくすると、リポジトリは次のようになります。
r0-r1-...-r100-...-r200-(default)
\--r101-...-r201-(SolarCarBranch)
SolarCarBranchをデフォルトにマージするにはどうすればよいですか?
私が望むマージでは、次の複雑さに注意してください。
- マージ後、defaultとSolarCarBranchの両方で作業を続行できるはずです。
- SolarCarBranch
Car.cpp
内およびCar.h
内に、defaultに取り込みたい燃料効率の修正がある可能性がありますが、それらのファイルのすべての変更は必要ありません。したがって、マージ中にデフォルトに含めたい変更をチェリーピックしたいと思います(手動マージとも呼ばれます)。 - デフォルトでは表示されたくありません。世界はまだソーラーカーの準備ができていないかもしれません。;-)
Solar.cpp
Solar.h
私が学んだこと:
- これは
hg merge SolarCarBranch
- これは
kdiff3.premerge=False
、Mercurial.ini
- 許可を求めずに
premerge=False
マージ/コピーSolar.cpp
しSolar.h
てデフォルトにするため、これを達成する方法がわかりません。