#commit-message #git-commit #command-line-tool #validate #following #utility #git-repository

app rcop

命令行工具,用于验证遵循 conventionalcommits.org 的提交信息

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