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 <jwak...@redhat.com>
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
 

Reply via email to