【发布时间】:2018-07-11 06:02:02
【问题描述】:
我在两个不同的独立系统上工作,我们将代码存储在 BitBucket (Git) 上。这两个不同的系统位于 BitBucket 上的两个不同存储库中。让我们称它们为“system1”和“system2”。每个存储库都遵循 GitFlow 并带有一个 master/develop/release 分支方案。
我们还有一个单独的存储库,其中包含一个供“system1”和“system2”使用的共享库。还有另一个存储库,其中包含“system1”和“system2”也使用的所有网络相关软件。
“system1”和“system2”存储库各有一个构建脚本。构建脚本期望每个存储库都在同一目录级别克隆。所以,例如,像这样:
~/system1
~/system2
~/shared_library
~/networking
构建脚本使用git describe 标记每个构建。它使用每个存储库中git describe 的输出来创建构建。因此,作为示例,system1 的构建信息如下所示:
SYSTEM1: 10.1.1
SHARED_LIBRARY: 10.1.1
NETWORKING: 10.1.1
所有这些软件都捆绑并安装到带有 SYSTEM1 标签的目标机器上。
我遇到的问题是,如果networking 有变化,那么这不会反映在system1 的内部版本号中。例如,假设对networking 进行了一次提交。现在运行构建脚本如下所示:
SYSTEM1: 10.1.1
SHARED_LIBRARY: 10.1.1
NETWORKING: 10.1.1-1
安装后,它看起来仍然像 10.1.1 版本,即使它不是(因为网络已经改变)。
基本上,我需要更改我的方案,以便某些其他存储库中的更改反映在system1 的git describe 输出中。
我不确定如何做到这一点。
【问题讨论】:
标签: git bitbucket versioning