我们正在构建一个产品系列。家族中的每个产品都建立在公共的“基础设施”组件上。因此,我们有不同的应用程序团队,他们致力于产品A、产品B和系列f中的基础架构组件。
通常,产品A、B..X和基础设施将有自己的发布周期,彼此独立。所以我们的版本化策略是2折。独立地对产品/基础设施进行版本化,然后对已部署的系列进行版本化。
并不是所有的产品都是同时创建的。因此,以下是几个示例部署:
家庭1.0基础架构-1.0,产品A-1.0
系列1.0.1基础架构-1.0,产品A-1.1
系列1.2基础架构-1.1,产品A-2.0
系列2.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
因此,系列标签1.0应该指产品A标签1.0和基础设施标签1.0。
发布于 2012-05-02 04:38:54
您应该能够使用svn:外部属性(here),但是您可以指定自己的存储库,而不是链接到其他存储库。
因此产品A将有一个外部设置为http://myrepourl.com/infrastructure/tags/tag1.0
并且product可以有一个外部设置为http://myrepourl.com/infrastructure/tags/tag1.1。
这是我所能想到的实现多重依赖的唯一方法,除非它以某种方式存在于您的配置文件中(或检查正确基础设施的版本化脚本)。
发布于 2012-05-02 04:39:13
如果需要所有项目的快照,则可以将根目录分支到标记文件夹中
您可以从以下位置开始:
/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
https://stackoverflow.com/questions/10403953
复制相似问题