【问题标题】:How to use bump2version to create a custom version tag如何使用 bump2version 创建自定义版本标签
【发布时间】:2020-09-28 20:49:15
【问题描述】:

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

但是,有时在常规管道之外创建具有自定义版本格式的版本很有用,例如1.1.17-test-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 标志来实现自定义版本的任何提示?

【问题讨论】:

    标签: python versioning bump2version


    【解决方案1】:

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

    您应该执行以下操作:

    • 为版本字符串的“测试”和“1”部分定义两个单独的parts。我们称它们为“发布”和“构建”。
    • 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}"
    

    这个命令成功了:

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

    【讨论】:

      猜你喜欢
      • 2011-02-10
      • 2012-01-24
      • 2013-01-22
      • 2017-03-08
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 2014-09-03
      • 2011-12-31
      相关资源
      最近更新 更多