我正在研究一个项目,让我们说两个不同的公司A和B; A是一个很大的而B是一个小的(我的)。两家公司都在同一个项目上工作,但我的工作只是在一个小模块上工作。因此,我们有一个用于A洞项目的存储库,另一个存储库仅用于B正在处理的少数文件。
我想要的是从A的存储库(分支主要)查看主项目,开发一小部分文件(分支开发)并将它们提交到B的存储库。但是现在我面临以下问题:我想将两个分支分离到具有不同URL和UUID的不同存储库位置/存储库。 (怎么样)我可以管理它吗?
(如果这不适用于svn / tortoise-svn,git-svn会不会这样做?)
答案 0 :(得分:1)
供应商分支和svn:externals
回购A的“分支主”在回购B树中添加为“some-branch”。 “分支开发”在清洁回购B树内开发,完成分支与svn:exnernals再次从回购A答案 1 :(得分:0)
SVN中的分支和合并仅适用于同一存储库。所以没有办法达到你想要的目的。
但是,如果您要陈述您想要达到的目标,也许可以找到解决方案:
如果第二个有趣,以下可能有效:
答案 2 :(得分:0)
最简单的方法是有两个工作副本A和B,并手动将文件从A复制到B.
如果公司A允许它,您可以在存储库A中分支项目并将该分支作为外部存储库导入到项目B.缺点是公司A将在其存储库中包含您的源代码。
编辑:一个存储库可能包含来自另一个存储库的文件夹,通过svn:external
属性。您基本上在存储库中声明某个文件夹实际上是某个其他存储库的完整工作副本。在您的情况下,“其他存储库”实际上是您感兴趣的项目的一个分支。当您添加属性(文件夹名称和分支的URL在另一个存储库中)时,只需更新工作副本,Tortoise将全部下载来自另一个存储库的文件。一个小缺点是你必须单独提交另一个项目和你的工作副本(两个单独的提交操作)。