2009-08-19 14 views
0

私はミラーや地元の人などでいっぱいのsvkレポを持っています。私はそれを取り除き、何を残すべきかを評価しようとしているので、私はステップでそれをきれいにしました。そこには私が作業を続けたいプロジェクトが1つしかないので、それをgitに移行したいので、svkをうまくやることができます。履歴を使用してsvkリポジトリをgitに移行するにはどうすればよいですか?

//local/fooにあり、svnリポジトリはありません。

私がやりたかったことは、ローカルの空のsvnリポジトリを作成し、svkからその変更をプッシュしてからgit svnを使用してクローンを作成することです。

私は最後に使用してからずっとずっとでしたsvk私はもはやそれについてどう考えても考えていません。

1人のSVKのユーザーが私の道を指すようにとても親切だろう場合

...

Thisはほとんど有用であるが、それは、それだけで単一のコミットんSVNに歴史をコミットしません。

答えて

1

[OK]を、私はそれを考え出した:これで終わりです

# create a local svn repo 
cd $HOME/src/svk 
svnadmin create foosvn 

# mirror that in svk 
svk mirror file://$HOME/src/svk/foosvn //mirror/foosvn 
svk sync //mirror/foosvn 

# finally, merge your local svk path into the new svn repo 
svk smerge --incremental --baseless //local/foo //mirror/foosvn 

# Just to be sure things migrated properly: 
svn log file://$HOME/src/svk/foosvn 

# Now, from svn to git 
git svn clone file://$HOME/src/svk/foosvn foogit 

# Again, just to be sure things migrated properly: 
cd foogit 
git log --pretty=oneline --abbrev-commit 

を。それから私は少しきれいにしました:

mv $HOME/src/svk/foogit $HOME/src/foo.git 
rm -rf mv $HOME/src/svk 
# This gets rid of your entire svk existence. 
# Be very sure you really want to do this. 
rm -rf $HOME/.svk