使用bzr/git/hg将SVN回购移动到另一回购中的子目录

使用bzr/git/hg将SVN回购移动到另一回购中的子目录,svn,clone,dvcs,Svn,Clone,Dvcs,我有2个回购协议,我想合并成一个项目,因为项目应该在一起。 它们看起来像这样: Repo1 --branches --tags --trunk --Projects --Project1 Repo1 --branches --tags --trunk --Projects --Project1 --Project2 - 我想以这样的方式结束: Repo1 -

我有2个回购协议,我想合并成一个项目,因为项目应该在一起。 它们看起来像这样:

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

我想以这样的方式结束:

Repo1
   --branches
   --tags
   --trunk
       --Projects
           --Project1
Repo1
   --branches
   --tags
   --trunk
       --Projects
           --Project1
           --Project2
基本上,将Project2移动到Repo1中,同时保留其历史记录,但对分支不感兴趣

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

我可以使用bzr、git或hg克隆Repo2,然后将其推送到正确目录中的Repo1吗


我对任何DVCSs都不熟悉,因此欢迎使用命令来完成任何DVCSs。

我认为尝试将bzr/git/hg添加到混合中只会使事情变得更复杂。任何方法都需要从存储库中提取每个修订,现有工具希望您能够直接访问repo文件。如果你的svn管理员不帮你,你至少可以访问repo文件,这样你就可以自己运行svndumpfilter了吗


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

您想将结果放回svn,还是简单地拥有这两个版本的完整历史记录?