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
├───base/
├───core/
├───lib/
├───version/requirements.txt
└───modules/
├───module-1/
├───module-2/
├───module-3/
├───module-4/
└───module-5/
super 是一个主 git,每个子项目作为一个子模块(有自己的子模块),当然,每个子项目都维护自己的发布版本(这很容易)
该项目的发布由与其他所有内容相互兼容的已签署模块组成。
我目前的做法
我目前正在使用一个名为version的子模块,它维护一个requirements.txt
+pyproject.toml
并将整个东西拉到一个可分发的包中。遵循 https://github.com/pypa/pipfile/issues/27 中的指南并从https://caremad.io/posts/2013/07/setup-vs-requirement/
问题仍然存在:是否有一种规范的方法来做这样的事情?