summaryrefslogtreecommitdiffstats
path: root/Utilities/Git/pre-commit
diff options
context:
space:
mode:
Diffstat (limited to 'Utilities/Git/pre-commit')
-rwxr-xr-xUtilities/Git/pre-commit28
1 files changed, 26 insertions, 2 deletions
diff --git a/Utilities/Git/pre-commit b/Utilities/Git/pre-commit
index e4f9fd0..110e9ee 100755
--- a/Utilities/Git/pre-commit
+++ b/Utilities/Git/pre-commit
@@ -19,5 +19,29 @@ die() {
exit 1
}
-# This is a placeholder for future pre-commit checks.
-exit 0
+if test -z "$HOOKS_ALLOW_KWSYS"; then
+ # Disallow changes to KWSys
+ files=$(git diff-index --name-only --cached HEAD -- Source/kwsys) &&
+ if test -n "$files"; then
+ die 'Changes to KWSys files
+
+'"$(echo "$files" | sed 's/^/ /')"'
+
+cannot be committed through Git. KWSys is kept in a CVS repository
+shared by several projects. A robot replays changes committed there
+into the Source/kwsys directory in CMake. Please send changes to
+this directory separately. Run
+
+ git reset HEAD -- Source/kwsys
+
+to unstage these changes and then
+
+ git diff -- Source/kwsys > kwsys.patch
+
+to construct the patch. Alternatively, set environment variable
+
+ HOOKS_ALLOW_KWSYS=1
+
+to disable this check and commit the changes locally.'
+ fi
+fi