08/12/19 13:24:08
今、所謂cherry-picking(他所branchのchangesetをつまみ食い)について
調べてるんだけど、現状はこんな感じで間違いない?
Mercurialでは、下のURLの"import/export"の章に書いてあるように、
patchファイルを作って適用するとマージ元ログがそのまま入るけど
IDが元と変わってしまうし、メタ情報(どっから持ってきたかとか)が
失われるので二重マージも防げない。
URLリンク(www.selenic.com)
transplant拡張を使うと二重マージは防げるようになるけど、
メタ情報はtransplant専用ファイルに記録されてるだけで、
Mercurial公式のfirst-classメタデータとは言えない。IDも元と変わってしまう。
com.selenic.mercurialで紹介されてるmerge+backout("cherry-winnowing")の
方法を使うと、IDは保存されるし二重マージも防げるけど、ややこしくて、
ログを見ると流れが複雑すぎて頭が混乱してくる。
Bazaarでは下のURLに書いてある通り簡単に操作出来るけど、メタ情報の無い
普通のコミットと同じ扱いになるので、二重マージを防いだりマージ元ログを
引用させたり出来ない。
URLリンク(doc.bazaar-vcs.org)
darcsだとうまくいくらしい?