Add 'nocommit' check to git pre-commit hook

This commit is contained in:
Talia 2024-04-05 12:55:20 +02:00
parent 8c145ba626
commit 0602b8516b
Signed by: darkwiiplayer
GPG key ID: 7808674088232B3E

View file

@ -7,6 +7,8 @@ temp=$(mktemp -p /dev/shm -d -t git-hook.XXXX)
export SRC_DIR=$(pwd) export SRC_DIR=$(pwd)
export WORK_DIR=$(git rev-parse --show-toplevel) export WORK_DIR=$(git rev-parse --show-toplevel)
export commit=commit
new() { new() {
git status --porcelain | grep -E '^AM|^M|^A' | sed 's/^[^ ]* *//' git status --porcelain | grep -E '^AM|^M|^A' | sed 's/^[^ ]* *//'
} }
@ -22,8 +24,30 @@ check() {
end" end"
} }
get_marks() {
git status --porcelain | cut --bytes 4- | while read file
do
if [ -e "$temp/index/$file" ]
then
grep -n -i no$commit "$temp/index/$file" | sed "s/:/ /" | while read line
do
echo "$file:$line"
done
fi
done
}
git checkout-index --prefix="$temp/index/" --all git checkout-index --prefix="$temp/index/" --all
marks=$(get_marks)
if [ -n "$marks" ]
then
/bin/echo -e "\x1b[31m'no$commit' mark(s) found:\x1b[0m"
echo $marks
rm -rf $temp
exit 1
fi
cd $temp/index/ cd $temp/index/
ln -s "$WORK_DIR"/.git/ .git ln -s "$WORK_DIR"/.git/ .git