3 个版本
0.1.3 | 2023年9月8日 |
---|---|
0.1.2 | 2023年9月7日 |
0.1.0 | 2023年9月7日 |
#1434 在 命令行工具
24KB
568 行(不包括注释)
RCOP - Rust 预提交 COP
本包提供用于验证提交信息的命令行工具。
安装
要使用此包,您需要在您的系统上安装 Rust 和 Cargo。安装完成后,您可以通过运行以下命令来安装此包:
cargo install rcop
您还可以下载最新的可执行文件,并通过以下方式直接运行它们:
RELEASE_VERSION=0.1.2
RELEASE_OS=x86_64-unknown-linux-musl # or x86_64-apple-darwin
curl -L -o rcop https://github.com/MatthiasKainer/rcop/releases/download/$RELEASE_VERSION/rcop-$RELEASE_VERSION-$RELEASE_OS
chmod +x rcop
echo "chore: hello world" | ./rcop
用法
要使用命令行工具,请在您的 git 仓库的根目录中运行以下命令
echo "docs: This is a first test" | rcop
这将从标准输入读取提交信息,然后根据默认的提交类型(fix、feat、docs、style、refactor、perf、test 和 chore)进行验证。
将 rcop
的位置添加到您的 $PATH
,并将此仓库的 commit-msg
添加到 .git/hooks/
中以验证信息。
选项
以下是您可以使用 rcop 的命令行选项
--dont-exit-on-errors
或 -e
:默认情况下,命令行工具在遇到错误时以非零退出代码退出。如果您传递此选项,它将打印错误消息并继续运行。 --ignore-case
或 -i
:允许所有定义的提交类型既可以是大写也可以是小写(例如,“feat”和“FEAT”)。 --types
或 -t
:此选项允许您覆盖提交类型和每个提交类型所需字段。例如,如果您想添加一个名为 feature
的提交类型,该类型需要名为 scope
的字段,您可以通过传递以下参数:--types "feature=scope"
。您可以通过分号分隔来指定多个提交类型,例如:--types "fix=scope,description;feature=scope,body"
。
示例
以下是一些如何使用rcop的示例
验证类型为fix且包含字段scope的提交信息
echo "fix(scope): Some fixes" | rcop
验证类型为docs且没有必需字段的提交信息
echo "docs: Some updates to the documentation" | rcop --types "docs="
验证类型为docs且没有必需字段的提交信息
echo "wild(scope): Some updates to the documentation" | rcop --types "wild=scope,description"
验证提交信息并打印错误消息而不是退出
echo "invalid: scope: Some invalid commit message" | rcop --dont-exit-on-errors
验证类型全为大写的提交信息
echo "DOCS: Some updates to the documentation" | rcop --ignore-case
输出
当提交信息成功验证后,rcop以零退出码退出且不产生任何输出。
否则,它将打印错误消息并以非零退出码退出。
依赖
~4–13MB
~125K SLoC