我一直在桌面PC上使用Tortoise SVN(和VisualSVN)和本地存储库几个月 . 我们刚刚 Build 了一个Linux SVN服务器,我想将我的存储库移动到这个服务器,保留我的所有历史记录 . 一旦移动,我将停止使用本地存储库 .
Tortoise文档建议使用“Relocate ...”命令,但这会抱怨UUID不匹配 . 我找到了一些关于如何编辑UUID文件以使其与服务器匹配的建议,但Tortoise忽略了新值,即使重启后也是如此 .
此外,我目前没有Linux服务器的命令行访问权限,但如果必须,可能会获得它 .
最好的方法是什么?
4 回答
你需要
svnadmin dump
你的本地存储库,把那个转储文件放到Linux机器上,然后在那里svnadmin load
.完成上述操作后,
Relocate
将用于您的工作副本 .Here's the documentation.
您最好的选择是阅读红 beans 书中Migrating a repository的部分
如果您使用FSFS-repository后端(这是svn 1.3以来的标准),您只需将整个存储库目录(例如,通过SCP)文件复制到LINUX服务器 . 然后重定位应该没有问题,因为它实际上是相同的存储库 .
FSFS repo格式与平台兼容(请检查linux svn版本是否与visualSVN版本相同或更高)
我经常这样做,它确实有效(当然,在复制回购之前停止提交要好得多)
我刚试过以下内容(作为对绝望的回应):
存储库是使用TortoiseSVN创建的,另一方面没有运行SVN(只有共享资源) . 所以,我安装了新的SVN服务器并使用它的二进制文件来运行
其中server_ip是创建存储库的服务器的ip . 它奏效了!只需要共享文件夹的权限(在我的情况下,我在Active Directory中有一个用户登录旧的存储库服务器和新的存储库服务器) .
只是猜测这个信息可以帮助像我这样的人正在大量迁移糟糕的设置 .