使用bzr / git / hg将SVN repo移动到另一个repo中的sub-dir

时间:2011-11-29 01:20:50

标签: svn clone dvcs

我有2个repos,我想合并为一个,因为项目应该在一起。 他们看起来像这样:

Repo1
   --branches
   --tags
   --trunk
       --Projects
           --Project1

-

Repo2
   --branches
   --tags
   --trunk
       --Project2

我想结束这样的事情:

Repo1
   --branches
   --tags
   --trunk
       --Projects
           --Project1
           --Project2

基本上将Project2移动到Repo1,同时保留其历史记录(尽管对分支不感兴趣)。

我认为这可以通过svnadmin和svndumpfilter完成,但是我的svn管理员说他不想要麻烦,我应该提交最新版本:(

我可以通过使用bzr或git或hg克隆Repo2然后将其推送到正确目录中的Repo1来解决这个问题吗?

我不熟悉任何DVCS,因此欢迎使用任何DVCS进行命令。

1 个答案:

答案 0 :(得分:0)

我认为尝试在混合中添加bzr / git / hg只会让事情变得更复杂。任何方法都要求您从存储库中提取每个修订版本,现有工具希望您可以直接访问存储库文件。如果您的svn管理员不会为您执行此操作,您是否至少可以访问repo文件以便自己运行svndumpfilter?

如果您无法访问repo文件,那么您可能是自己的,因为您的真正问题是不合作的管理员,而不是缺少工具。在这种情况下,我能想到的选项是编写一个脚本来检查每个修订并将其提交到新的存储库,但这可能会变成一个比你计划的更大的项目。