我有一些Repos in Tortoise SVN Version 1.8.4,我想将其导出到另一个网络,该网络没有连接到打开的网络,因此传输必须通过USB完成。
我想要做的是用他们的登记历史输出回购。现在我可以从回购中看到我可以进行导出,但我看不到的是导出历史记录。
导出将进入另一个网络的SVN。我可以用一些工具为我做这项工作吗?
如果要将subversion存储库重新定位到新服务器,可以使用几个不同的选项:
svnadmin dump
(推荐)这是一个非常轻松的过程,因为只有三个命令涉及转储存储库并将其重新加载的整个过程。在您的网络/服务器上,您必须执行svnadmin dump
命令(注意:不是您的工作副本,物理svn存储库的URL)。
svnadmin dump /path/to/repository > myRepo.dmp
将此.dmp
文件复制并保存到USB。然后,在您的新网络/服务器上传输/上传.dmp
文件后,您可以运行:
svnadmin create /path/to/newRepo
svnadmin load /path/to/newRepo < myRepo.dmp
然后,您的所有文件和版本历史记录都将加载到新的存储库中。你可以像往常一样在新的repo上使用svn checkout
,svn commit
等(尽管你的新存储库URL)。
注意:如果您想查看结果(上面的第二组命令),请随意在您的计算机上进行本地测试。获得.dmp
文件后,在您的计算机上创建一个本地存储库,并尝试将.dmp
文件加载到该本地存储库。您应该能够看到历史中的所有内容。
我不建议这样做,因为如果有人在移动/复制文件时访问存储库,它可能会导致数据库损坏问题。
但基本上,您还可以选择将您的仓库剪切并粘贴到USB上,然后将文件夹传输/上传到新服务器。
Chris上面提出的步骤是正确的过程
1创建一个repo转储。如果存在多个repos,则重复相同的进程svnadmin dump / path / to / repo> Repo.dmp
2)通过FTP / SCP /磁盘/驱动器等传输.dmp ...
3(使用svnadmin创建/path/to/Repo.dmp恢复转储文件svnadmin load / path / to / newRepo <Repo.dmp
如果我们要迁移到不同版本的SVN,您可能会遇到换行/字符/行结尾等问题。使用--ignore <>