gpt4 book ai didi

python - 如何使用 bump2version 创建自定义版本标签

转载 作者:行者123 更新时间:2023-12-05 02:06:59 26 4
gpt4 key购买 nike

我们使用 bump2version 在 Gitlab 中使用简单的 major.minor.patch (1.1.17) 格式对我们的构建和发布进行版本控制。

然而,有时候,在常规管道之外创建具有自定义版本格式的版本很有用,例如1.1.17-测试-1。

在 1.1.17 的当前版本上尝试这样的 bump2versions 命令行标志:

bump2version.exe  --search 1.0.17 --replace 1.0.17-testing --verbose --new-version 1.0.17-test-1 part

不给出任何错误,但在管理版本字符串的所有文件中生成错误的版本字符串。

.bumpversion.cfg 文件如下所示:

[bumpversion]
current_version = 1.0.17

[bumpversion:file:CMakeLists.txt]
search = MVR_VERSION "{current_version}"
replace = MVR_VERSION "{new_version}"

[bumpversion:file:VERSION.txt]
search = {current_version}
replace = {new_version}

[bumpversion:file:installer/mvr.iss]
search = #define MyAppVersion "{current_version}"
replace = #define MyAppVersion "{new_version}"

在应该更改版本字符串的每个文件中,更改如下所示:

set(MVR_VERSION "MVR_VERSION "1.0.17"" )

这是不对的。正确的搜索/替换将是

set(MVR_VERSION "1.0.17-test-1" )

关于如何使用 bump2versions 标志来实现自定义版本的任何提示?

最佳答案

bump2version v1.0.1起,不再产生语法错误。

您应该执行以下操作:

  • 为版本字符串的“测试”和“1”部分定义两个单独的部分。我们称它们为“发布”和“构建”。
  • build 部分配置为具有 valuesoptional_value
  • 添加自定义解析,以便可以从版本字符串中解析两个新部分。
  • 添加多个serialize选项,这样一个版本号可以没有这两个可选部分存在。

这是配置:

[bumpversion]
current_version = 1.0.17
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-(?P<release>.*)-(?P<build>\d+))?
serialize =
{major}.{minor}.{patch}-{release}-{build}
{major}.{minor}.{patch}

[bumpversion:part:release]
first_value = regular
optional_value = regular
values =
alpha
beta
rc
test
regular

[bumpversion:part:build]

[bumpversion:file:CMakeLists.txt]
search = MVR_VERSION "{current_version}"
replace = MVR_VERSION "{new_version}"

[bumpversion:file:version.txt]

[bumpversion:file:define.txt]
search = #define MyAppVersion "{current_version}"
replace = #define MyAppVersion "{new_version}"

此命令成功:

bump2version.exe --verbose --new-version 1.0.17-test-1 bogus-part

关于python - 如何使用 bump2version 创建自定义版本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62286617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com