5
在我们公司,我们正在研究一个由不同C/C++模块组成的产品。理想情况下,每个层级和模块应由不同团队分别开发并独立测试。目前,我们有单独的每个模块到它自己的分支:\svn:外部和标签,如何组合代码
的模块是:
\hid \branches \tags \trunk \api \branches \tags \trunk \ui \branches \tags \trunk
另外,该产品的发布为,将模块和编译经常使用CI系统建设。
\productX \branches \5.0 \hid-4.0 (svn:externs \hid\branches\4.0) \api-3.0 (svn:externs \api\branches\3.0) \ui-5.0 (svn:externs \ui\branches\5.0) \tags \trunk
我们遇到的主要问题是'svn tag'与externs关联的行为。目前的extern引用了HEAD--因为我们希望定期构建最新版本,以确保所有模块一起工作。但是,一旦构建成功并且我们继续发布,如果有一种简单的方法来自动标记所有内容(包括extern中使用的版本),那将会很不错。就目前而言,我们必须为模块创建标签,然后将extern更新为这些标签,然后标记产品,最后将其交换回主干。
有没有更干净的方法来做到这一点?随时也可以评论当前的结构。
谢谢迈克尔。您的意见反映我所读的内容(很多!)关于SVN SVN的:实习医生实践。我们正在做的主要是建议: *大多数时候,产品是指模块的分支 *在发布之前,我们为每个模块创建一个标签 *接下来,我们更新externs以指向这些标签 *最后,我们标注了产品 *,然后我们再 这工作,但非常繁琐和容易出错的改变实习医生回分支机构。我希望有一个更好的办法? – Charles 2009-12-23 16:41:53