首先,您不需要 : 在您的 svn+ssh:// URL 上的 user@cluster 之后。
其次,您不能使用 import 从一个存储库复制到另一个存储库。
我推荐 svnrdump 或 svnsync 来完成这个任务。
要使用 svnsync,您需要执行以下操作:
svnadmin create repo
echo '#!/bin/sh' > repo/hooks/pre-revprop-change
echo 'exit 0' >> repo/hooks/pre-revprop-change
chmod a+x repo/hooks/pre-revprop-change
svnsync init file://`pwd`/repo svn+ssh://user@cluster/path/to/repo
svnsync sync file://`pwd`/repo
或者使用 svnrdump:
svnadmin create repo
svnrdump svn+ssh://user@cluster/path/to/repo | svnadmin load repo
如果您想继续在本地保留存储库的镜像,svnsync 可能是最好的方法,因为您以后可以运行同步命令来更新存储库以匹配另一端。请注意,向本地存储库提交其他更改将破坏继续执行此操作的能力。您可以在此处阅读有关 svnsync 的更多信息:http:
//svnbook.red-bean.com/en/1.7/svn.reposadmin.maint.html#svn.reposadmin.maint.replication
svnsync 方向假定一个 unix 环境。如果您在 Windows 上,您可能需要用 bat 文件替换有关 pre-revprop-change 挂钩的部分。您可以在这里找到一些详细信息:
什么是 SVN 中的 pre-revprop-change 挂钩,以及如何创建它?
如果您只想分叉存储库并在本地单独处理它,svnrdump 可能会更好。您可以在此处阅读有关 svnrdump 的更多信息:http:
//svnbook.red-bean.com/en/1.7/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate.svnrdump
理想情况下,我们会更好地支持跨存储库合并,这可能更符合您实际寻找的内容,但我没有一个好的解决方案。有一种相当可怕的方法来做供应商分支:
http ://svnbook.red-bean.com/en/1.7/svn.advanced.vendorbr.html