问题标签 [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.
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/
问题仍然存在:是否有一种规范的方法来做这样的事情?
python - 如何使用 bump2version 创建自定义版本标签
我们使用bump2version 对Gitlab 中的构建和发布版本进行版本控制,使用简单的major.minor.patch (1.1.17) 格式。
然而,有时在常规管道之外创建具有自定义版本格式的版本很有用,例如 1.1.17-test-1。
在当前版本的 1.1.17 上尝试像这样的 bump2versions 命令行标志:
不要给出任何错误,但会在管理版本字符串的所有文件中生成错误的版本字符串。
.bumpversion.cfg 文件如下所示:
在应该更改版本字符串的每个文件中,更改如下所示:
这是不对的。适当的搜索/替换将是
关于如何使用 bump2versions 标志来实现自定义版本的任何提示?
python - bump2version 增加预发布,同时删除发布后段
我将如何使用bump2version
(关于它的调用和/或其配置)来增加:
到
可重现的例子:
__init__.py
:
setup.cfg
:
此方案的有效版本示例,它采用 PEP 440 中的一些但不是全部规则:
例如,我已经尝试过,bump2version --verbose prerelversion
或者--new-version=1.0.0.a3
明确地尝试过。这两种尝试都保留.post0
而不是放弃它。
注意:几周前我在bump2version repo中将此作为一个使用问题问题提出来,但没有运气。
python - 使用 gitlab CI 和 bump2version 自动化发布
我是 gitlab 的新手,我有一个 python 包,我想为它自动化下一个版本。我想拥有:
- master 上的合并 => 创建一个新的次要版本
- 一个标签 => 创建一个新的主要版本。
我需要帮助才能做到这一点。我的.gitlab-ci.yml
文件是否正确?如何创建这个标签?我应该如何写我的提交信息?以及部署后我可以在哪里找到新版本参考。
我们在 github flow 中工作,有一个 features 分支和一个 master 分支。(没有 dev、prod、uat..etc 分支)
.gitlab-ci.yml
安装程序.py
python - 如果主要版本为 0,则没有预发布标签
我正在使用bump2version
语义版本控制。如果主要版本为 0(即快速开发?),有没有办法防止标签的预发布组件出现。就目前而言,我.bumpversion.cfg
的是
当我碰撞部分时添加预发布值minor
当我处于主要版本时,我不希望标签的-alpha.N
,等部分出现(即快速开发;在主要版本和更高版本之前不会对我进行预发布测试)。-beta.N
0
1
0
从主要版本到1
全部版本时N
,我确实想要预发布部分(因为预发布测试将在这些阶段进行),而不是为了快速开发。在快速开发过程中,我不希望每次颠簸都必须手动输入(尤其是因为在 1.0.0 之前我会有很多版本)。N+1
N > 0
--new-version
有没有人有办法解决吗?
multiline - 如何在bump2version 配置文件中使用多行匹配?
我想对一个看起来像这样的文件使用bump2version(它是一个生锈的Cargo.toml):
在.bumpversion.cfg
文件中,我不能只使用
因为那会不小心也更改了不相关的版本my_other_super_package
,巧合的是具有相同的版本号。
bump2version
文档说搜索和替换可以处理多行规范,所以我尝试了
但换行符似乎不匹配。我也试过
但“^version =”部分似乎被忽略了。
帮助?