2009-11-11 97 views
6

我已经在桌面PC上使用了Tortoise SVN(和VisualSVN)和本地存储库几个月。我们刚刚建立了一台Linux SVN服务器,并且我想将我的存储库移到这台服务器上,保存我的所有历史记录。一旦移动,我将停止使用本地存储库。如何将我的本地Tortoise SVN存储库移动到我们新的Linux SVN服务器上?

乌龟文档建议使用“Relocate ...”命令,但是这会抱怨不匹配的UUID。我发现了一些关于如何编辑UUID文件以使其与服务器匹配的建议,但即使在重启后,Tortoise也忽略了新值。

此外,我目前没有Linux服务器的命令行访问权限,但如果必须的话,可能会得到它。

这样做的最好方法是什么?

回答

9

您需要svnadmin dump本地资源库,获取转储文件到Linux机器,和svnadmin load它。

Relocate在上述操作完成后,将用于您的工作副本。

Here's the documentation.

+0

svnadmin转储工作正常 - 谢谢!但是,Relocate仍然抱怨UUID不匹配。此外,VisualSVN坚持引用旧的本地存储库。经过一段时间后,我重新命名了所有的工作副本,然后将新的检出项目更新为新的工作目录。当我确认所有东西都已建成并运行良好时,我删除了旧的工作副本。 – 2009-11-12 22:51:57

2

如果使用FSFS版本库的后端(这是标准的,因为SVN 1.3),你只需文件复制整个资料库目录(例如,通过SCP)到Linux服务器。然后重新部署应该没有问题,因为它实际上是同一个存储库。

的FSFS回购格式是平台兼容(请检查Linux的SVN版本比你的VisualSVN版本相同或更高)

我这样做很多时候,它真正的工作(当然是更好的制止犯复制回购)

1

之前,我刚刚试过以下(以强烈的绝望的响应):

的资料库中与TortoiseSNV并没有SVN的另一端(仅一个共享的资源运行)创建的。所以,我安装了新的SVN服务器,并利用其二进制运行

C:\csvn> svnrdump dump file://server_ip/shared_resource/project > projectDump.svndump 

哪里SERVER_IP是创建库的服务器的IP地址。它的工作!只需要共享文件夹的权限(在我的情况下,我有Active Directory中的用户登录旧的存储库服务器和新的)。

只是猜测这个信息可以帮助像我这样的人正在严重迁移糟糕的设置。

相关问题