2011-03-07 51 views
2

我想在我的SVN仓库中创建一个模块的分支。该模块包含几个子模块。我希望这些子模块中的一些在分支中发散,但其他子模块应与中继保持一致。我可以创建一个跟踪中继的颠覆分支吗?

因此,例如,子模块A应该是BRANCH和TRUNK之间不同,但子模块B不应该。在BRANCH中承诺给A的变更不会出现在TRUNK中,但在BRANCH中承诺给B的变更将自动反映在TRUNK中。我希望这会自动发生,而不必强制将BRANCH的相关更改强制为TRUNK。

这东西,是可以使用的颠覆呢?

+0

如何从分支到主干自动合并解决,如果同一线路在两个分支修改,你会得到冲突? – 2011-03-07 19:29:47

+0

那么,我希望他们会是相同的文件,所以冲突的管理方式与两个人承诺到同一分支时管理冲突的方式相同。我在这里想到的类比将是特定模块的分支和主干之间的象征性链接。所以,对一个提交也将提交给另一个提交(实际上,它只是一个提交,就像更改文件一样,所有符号链接都会自动更新)。 – 2011-03-07 19:34:34

+2

寻找外部(http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html)。但他们往往很难真正理解和处理。 – 2011-03-07 19:42:22

回答

0

即使这可能是技术上可能(或许通过使用外部组件由JB在评论中提到或者一些不起眼的SVN功能),我不认为有真正为你在找什么任何可行的解决方案。

有关模块分离成不同的svn路径,像这样怎么办?

MainApp 
    /trunk - would depend on ModuleB/branches/branch1 
    /branches 
    /branchA - would depend on ModuleA/branches/branch1 
    /tags 
ModuleA 
    /trunk 
    /branches 
    /branch1 
    /tags 
ModuleB 
    /trunk 
    /branches 
    /branch1 
    /tags 

这样,对模块B的更改将影响MainApp/trunk。对模块A的更改会影响MainApp/branches/branchA。

这种结构通常也与构建工具效果很好。

+0

谢谢,戴夫。像这样的事情是我正在探索的另一个途径。我只会分支需要更改的模块,然后用户将从TRUNK中提取所有其他模块,但需要分支的模块除外。我所遇到的问题是如何在竹内设置它。 Bamboo似乎想要监视一个单一的utl的变化,并希望从一个单一的URL检出,所以检查出一个分支和主干似乎不可能从我可以告诉。 – 2011-03-07 21:07:40

+0

哦,我明白了。我还没有用过竹子。我使用Maven和Hudson,这种svn项目结构通常适用于我。您可以将ModuleB设置为Bamboo中的自己的项目吗?那么主项目可以依赖ModuleB.jar或其他东西? – Upgradingdave 2011-03-07 21:12:21

+0

周围窥探多一些对Atlassian的论坛,它似乎并不像这是可能的,但我在等待听到有人在后面。我正在构建一个Eclipse更新站点,并且他们喜欢将它们全部构建成一个整体,因此拆分为多个构建并不是真正的选择。 – 2011-03-08 00:27:12

相关问题