pre-commit: check for whitespace errors in on all files under gdb
I got a review comment [1] because I forgot to run
git diff --staged --check
to check commits before submitting. This commit adds a pre-commit hook
to do this automatically.
Approved-By: Simon Marchi <simon.marchi@efficios.com>
[1]: https://inbox.sourceware.org/gdb-patches/c231d267-f541-4774-8005-6d433a9d6e96@simark.ca/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 71c898f..d26e55d 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -97,6 +97,14 @@
exclude: '.*/testsuite/.*'
verbose: true
stages: [pre-commit]
+ - id: check-whitespace
+ name: check-whitespace
+ language: script
+ entry: gdb/contrib/check-whitespace-pre-commit.sh
+ files: '^(gdb(support|server)?)/.*$'
+ pass_filenames: true
+ verbose: true
+ stages: [pre-commit]
- repo: https://github.com/nmoroze/tclint
rev: v0.6.1
hooks:
diff --git a/gdb/contrib/check-whitespace-pre-commit.sh b/gdb/contrib/check-whitespace-pre-commit.sh
new file mode 100755
index 0000000..db45dc2
--- /dev/null
+++ b/gdb/contrib/check-whitespace-pre-commit.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# Copyright (C) 2025 Free Software Foundation, Inc.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+set -e
+
+git --no-pager diff --staged --check "$@"