3

我目前有一个组颠覆存储库,其中有几年的历史。Corp 已经提出从现在开始托管我们的颠覆。我想知道将我们的存储库添加/导入/合并到 Corps 存储库的最佳方式是什么。我想保留历史记录,但我不介意我是否丢失了额外的道具,例如用户名进行更改,因为 a)他们没有映射到 Corp 的用户名和 b)我没有对其服务器的管理员访问权限,并且无法添加那些钩子。Corp 的存储库中已经有很多东西了——所以修订号也不再统计了——我不介意。重要的是不要丢失更改的细节(显然是更改的顺序)。我显然对我的存储库具有管理员访问权限 - 但对 Corps 存储库没有。

感谢您的建议

4

2 回答 2

2

我自己从未使用过它,但svnrdump可能是你唯一的机会:

在 Subversion 1.7 中,svnrdump 加入了现有的 Subversion 工具集。它提供了相当专业的功能,本质上 是 svnadmin dump 和 svnadmin load 命令的网络感知版本 ,我们在“使用 svnadmin 的存储库数据迁移”一节中深入讨论了这些命令。svnrdump dump 将从远程存储库生成转储流,将其发送到标准输出;svnrdump load 将从标准输入读取转储流并将其加载到远程存储库中。使用 svnrdump,您可以像使用 svnadmin dump 一样生成增量转储。您甚至可以转储存储库的子树——这是 svnadmin dump 无法做到的。

如果它确实对您有用,那么程序将是:

  1. 在源代码库中进行适当svn mv的操作以将所有内容放入子目录中。
  2. svnrdump dump在源子目录上运行。
  3. 在目标存储库中加载上一个转储。

会出什么问题?最有可能的是,两个存储库中都有包含公共路径的历史记录。我不知道 Subversion 会做什么。所以做广泛的测试和大量的备份:)

于 2012-05-08T11:55:17.640 回答
1

svnadmin dump并且svnadmin load 是你的朋友。不过,您必须让他们的管理员svnadmin load为您运行。

于 2012-05-08T11:15:59.283 回答