mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-19 00:13:33 +00:00
framework: add git-hook to check PORTEPOCH validity
- 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
This commit is contained in:
parent
cb22576845
commit
5ad46769a8
27
.hooks/pre-commit.d/check_portepoch
Executable file
27
.hooks/pre-commit.d/check_portepoch
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Check that PORTEPOCH is not being dropped, and is non-decreasing
|
||||
#
|
||||
|
||||
check_epoch() {
|
||||
local makefile="$1"
|
||||
local old_epoch=$(git diff --cached -U0 "${makefile}" | grep '^\-PORTEPOCH' | grep -oE '[0-9]+')
|
||||
local new_epoch=$(git diff --cached -U0 "${makefile}" | grep '^\+PORTEPOCH' | grep -oE '[0-9]+')
|
||||
if [ -z "${new_epoch}" ] ; then
|
||||
echo "[pre-commit] dropped PORTEPOCH ${old_epoch} in ${makefile}"
|
||||
exit 1
|
||||
fi
|
||||
if [ -n "${old_epoch}" ] ; then
|
||||
if [ ${new_epoch} -lt ${old_epoch} ] ; then
|
||||
echo "[pre-commit] PORTEPOCH decreasing from ${old_epoch} to ${new_epoch} in ${makefile}"
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
modified_makefiles=$(git diff --name-only --cached --diff-filter=M -GPORTEPOCH | grep -E '^[^/]+/[^/]+/Makefile$')
|
||||
if [ $? -eq 0 ] ; then
|
||||
for modified_makefile in ${modified_makefiles} ; do
|
||||
check_epoch ${modified_makefile}
|
||||
done
|
||||
fi
|
Loading…
Reference in New Issue
Block a user