跳转到主要内容

未提供项目描述

项目描述

Vinnie版本管理器

概述

vinnie是一个小巧的实用程序,用于仅使用git标签处理语义版本。这可以手动完成,也可以作为CI的一部分。

动机

构建Vinnie的动机相当小且简单。许多现有工具要求您将当前版本保存在git仓库中的一个文件中,这通常意味着在CI构建过程中,您会生成一个简单地递增版本号的提交。这绝对不是世界末日,但我们意识到我们可以相当安全地仅使用git标签作为当前版本的存储机制。

使用方法

单独调用vinnie会打印帮助信息。

vinnie version会将当前版本打印到标准输出。

vinnie (patch|minor|major)会递增给定级别的版本号,创建标签,并将其推送到远程仓库。您可以使用vinnie --no-push跳过推送。

vinnie next (patch|minor|major)会确定给定级别的下一个版本号并将其打印到标准输出。

vinnie replace /path/to/file将替换该文件中的标记(默认为__VINNIE_VERSION__)为当前版本。

vinnie show-config会输出Vinnie正在使用的当前配置,主要用于调试。

非语义版本控制

“Vinnie”还支持不使用semver,只需使用递增的整数(v1、v2、... v47)即可。为此,您需要始终传递选项--semver=False,然后唯一要使用的递增命令是bump。

$ vinnie --semver=False bump

选项

--repo 设置git checkout的根目录的文件系统路径

--repo-url 设置支持提供程序上存储库的URL

--ssh-key 磁盘上要使用的ssh密钥的路径

--github-token GitHub API令牌

--gitlab-token GitLab API令牌

--push/--no-push 推送到存储库或不要推送。默认情况下,会推送。

--prefix 允许您为所有版本号设置可选的文本前缀,例如,使用vinnie --prefix=v会创建类似v0.0.1的版本号。

--omit-prefix 从输出中抑制前缀。将使用前缀处理标签,但输出将仅包含版本号,如0.0.1

--semver/--no-semver 设置是否希望使用语义版本控制或仅使用递增整数。默认情况下,使用semver。

--current-version 在某些情况下,能够仅告诉“Vinnie”当前版本可能很方便,此选项允许您这样做。在这种情况下,“Vinnie”会忽略存储库上实际存在的任何版本作为标签。

环境变量

“Vinnie”还监听环境变量,如果您更喜欢使用这些变量,以下映射到给定的选项

  • VINNIE_REPO_PATH 设置--repo
  • VINNIE_REPO_URL 设置--repo-url
  • VINNIE_SSH_KEY 设置--ssh-key
  • VINNIE_GITHUB_TOKEN 设置--github-token
  • VINNIE_GITLAB_TOKEN 设置--gitlab-token
  • VINNIE_REPO_PUSH 设置--push
  • VINNIE_PREFIX 设置--prefix
  • VINNIE_OMIT_PREFIX 设置--omit-prefix
  • VINNIE_CURRENT_VERSION 设置--current-version
  • VINNIE_GIT_REMOTE 设置--remote
  • VINNIE_VERSION_MARKER 设置--marker
  • VINNIE_SEMVER=False 设置--no-semver
  • VINNIE_SEMVER=True 设置--semver,这是默认值

示例

让我们从一个简单的例子开始

$ cd my-git-repo
$ vinnie version
0.0.0
$ vinnie patch
0.0.1

或者,也许您想在已经使用vX.Y.Z模式在标签中使用semver的项目上使用前缀,那么您只需要这样做

$ cd my-git-repo
$ vinnie --prefix=v version
v1.2.3
$ vinnie --prefix=v minor
v1.3.0

类似的项目

“Vinnie”与其他这些优秀的项目非常相似

路线图 / TODO

  • 支持无SSH或使用GitHub API令牌的存储库的版本控制
  • 支持无SSH或使用GitLab API令牌的存储库的版本控制

许可证

BSD许可

作者

最初由Frank Wiles frank@revsys.com 编写,并由REVSYS提供。

保持联系!

如果您对这个项目有任何疑问,请打开GitHub问题。如果您喜欢我们并希望跟踪我们的动态,您可以在网上找到我们

项目详细信息


下载文件

下载您平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分发

vinnie-0.8.2.tar.gz (11.3 kB 查看散列)

上传于

构建版本

vinnie-0.8.2-py2.py3-none-any.whl (10.9 kB 查看哈希值)

上传于 Python 2 Python 3

由以下支持