If a user installs this script as .git/hooks/prepare-commit-msg and then
works on an old branch which doesn't have the mklog.py script, trying to
commit will fail with an error like:
environment: /.../gcc/contrib/mklog.py: No such file or directory
This makes it exit cleanly so it's possible to commit.
contrib/ChangeLog:
* prepare-commit-msg: Do nothing if the mklog.py script isn't
present.
OK for master?
commit b4645b28abbed1c55e330071266f9e31a7816c28
Author: Jonathan Wakely <[email protected]>
Date: Tue Jun 2 10:10:19 2020 +0100
contrib: Make prepare-commit-msg hook safe for older branches
If a user installs this script as .git/hooks/prepare-commit-msg and then
works on an old branch which doesn't have the mklog.py script, trying to
commit will fail with an error like:
environment: /.../gcc/contrib/mklog.py: No such file or directory
This makes it exit cleanly so it's possible to commit.
contrib/ChangeLog:
* prepare-commit-msg: Do nothing if the mklog.py script isn't
present.
diff --git a/contrib/prepare-commit-msg b/contrib/prepare-commit-msg
index fd59bfbcf88..24f0783aae2 100755
--- a/contrib/prepare-commit-msg
+++ b/contrib/prepare-commit-msg
@@ -23,6 +23,9 @@ COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3
+# We might be on a branch before the file was added.
+if ! [ -x contrib/mklog.py ]; then exit 0; fi
+
# Can't do anything if $COMMIT_MSG_FILE isn't a file.
if ! [ -f "$COMMIT_MSG_FILE" ]; then exit 0; fi