kbuild: make W=1 warn files that are tracked but ignored by git
[linux-block.git] / scripts / misc-check
diff --git a/scripts/misc-check b/scripts/misc-check
new file mode 100755 (executable)
index 0000000..d40d548
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0-only
+
+set -e
+
+# Detect files that are tracked but ignored by git. This is checked only when
+# ${KBUILD_EXTRA_WARN} contains 1, git is installed, and the source tree is
+# tracked by git.
+check_tracked_ignored_files () {
+       case "${KBUILD_EXTRA_WARN}" in
+       *1*) ;;
+       *) return;;
+       esac
+
+       git -C ${srctree:-.} ls-files -i -c --exclude-per-directory=.gitignore 2>/dev/null |
+               sed 's/$/: warning: ignored by one of the .gitignore files/' >&2
+}
+
+check_tracked_ignored_files