なんのこともないSVNのbranchをSVNの履歴がついた状態で、
Gitのmasterに移行したお話。備忘録です。
背景
SVNでbranch運用していたプロジェクトをGitのmasterに移行したかった。
どうすべきか探ったところ、
git svn clone [-s] -T {trunk} -b {branches} -t {tags}
みたいにすりゃいいよ、ってことだったんですが、そもそもがbranch運用だったために悩む。
で、結局…。
branchをtrunk扱いした
$ git svn clone -T branches/{$BRANCH} https://{$SVN_REPO}/
長いこと待つ。
途中で止まったら
$ git svn fetch
で継続。HEAD REVISIONがYEAH!!みたいなログが出てきたら終わり。
$ git branch
でちゃんとtrunkのようにふるまってることを確認して、
あとはいつも通り
$ git remote add origin https://{$GIT_REPO}.git
して
$ git push -u origin master
する。
開発用のごちゃごちゃしたbranchの移行なので、
revertやmergeしてたりするとどうなるかの検証はしてません。
なにか「もっといい方法があるよ!」「そこ間違ってるよ!」みたいなのあったら
ガンガンご指摘ください!