diff options
author | Tobias Markmann <tm@ayena.de> | 2015-09-02 06:38:49 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2015-09-02 06:38:49 (GMT) |
commit | 397d008fc066694130fed8137891a6bb755ddeb2 (patch) | |
tree | 97276ccdc381ac376c9a66b3bac74416a033e7e8 | |
parent | cc91cf95c7b9a154e857005a02c40ad67346af03 (diff) | |
download | swift-397d008fc066694130fed8137891a6bb755ddeb2.zip swift-397d008fc066694130fed8137891a6bb755ddeb2.tar.bz2 |
Restrict pre-commit copyright check to added files
Previously the pre-commit would require a correct copyright
header on all files, including modified files that only have a
couple lines changed.
Now, a correct copyright file header is only required on new files
added to the repository.
Test-Information:
Changed git author information to a new user and tried committing
a changed file, and afterwards a new file. Only the commit of a
new file failed due to missing copyright header. It was accepted
after setting BSD header.
Change-Id: I8e1324846fd904a72728e7c01da4c98f49a77282
-rwxr-xr-x | BuildTools/Git/Hooks/pre-commit | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/BuildTools/Git/Hooks/pre-commit b/BuildTools/Git/Hooks/pre-commit index ad0945e..987f127 100755 --- a/BuildTools/Git/Hooks/pre-commit +++ b/BuildTools/Git/Hooks/pre-commit @@ -4,6 +4,15 @@ IFS=' ' echo "Checking tabs & copyrights ..." +for file in $(git diff --cached --diff-filter=A --name-only); do + if [ ! -f $file ]; then + continue + fi + if ! BuildTools/Copyrighter.py check-copyright $file; then + echo "ERROR: '$file' has a copyright error. Aborting commit." + exit -1 + fi +done for file in $(git diff --cached --name-only); do if [ ! -f $file ]; then continue @@ -12,10 +21,6 @@ for file in $(git diff --cached --name-only); do echo "ERROR: '$file' contains expanded tabs. Aborting commit." exit -1 fi - if ! BuildTools/Copyrighter.py check-copyright $file; then - echo "ERROR: '$file' has a copyright error. Aborting commit." - exit -1 - fi if ! BuildTools/CheckHeaders.py $file; then echo "ERROR: '$file' failed header sanity test. Aborting commit." exit -1 |