我确实有一个不寻常的情况,因为我必须将svn服务器从svn-server 1.6迁移到svn-server 1.5。问题是没有降级工具可用。有没有人知道某些脚本或者是否已经降级了svn存储库?
干杯,
凯文
答案 0 :(得分:6)
除了Wim的建议svnsync之外,另一个选项是完全转储/重新加载;使用Subversion 1.6 svnadmin转储例如。
svnadmin dump --incremental --deltas > dump_file
然后使用1.5工具将其重新加载到一个干净的存储库
svnadmin create repository_15
svnadmin load repository_15 < dump_file
然后,您必须将旧存储库中的挂钩复制到新存储库中,如果您使用该存储库,则运行svnadmin pack
。
答案 1 :(得分:5)
您可以使用svnsync
将内容从一个存储库移动到另一个存储库。
通常svnsync
旨在使只读镜像保持最新状态,但我相信它也适用于一次性迁移。它还具有纯粹作为SVN客户端工作的优势,因此您无需在服务器上进行管理访问。
答案 2 :(得分:5)
从subversion 1.8开始,可以在不切换工具的情况下创建兼容的存储库。
使用svnadmin dump
或svnrdump
为远程存储库提取现有subversion存储库的内容:
svnadmin dump --incremental --deltas /path/to/local/repository > /tmp/repository.dump
使用svnadmin
创建一个新的1.5兼容存储库并加载以前转储的内容:
svnadmin create --compatible-version 1.5 /path/to/local/repository_15
svnadmin load /path/to/local/repository_15 < /tmp/repository.dump
挂钩和其他存储库设置不会被转移,需要手动设置。
Subversion 1.7支持使用the deprecated --pre-1.6-compatible
标志创建兼容存储库的功能。