问题标签 [bump2version]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2065 浏览

python - setuptools_scm 可用时是否需要bumpversion(或bump2version)?

TLDR;

问题正如标题所说。

撞还是不撞?

我开始使用bump2version,然后发现了setuptools_scm(对于开发成熟的python程序来说相当新),现在我很困惑。

https://setuptools.readthedocs.io/en/latest/history.html#v20-6-0(古老的,我知道,我使用v40-xx)提到了bumpversion的集成,但是,没有提到过在后续的变更日志中放弃对凹凸版本的支持。

同时,setuptools 文档的 1.4 Extending and Reusing Setuptools 部分提到了 setuptools_scm(和 setuptools_svn)用于与 git、Hg 和 svn 集成。

BLAB(底线在底)

所以,问题是:bumpversion 是否已弃用/过时?


附录

为了进一步澄清,我将尝试更多地解释我的用例

我有一个包含多个子项目的超级项目。

super 是一个主 git,每个子项目作为一个子模块(有自己的子模块),当然,每个子项目都维护自己的发布版本(这很容易)

该项目的发布由与其他所有内容相互兼容的已签署模块组成。

我目前的做法

我目前正在使用一个名为version的子模块,它维护一个requirements.txt+pyproject.toml并将整个东西拉到一个可分发的包中。遵循 https://github.com/pypa/pipfile/issues/27 中的指南https://caremad.io/posts/2013/07/setup-vs-requirement/

问题仍然存在:是否有一种规范的方法来做这样的事情?

0 投票
1 回答
2270 浏览

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

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

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

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

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

.bumpversion.cfg 文件如下所示:

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

这是不对的。适当的搜索/替换将是

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

0 投票
1 回答
1247 浏览

python - bump2version 增加预发布,同时删除发布后段

我将如何使用bump2version(关于它的调用和/或其配置)来增加:

可重现的例子:

__init__.py

setup.cfg

此方案的有效版本示例,它采用 PEP 440 中的一些但不是全部规则:

例如,我已经尝试过,bump2version --verbose prerelversion或者--new-version=1.0.0.a3明确地尝试过。这两种尝试都保留.post0而不是放弃它。


注意:几周前我在bump2version repo中将此作为一个使用问题问题提出来,但没有运气。

0 投票
1 回答
520 浏览

python - 使用 gitlab CI 和 bump2version 自动化发布

我是 gitlab 的新手,我有一个 python 包,我想为它自动化下一个版本。我想拥有:

  1. master 上的合并 => 创建一个新的次要版本
  2. 一个标签 => 创建一个新的主要版本。

我需要帮助才能做到这一点。我的.gitlab-ci.yml文件是否正确?如何创建这个标签?我应该如何写我的提交信息?以及部署后我可以在哪里找到新版本参考。

我们在 github flow 中工作,有一个 features 分支和一个 master 分支。(没有 dev、prod、uat..etc 分支)

.gitlab-ci.yml

安装程序.py

0 投票
1 回答
102 浏览

python - 如果主要版本为 0,则没有预发布标签

我正在使用bump2version语义版本控制。如果主要版本为 0(即快速开发?),有没有办法防止标签的预发布组件出现。就目前而言,我.bumpversion.cfg的是

当我碰撞部分时添加预发布值minor

当我处于主要版本时,我不希望标签的-alpha.N,等部分出现(即快速开发;在主要版本和更高版本之前不会对我进行预发布测试)。-beta.N01

0从主要版本到1全部版本时N,我确实想要预发布部分(因为预发布测试将在这些阶段进行),而不是为了快速开发。在快速开发过程中,我不希望每次颠簸都必须手动输入(尤其是因为在 1.0.0 之前我会有很多版本)。N+1N > 0--new-version

有没有人有办法解决吗?

0 投票
0 回答
121 浏览

multiline - 如何在bump2version 配置文件中使用多行匹配?

我想对一个看起来像这样的文件使用bump2version(它是一个生锈的Cargo.toml):

.bumpversion.cfg文件中,我不能只使用

因为那会不小心也更改了不相关的版本my_other_super_package,巧合的是具有相同的版本号。

bump2version文档说搜索和替换可以处理多行规范,所以我尝试了

但换行符似乎不匹配。我也试过

但“^version =”部分似乎被忽略了。

帮助?