2012-03-15 44 views
1

我正在开发一个项目,让我们说两个不同的公司A和B; A是大的,B是小的(我的)。两家公司都在同一个项目上工作,但我的工作只是在大型项目的一个小模块上工作。因此,我们有一个A库项目的存储库,另一个只存储B正在处理的几个文件。(乌龟)svn:将不同的分支机构重新分配到不同的存储库(=不同的URL和UUID)

我想要的是从A的存储库(分支主)中检出主项目,在一小部分文件(分支开发)上开发并将它们提交给B的存储库。但现在我面临以下问题:我想用不同的URL和UUID将两个分支分离到不同的存储库位置/存储库。 (如何)我可以管理?

(如果这不会与SVN /乌龟 - svn的工作,将混帐svn的,而不是做的伎俩?)

回答

0

分支和SVN合并只能在同一个版本库工作。所以没有办法达到你想得到的。

但是,如果将陈述你想达到什么,也许有可能是一个解决办法:

  • 解耦用于公司A和B的发展,因此有没有重叠?
  • 工作在你的小型项目上(没有那个在大项目中会被注意到),但共享文件?
  • ...

如果第二个有趣的是,以下可以工作:

  1. 结帐的大项目在本地使用SVN。
  2. 创建一个新的Git存储库。
  3. 将Git存储库本地克隆到单独的位置。
  4. 处理该单独的存储库,并在您认为应该将这些更改提供给大型项目时进行更改。
  5. 然后将Subversion工作副本中的更改(同时也是Git存储库的工作副本)提交给大项目。
0

最简单的方法是有两个工作副本A和B以及从A手动将文件复制到B.

如果A公司将允许它,你可以分支库A内的项目,并导入分支为外部存储库到您的项目B.缺点是公司A将在您的存储库中有您的源代码。

编辑:一个存储库可能通过svn:external属性包含来自另一个存储库的文件夹。您基本上在您的存储库中声明某个文件夹实际上是某个其他存储库的完整工作副本。在你的情况下,“其他仓库”实际上是你感兴趣的项目的一个分支。当你添加一个属性(在另一个仓库中有一个分支的文件夹名称和URL)时,只需更新工作副本,乌龟将下载所有来自另一个存储库的文件。一个小缺点是你必须单独提交另一个项目和工作副本(两个单独的提交操作)。

+0

这将是好的。但是,我如何才能将特定的分支导入到外部存储库? – morph 2012-03-15 14:41:44

+0

@morph我编辑了答案。 – Dialecticus 2012-03-15 15:02:44

1

卖主分支和svn:外部对象

“分支主要”添加为回购乙树“一些分支”回购A的。 “分支开发”内部清洁回购B树,完成分支链接与SVN:exnernals再次从回购A

+0

供应商分支的确是解决方案(我不知道),但是这两种解释不能很好地传达信息。请更好地解释它。 – Dialecticus 2012-03-15 21:42:07

相关问题