![在两个 SVN 存储库之间移动项目](https://linux22.com/image/729282/%E5%9C%A8%E4%B8%A4%E4%B8%AA%20SVN%20%E5%AD%98%E5%82%A8%E5%BA%93%E4%B9%8B%E9%97%B4%E7%A7%BB%E5%8A%A8%E9%A1%B9%E7%9B%AE.png)
我们的主要 svn 存储库在两周前由于硬件故障而瘫痪,所以我不得不在 Ubuntu 机器中设置临时的本地 svn,以便使用从本地电脑恢复的工作副本保持开发正常运行。
过了一段时间,我设法恢复了旧的远程服务器并解决了我们遇到的问题。此外,还设法启动并运行旧的 svn 服务器。
所以现在我想将本地服务器文件夹提交到远程服务器,
所以我知道的唯一选择是从远程服务器检出项目的工作副本并用最新的副本覆盖并提交(从临时服务器),这似乎工作正常,但这样我将丢失过去两周的历史记录。
所以我的问题是还有其他方法可以挽救过去两周的历史记录吗?
答案1
或多或少加入这两个存储库的好方法是垃圾场
svnadmin dump
使用(创建 2 周仓库的转储阅读手册) 或者svnrdump dump
(阅读手册),使用方法,您可以使用(svnadmin 需要本地访问FS 或 repo、svnrdump - 仅能够读取存储库)- 使用 svnadmin 或 svnrdump 的相应命令将上面的转储恢复到“大”存储库中
供电方式
使用“选择的 DVCS”从两个 SVN 存储库“拉”数据(一流的现代 DVCS - Mercurial 和 Git - 都可以做到这一点,但方式略有不同),如果需要,则重新设置部分(即 DAG 损坏并且历史记录被撕毁),“推送”到已修复的存储库。我写了“命令”,因为真正的命令是不同的在上述 SCM 中。我建议不要删除 DVCS 的 repo,而是将其用作额外的备份,并在以后将 SVN-repo 中的更改全部镜像到其中