Svn 如何将svk存储库迁移到git,以及历史记录?

Svn 如何将svk存储库迁移到git,以及历史记录?,svn,git,migration,git-svn,svk,Svn,Git,Migration,Git Svn,Svk,我有一个svk回购协议,里面满是镜子和当地人等等,我一步一步地把它清理干净,因为我正试图摆脱它,并评估应该留下什么。那里只有一个项目我想继续工作,为此我想把它迁移到git,这样我就可以永远用svk完成 它位于//local/foo中,没有svn存储库 因此,我想我要做的是创建一个本地空svn存储库,并将更改从svk推送到它,然后使用git svn克隆它 但是我已经很久没有使用svk了,我已经不知道该怎么做了 如果有一位svk用户愿意为我指路 这几乎很有帮助,但它不会将历史记录提交给svn,它只执

我有一个svk回购协议,里面满是镜子和当地人等等,我一步一步地把它清理干净,因为我正试图摆脱它,并评估应该留下什么。那里只有一个项目我想继续工作,为此我想把它迁移到git,这样我就可以永远用svk完成

它位于
//local/foo
中,没有svn存储库

因此,我想我要做的是创建一个本地空svn存储库,并将更改从svk推送到它,然后使用
git svn
克隆它

但是我已经很久没有使用svk了,我已经不知道该怎么做了

如果有一位svk用户愿意为我指路

这几乎很有帮助,但它不会将历史记录提交给svn,它只执行一次提交。

好的,我想出来了:

# 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