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

Tot*_*son 4 python versioning bump2version

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

然而,有时,使用自定义版本格式(例如 1.1.17-test-1)在常规管道之外创建版本很有用。

在当前版本 1.1.17 上尝试使用如下所示的 bubble2versions 命令行标志:

bump2version.exe  --search 1.0.17 --replace 1.0.17-testing --verbose --new-version 1.0.17-test-1 part
Run Code Online (Sandbox Code Playgroud)

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

.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}"
Run Code Online (Sandbox Code Playgroud)

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

set(MVR_VERSION "MVR_VERSION "1.0.17"" )
Run Code Online (Sandbox Code Playgroud)

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

set(MVR_VERSION "1.0.17-test-1" )
Run Code Online (Sandbox Code Playgroud)

关于如何使用凹凸2版本标志来实现自定义版本有任何提示吗?

flo*_*sla 5

从 v1.0.1开始bump2version,它不会再产生语法错误。

您应该执行以下操作:

  • part为版本字符串的“test”和“1”部分定义两个单独的s。我们称它们为“发布”和“构建”。
  • 配置该build部件以具有valuesoptional_value.
  • 添加自定义,parse以便可以从版本字符串中解析两个新部分。
  • 添加多个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}"
Run Code Online (Sandbox Code Playgroud)

这个命令成功了:

bump2version.exe --verbose --new-version 1.0.17-test-1 bogus-part
Run Code Online (Sandbox Code Playgroud)