Add common error function in hooks
Error messages are printed in stderr
Reviewed By: tcberner, #portmgr
Differential Revision: https://reviews.freebsd.org/D38026
dns/dnsmasq-devel as of 2.88rc3 contained a comment about PORTEPOCH,
which I removed in the 2.88rc5. This tripped up the checker because
it assumed that if git yielded lines containing PORTEPOCH, then it
must have been PORTEPOCH= or similar lines. Untrue in my case.
It was printing
[pre-commit] dropped PORTEPOCH in dns/dnsmasq-devel/Makefile
To solve, only pick out PORTEPOCH diffs that are actual assignments,
and if the new PORTEPOCH is empty, and the old one is also,
ignore this condition (previously we would exit 1, which is bogus).
Also, grep without -E should not have \ in front of - or +.
FreeBSD 13.1 grep is fine, but GNU grep ignores those backslashes
noisily (and I have prepended it to PATH) and emits warnings.
PR: 268024
dns/dnsmasq-devel as of 2.88rc3 contained a comment about PORTEPOCH,
which I removed in the 2.88rc5. This tripped up the checker because
it assumed that if git yielded lines containing PORTEPOCH, then it
must have been PORTEPOCH= or similar lines. Untrue in my case.
It was printing
[pre-commit] dropped PORTEPOCH in dns/dnsmasq-devel/Makefile
To solve, only pick out PORTEPOCH diffs that are actual assignments,
and if the new PORTEPOCH is empty, and the old one is also,
ignore this condition (previously we would exit 1, which is bogus).
Also, grep without -E should not have \ in front of - or +.
FreeBSD 13.1 grep is fine, but GNU grep ignores those backslashes
noisily (and I have prepended it to PATH) and emits warnings.
This hooks enforces that all files in the top-directory of a port match:
- .*\.mk
- Makefile.*
- distinfo.*
- pkg-.*
An example error message would look like:
[pre-commit] ERROR: invalid file 'Foo' in 'kate/editors'
Consider moving non-standard files to files/ or force-ignore this hook.
Differential Revision: https://reviews.freebsd.org/D37387
- checks dropping of PORTEPOCH:
[pre-commit] dropped PORTEPOCH 1 in net/kf5-kdav/Makefile
- checks it being non-decreasing:
[pre-commit] PORTEPOCH decreasing from 2 to 1 in net-p2p/frost/Makefile
Reviewed By: rene, bapt
Differential Revision: https://reviews.freebsd.org/D35733
A possible error message will look like:
[pre-commit] ERROR: MOVED contains errors.
Please apply the suggested changes:
17537: date going backwards from 2022-08-20 to 2022-08-13 from this line
17538: date going backwards from 2022-08-20 to 2022-08-13 to this line
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D35042
This adds a further pre-commit hook to enforce indentations in Mk/*
Usage:
> vim Mk/Uses/tcl.mk
[add/remove some whitespaces between a `.` and an `if`]
> git add Mk/Uses/tcl.mk
> git commit -m "Mk/Uses/tcl.mk: test hook"
[pre-commit] tcl.mk is not properly indented -- please use /tmp/check_indentations-tcl.mk.LShfR7TD48/tcl.mk which was created using Tools/scripts/indent_make_if.pl
Reminder: to make use of the hooks provided by the ports tree use the
following from [1]
Add the prepare-commit-msg hook to the repository.
To make use of it, the easiest way is to run:
git config --add core.hooksPath .hooks
[1] bbc2474ef7
Reviewed by: portmgr (rene)
Differential Revision: https://reviews.freebsd.org/D35041