【问题标题】:How can I version multiple release branches supporting different depedency versions?如何对支持不同依赖版本的多个发布分支进行版本控制?
【发布时间】:2020-12-31 18:01:09
【问题描述】:

我的组织有一个图书馆,它依赖于 4 个不同的东西:

  • librdkafka 库
  • ext-rdkafka PHP 扩展
  • PHP 语言
  • Laravel 框架

我们希望支持所有当前支持的版本。目前最后三项各有 3 个支持的版本,总计 27 种组合(并非真的,例如 Laravel 的最新版本需要最新的 PHP 版本,但我们假设最差)。

考虑到这种情况,我们将有 27 个发布分支。我的问题是我们应该如何对它们进行版本控制以使它们保持在“相等”的水平?

例如,如果我们的下一个版本是 1.5,我们就不能有 1.5.1、1.5.2 等,因为它们只是支持不同的依赖版本,它们并不更新。该代码提供完全相同的功能。我浏览了网络并没有找到任何关于这种情况的文章。源材料和示例表示赞赏。

【问题讨论】:

  • 我很确定,对于这样的场景,您希望从同一个源代码树而不是不同的分支构建所有版本。 IE。应该有 一个 1.5.1 分支/标签,并且构建中的某些东西应该能够从那个源树构建这 27 个(最坏的情况下)组合。这是否可行取决于构建所有内容所需的修改类型。
  • 这并不总是可能的。例如:Laravel 8 需要 PHP 7.4,而 PHPUnit setUp() 方法的签名不同,与 PHP 7.2 不兼容。
  • 您仍然可以拥有不同版本的源文件,但只是在单个 git 提交中(即在单独的目录中而不是在单独的分支中)。 希望这些变化很少,大部分都可以抽象出来。

标签: git github version versioning api-versioning


【解决方案1】:

不要认为它是最优雅的,但您可能会在版本中添加更多内容....说:

1.5.1-lrdk2.4.5-rdkp5.6.4-p7.3-l5.4

制作版本,以防不明显

【讨论】:

  • 到目前为止我所看到的一切都将我引向了这个方向。我对这种方法的问题是会附加 四个 名称和版本。会很乱。
猜你喜欢
  • 2018-02-13
  • 1970-01-01
  • 2012-09-24
  • 1970-01-01
  • 2019-11-12
  • 1970-01-01
  • 1970-01-01
  • 2018-04-28
  • 2012-12-02
相关资源
最近更新 更多