如何将我的本地Tortoise SVN存储库移动到新的Linux SVN服务器?

时间:2009-11-11 21:24:14

标签: svn tortoisesvn visualsvn

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

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

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

最好的方法是什么?

4 个答案:

答案 0 :(得分:9)

您需要svnadmin dump您的本地存储库,将该转储文件放到Linux计算机上,然后svnadmin load放在那里。

完成上述操作后,

Relocate用于您的工作副本。

Here's the documentation.

答案 1 :(得分:2)

您最好的选择是阅读红豆书中的Migrating a repository部分

答案 2 :(得分:2)

如果您使用 FSFS-repository后端(这是自svn 1.3以来的标准),您只需将整个存储库目录(例如,通过SCP)文件复制到LINUX服务器。然后重定位应该没有问题,因为它实际上是同一个存储库。

FSFS repo格式与平台兼容(请检查linux svn版本是否与visualSVN版本相同或更高)

我经常这样做而且确实有效(当然在复制回购之前停止提交要好得多)

答案 3 :(得分:1)

我刚刚尝试了以下(作为对绝望的回应):

使用TortoiseSVN创建存储库,而另一端没有运行SVN(仅限共享资源)。所以,我安装了新的SVN服务器并使用它的二进制文件来运行

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

其中server_ip是创建存储库的服务器的ip。它奏效了!只需要共享文件夹的权限(在我的情况下,我在Active Directory中有一个用户登录旧的存储库服务器和新的服务器)。

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

相关问题