用于管理项目版本的库和命令行应用程序

releaseme的Python项目详细描述


VERSIONDOWNLOADSTESTSCOVERAGE
Latest PyPI versionNumber of PyPI downloadsTravis resultsCoveralls results_

目标和理念

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]

其中actiongetincrement中的任何一个。如果没有提供,将使用增量

  • 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技术?

因为我还是不需要。请随时添加问题和/或发送请求。

许可证

版权所有(c)2014 Miguel_ngel García({a2}。

根据the MIT license授权。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java刷新系统。用自己的记录器输出   使用Jython将参数从Java传递到Python   JavaSocksV4代理   java如何使用通知?   java@DirtiesConext不工作   java将多个jar组合成一个(使用maven)   java使用相等运算符比较两个类   java我怎样才能让两个JOptionPane一起出现在我的第一页上,并让它们在两个页面上都有正确的答案?   html无法访问java中资产文件夹内的文件   通过post命令向SpringWebApp发送对象时,java对象字段为null   单个实例中静态变量的类更改值(Java)   java解决方案是什么   试图检查网站所有受支持的密码套件的安全性,在java中遇到chacha20和poly1035问题