0

我有一个 svk 存储库,里面装满了镜子和本地人等,我分步清理它,因为我试图摆脱它,并评估应该保留的内容。那里只有一个项目我想继续工作,为此我想将它迁移到 git,这样我就可以永远使用 svk。

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

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

但是自从我上次使用以来已经很久了,我svk不再知道如何去做。

如果有 svk 用户好心给我指路……</p>

几乎很有帮助,但它不会向 svn 提交历史记录,它只是进行一次提交。

4

1 回答 1

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
于 2009-08-19T20:15:53.250 回答