TortoiseHG+hgsubversionでのsvnのbranchのmerge
概略
hgsubversionではhg mergeしてできたmerge済みrevisionをpushすることはできない。
hg mergeしたら
- merge前revisionにhg update
- merge済みrevisionでrevert
- hg commit
とやって同内容の非merge revisionを作ってそれをpushすれば良い。
せつめー
黄色のbranchから黒のdefaultにmergeするとする。
まず、TortoiseHGで普通にmergeする。
確認ダイアログでlocal:default,other:branchとなっているようにすること
merge直後の状態はこのようになる。
hgsubversionではhg mergeしてできたmerge revisionをpushすることはできないので、
defaultのmerge直前revisionにhg updateし、
merge revisionでrevertして、commitすると、
merge revisionで有るか無いかという点のみ違うchangesetができる。
hg di -r 637f0772fb82:b93d1b75e858
等してこれらの間に差異がないことを確認
hg outgoingすると、"merge結果の内容を持った非merge changeset"が対象として、出るので、push to hereしてやる。