| Crates.io | git-hook-commit-ref |
| lib.rs | git-hook-commit-ref |
| version | 1.4.1 |
| created_at | 2022-10-03 09:18:07.808669+00 |
| updated_at | 2023-05-26 11:44:30.72555+00 |
| description | Git hook to verify that makes sure the commit message contains a reference to the issue. |
| homepage | |
| repository | https://github.com/rednaks/git-hook-commit-ref |
| max_upload_size | |
| id | 678861 |
| size | 32,068 |
Git hook to prepare commit message.
Will check if you're allowed to commit or not, if you're allowed to commit, check if there is a reference that matches the branch if not it will update the commit message.
build the project:
cargo install git-hook-commit-ref
cd my_git_project
git hook-commit-ref --install
in your project, edit the .git/config file to add the organization and the project name, and a list of forbidden branches to commit from.
eg:
[commit-ref-hook]
org = "rednaks"
project = "git-hook-commit-ref"
forbiddenbranches = "master, release"
branchpattern = "(?P<org>\w+).*-(?P<issue_number>\d+).*"
the default branch name should match the <org>-<issue_number> pattern, but if your branch name is different, make sure to add the regex matching your branch name.
don't forget to add org and issue_number to capture the matches.
org is optional, but issue_number is required.
To check that everything works and configured, you can use git hook-commit-ref --check in your git repo.
In some situations like merging or rebasing there is no current branch, but a reference instead. you won't be able to commit your changes because it doesn't match the hook's configuration.
You can use COMMIT_HOOK_IGNORE=true env var when commit to bypass the hook.