2011-03-03 84 views
0

我想多源资料库合并到一起,过程中保持版本历史记录。在svnadmin dump/load过程中,我一直在阅读大量的文章,但还有一篇我仍然缺少。合并多个SVN仓库与扭曲

每个源存储库是建立与标准的“树干”和“分支”的设置。这很好。问题在于,当我将事物合并在一起时,我想要按摩路径。例如...

很多是我见过的方式将允许您创建此这样的结构:

/project1 
/project1/trunk 
/project1/trunk/html 
/project1/branches 
/project2 
/project2/trunk 
/project2/trunk/html 
/project2/branches 

不过,我想我们的最终结构是这样,而不是:

/trunk 
/trunk/project1 
/trunk/project1/html 
/trunk/project2 
/trunk/project2/html 
/branches 

原因是:所有的项目都交织在一起。 Project1可能是我们的后端软件,project2是我们的前端软件,project3是我们的cron作业等等。基本上,这都是一个组合系统,项目特定的分支似乎只会让我们的生活变得更加困难。

这就是说,与我何老的目录结构转换为新的问题出现了。思考?

回答

2

它可能满足您的需求合并版本库的,有独立的分支,然后在新的左右移动的东西,合并,回购,使得最新版本有你想要他们的文件。尽管您可能需要在复制后打开显示历史记录,但这并不像试图编辑历史记录那样工作,而且仍然保留了历史记录。然后,即使检查旧版本将错误的位置放在了错误的位置,您也可以获得新的修订版本的首选结构。

2

我会做的方式是通过准备了“新”的结构,前面正常svn movesvn copy命令,之后做转储&负荷。 试图以适合您新存储库的格式按svndumpfilter转储文件很复杂且容易出错。

+0

你能解释一下你的意思吗?不知道我是否抓住了你的漂移。 – BBonifield 2011-03-03 20:16:57

+0

我明白了。你提到svn move让我想到了。我为什么不只是'svnadmin的负载--parent-DIR主干/ PROJECT1 test_repo BBonifield 2011-03-03 20:39:22

+0

@BBonifield你确实可以在转储/恢复之前或之后进行重新排列。 – 2011-03-03 21:37:41