git-svn で svn の mergeinfo を残す
svn リポジトリのマージを git-svn で普通にやったところ mergeinfo がのってなくて
別のところで svn merge しようとしたときに現チーム三大奇祭のひとつ、
大衝突祭りが盛大に行われてしまった
あと2つは大コミット祭りと大補填対応祭り
git-svn から mergeinfo を載せる方法を調べたら意外と難しかったのでメモってみる
要点は2つ
- git のマージは対応するリモートリポジトリ情報も上書きしてしまうっぽい
- git rebase(というかFastFoward)はマージではない。ので mergeinfo は出てこない
4. の時に rebase など FastForward しちゃうと、
変更を追加した(=マージではない)ということで mergeinfo は吐かれない模様
git 上でも別ツリーの変更がマージされた歴史になってないといけないみたい
git の思想を理解してればなんてことはないのかもしれないけど、なかなか難しい><
参考