28 个版本

0.5.2 2024 年 7 月 23 日
0.5.1 2024 年 3 月 8 日
0.5.0 2023 年 12 月 8 日
0.4.3 2023 年 10 月 3 日
0.1.1 2019 年 12 月 29 日

#18构建工具

Download history 34/week @ 2024-04-29 47/week @ 2024-05-06 15/week @ 2024-05-13 35/week @ 2024-05-20 25/week @ 2024-05-27 33/week @ 2024-06-03 23/week @ 2024-06-10 53/week @ 2024-06-17 27/week @ 2024-06-24 13/week @ 2024-07-01 23/week @ 2024-07-08 22/week @ 2024-07-15 233/week @ 2024-07-22 35/week @ 2024-07-29 20/week @ 2024-08-05 17/week @ 2024-08-12

309 每月下载量

MIT 许可证

125KB
3K SLoC

Convco

GitHub Workflow Status Crates.io

一个常规提交命令行界面。

文档:https://convco.github.io.

convco 为处理 常规提交 提供工具。

它提供了以下命令

  • convco changelog:创建变更日志文件。
  • convco check:检查一系列提交是否符合约定。
  • convco commit:帮助进行常规提交。
  • convco version:找出当前或下一个版本。

安装

cargo安装 convco

从源代码构建

需要 Rust 1.60 或更高版本。

由于与 zlib-ng 链接,使用 cargo 构建 需要 git2cmake。您可以修改构建默认值来禁用此功能。

cargo build --no-default-features

配置

convco 使用 conventional-changelog-config-spec

配置文件按以下顺序加载

  1. 加载内部默认值
  2. 然后使用命令行中的值覆盖,convco -c|--config path/to/.convco
  3. 或者,如果没有通过-c|--config指定,如果存在,将加载${PWD}/.convco(或为了与常规变更日志兼容,加载${PWD}/.versionrc)。

要获取最终派生配置,运行convco config

当未通过自定义或.versionrc提供时,host: ...owner: ...repository: ...将从git remote origin的值加载。

Docker 使用

# build the convco image
docker build -t convco .
# run it on any codebase
docker run -v "$PWD:/tmp" --workdir /tmp --rm convco

或从 Docker Hub 使用

docker run -v "$PWD:/tmp" --workdir /tmp --rm convco/convco

在 .gitlab-ci.yml 中使用它

如果你已创建镜像并将其推送到你的私有注册库

convco:check:
  stage: test
  image:
    name: convco/convco:latest
  script:
    - check

工具

变更日志

可以使用常规提交生成变更日志。它受到常规变更日志配置文件的启发,该配置文件允许更改生成的输出。

convco changelog > CHANGELOG.md

检查

检查一系列修订版的合规性。

如果某些提交不是常规提交,它将返回非零退出代码。这在预推送钩子中很有用。

convco check $remote_sha..$local_sha

提交

有助于创建常规提交。将提示作用域、描述、正文、破坏性更改和问题。如果 git 失败于创建提交,Convco 将恢复先前的消息。

convco commit --feat

convco commit也可以用作git 核心编辑器。在这种情况下,convco commit将不会调用git commit,而是git将调用convco commit

例如:

GIT_EDITOR='convco commit' git commit -p

在持久化 git 编辑器时,如果正在编辑交互式变基的待办事项列表,也要设置sequence.editor

或者配置一个 git 别名

git config --global alias.convco '!GIT_EDITOR="convco commit" git commit'

版本

如果没有提供选项,它将返回当前版本。如果提供了--bump,将打印出下一个版本。常规提交用于计算下一个主要、次要或补丁版本。如果需要,可以提供--major--minor--patch以覆盖常规。

convco version --bump

与发布工具一起使用它很有用,例如cargo-release

cargo release $(convco version --bump)

依赖项

~21–32MB
~585K SLoC