用于管理项目版本的库和命令行应用程序
releaseme的Python项目详细描述
VERSION | DOWNLOADS | TESTS | COVERAGE |
---|---|---|---|
目标和理念
releasome应简化versioning产品和increment其版本(如果需要)的过程,尽管版本是作为文件或存储库标记管理的。
文档
安装
两个选项:在系统/项目中安装:
pip install releaseme
您可以将其用于:
python -m releaseme -h
或者只要download the lastest zip并与:
python releaseme-X.Y.Z.zip -h
示例和常见问题解答
让我们看一个例子。我们有一个git项目,文件位于project/__init__.py:
__version__='2.3.4'
我们希望使用releasome管理版本。只需要一个命令:
$ python -m releaseme.__main__ --git --file project/__init__.py
这是什么?
- 将git标记设置为2.3.4
- 将文件中的版本升级到“2.3.5”
什么??
这在一开始看起来有点混乱,但很容易解释:git标记应该标记启动该版本的点,但是文件应该更改以指示我们正在处理的版本。
这样,文件将始终包含要使用的下一个版本和git标记,即它发布的时间点。
是否可以设置显式版本?
是的。只需用版本编辑文件并放入所需的版本。
如果有不同的版本会发生什么?
将使用较高的一个。
如果我想维护几个文件呢?
没问题,因为您可以使用:
$ python -m releaseme.__main__ --file project/__init__.py setup.py
它会为所有人设置相同的版本。
选项
releasome格式为:
[-h] [-v] [--git] [--mercurial] [--file [FILE [FILE ...]]] [ACTION]
其中action是get
或increment
中的任何一个。如果没有提供,将使用增量:
- get在处理完所有文件后显示当前版本。
- 递增将读取版本并在所有文件中递增。
--git
如果您使用的是git存储库,这将使用git标记来获取/设置版本。不再需要参数。
--hg
或--mercurial
如果您使用的是mercurial存储库,那么这将使用mercurial标记来获取/设置版本。不再需要参数。
--file
允许您选择一个或多个文件(以空格分隔)来管理版本。
关于版本号
版本最多为4个数字,以点分隔。此外,它可以在结尾处包含连字符(“-”)和字母数字字符串。因此,有效的版本号是:
- 1
- 1.2
- 1.2.3
- 1.2.3.4
- 1-foo1
- 1.2-foo1
- 1.2.3-foo1
- 1.2.3.4-foo1
无法正确管理的版本号包括:
- 1-1
- 1.A.1
- 1.foo1
如果检索到多个号码,将使用较高的号码。所以:
- “1”与“1.2”将使用“1.2”
- “1.2.3.4”与“1.2”将使用“1.2.3.4”
- “1.2.1”与“1.3.0”将使用“1.3.0”
最后,只有次要数字将递增:
- “1”增加到“2”
- “1.1”增加到“1.2”
- “1.1-foo1”增加到“1.2-foo1”
像专业人士一样使用它
最好的使用方法是在发布后立即发布。因此,最好的方法是将releasome调用添加到发布脚本中。
为什么它不支持nnnn技术?
因为我还是不需要。请随时添加问题和/或发送请求。