6

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

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

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

最好的方法是什么?

4

4 回答 4

9

你需要到svnadmin dump你的本地存储库,把那个转储文件放到 Linux 机器上,然后svnadmin load它就在那里。

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

这是文档。

于 2009-11-11T21:30:23.050 回答
2

最好的办法是阅读Red Bean 书中有关迁移存储库的部分

于 2009-11-11T21:29:58.090 回答
2

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

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

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

于 2009-11-11T22:29:05.023 回答
1

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

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

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

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

只是猜想这个信息可以帮助像我这样正在严重迁移蹩脚设置的任何人。

于 2013-06-19T16:45:47.203 回答