ローカルのgitリポジトリをsvnへ

簡単だけどメモ。

$ git svn clone foo@xxx.xxx.xxx.xxx/var/svn/baz-repo/trunk baz-trunk
$ cd baz-trunk
$ git svn rebase
$ git pull /path/to/source/dir/.git

これで一見問題なさそうに思えるんだけど

git svn rebase 

するとコンフリクトがあるよって怒られる。だけど、そのファイルの中身を見るとコンフリクトしてない。なので、

git status
git add (unmergedになっているファイル名)
git rebase --continue

をひたすら繰り返す。中にはunmergedに何も出てない場合もあるけど、その場合は、git rebase --continueすると進みました。


で、そのうちコンフリクトが無くなって、git svn rebaseが終了します。
でも一応心配なので、もう一度 git svn rebaseしてからdcommitします。

$ git svn rebase
Current branch master is up to date.
$ git svn dcommit

これでいい感じに終わると思ってたんですが・・・下手こいてインストールしたやるがあるっぽくてdcommitが失敗します。
なので、元々のgitリポジトリの問題のある箇所のコミットをrevert、add、commitして、もう一回最初からやり直しました。

http://www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manual.html#rewriting-one-commit
を見ると、昔のコミットを編集し直すこともできるっぽいのですが、どうもうまくいきませんでした・・・

残念ながらスナップショットをそのままコミット・・・うーん、いけてない。