[英]SVN family of products versioning
我们正在建立一个产品系列。 该系列中的每个产品都基于通用的“基础结构”组件。 因此,我们拥有各种应用程序团队,它们正在处理f系列中的产品A,产品B和基础结构组件。
通常,产品A,B..X和基础结构将具有各自独立的发布周期。 因此,我们的版本控制策略是2倍。 对产品/基础架构进行独立版本控制,然后对已部署的系列进行版本控制。
并非所有产品都会同时创建。 因此,很少有以下示例部署:
Family1.0 [Infrastructure-1.0,产品A-1.0]
Family1.0.1 [Infrastructure-1.0,产品A-1.1]
Family1.2 [Infrastructure-1.1,产品A-2.0]
Family2.0 [基础架构1.2,产品A-2.0,产品B-1.0]
因此,我创建了一个SVN目录结构,例如
family
/tags
/product A
/tags
/trunk
/product B
/tags
/trunk
/infrastructure
/tags
/trunk
我的问题是我如何使以下成为可能
/family
/tags
/tag1.0 <-- should refer to infrastructure tag 1.0 and product A tag1.0
/product A
/tags
/tag1.0
/infrastructure
/tags
/tag1.0
因此,系列tag1.0应该引用产品A标签1.0和基础结构tag1.0。
您应该能够使用svn:externals属性( 在此处 ),而不是链接到其他存储库,而是指定存储库。
因此,产品A的外部设置为http://myrepourl.com/infrastructure/tags/tag1.0
然后,产品be可以具有一个外部设置为http://myrepourl.com/infrastructure/tags/tag1.1 。
这是我认为完成多个依赖关系的唯一方法,除非它在您的配置文件(或将检查正确基础结构的版本化脚本)中以某种方式存在。
如果要获取所有项目的快照,则将根分支到标签文件夹中
您来自:
/tags
/trunk
/family
/product_A
/product_B
/infrastructure
至
/tags
/tag1.0 ; Snapshot of trunk with all the projects
/family
/product_A
/product_B
/infrastructure
/trunk
/family
/product_A
/product_B
/infrastructure
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.