→ドキュメントやmysqldumpなんかが含まれた巨大な myproject リポジトリができる
Using higher level of URL: W: Ignoring error from SVN, path probably does not exist: (175002): RA layer request failed: REPORT of '/svn/myproject
このようなエラーが出て、clone できない。
まずはそのまま clone してくる。
git svn clone -s --prefix svn/ http://my-svn-server/svn/myproject/ myproject cd myproject git svn create-ignore git commit -m 'add gitignore'
一旦ここで、ローカルリポジトリの全コピーを取っておく
cd .. cp -r myproject myproject_work cd myproject_work
git filter-branch でソースコードのコミットのみにする!
git filter-branch --subdirectory-filter source HEAD
不要なディレクトリを消しておく (やらなくても大丈夫だけど)
rm -rf my-documents rm -rf my-mysqldumps
リポジトリ完成。pushする
git remote add origin my-remote-repo git push origin master
SVNリポジトリに更新が入った場合 SVNリポジトリが更新された場合は、filter-branch する前のリポジトリで git svn rebase し、 後は同じようにすれば変更をgitリポジトリに取り込める。
cd .. rm -rf myproject_work cd myproject git svn rebase cd .. cp -r myproject myproject_work cd myproject_work git filter-branch --subdirectory-filter source HEAD rm -rf my-documents rm -rf my-mysqldumps git remote add origin my-remote-repo git pull origin master git push origin master
コメント