framework: add new hook to validate MOVED lines

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 commit is contained in:
Tobias C. Berner 2022-08-23 15:01:59 +02:00
parent abe88637f5
commit 951773c013

21
.hooks/pre-commit.d/check_moved Executable file
View File

@ -0,0 +1,21 @@
#!/bin/sh
#
# Check that newly added MOVED lines are valid
#
moved_changed=$(git diff --name-only --cached --diff-filter=M | grep -E '^MOVED$')
if [ $? -eq 0 ] ; then
# git changes to root directory of the tree to run hooks
tree=$(git rev-parse --show-toplevel)
# check the last seven days
lastdate=$(date -v-7d "+%Y-%m-%d")
errors=$(PORTSDIR=${tree} Tools/scripts/MOVEDlint.awk -v lastdate="${lastdate}")
if [ $? -ne 0 ] ; then
echo -e "[pre-commit] ERROR: MOVED contains errors.\n" \
" Please apply the suggested changes:\n"
echo "${errors}"
exit 1
fi
fi