我有一个充满镜子和当地人等的svk仓库,我分步清理它,因为我试图摆脱它,并评估应该留下什么。那里只有一个我想继续工作的项目,为此我想将它迁移到git所以我可以用svk完成。
它位于//local/foo
,它没有svn存储库。
所以,我认为我想要做的是创建一个本地空的svn存储库并将更改从svk推送到它,然后使用git svn
来克隆它。
但是自从我上次使用svk
以来已经很久了,我已经不知道如何去做了。
如果一个svk用户非常友好地指出了我的方式......
This几乎是有用的,但是它没有为svn提交历史记录,它只进行一次提交。
答案 0 :(得分:1)
好的,我明白了:
# 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