linux_dsm_epyc7002/scripts/documentation-file-ref-check
Jani Nikula e8939222dc Documentation: add script and build target to check for broken file references
Add a simple script and build target to do a treewide grep for
references to files under Documentation, and report the non-existing
file in stderr. It tries to take into account punctuation not part of
the filename, and wildcards, but there are bound to be false positives
too. Mostly seems accurate though.

We've moved files around enough to make having this worthwhile.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2017-10-12 11:07:42 -06:00

16 lines
395 B
Bash
Executable File

#!/bin/sh
# Treewide grep for references to files under Documentation, and report
# non-existing files in stderr.
for f in $(git ls-files); do
for ref in $(grep -ho "Documentation/[A-Za-z0-9_.,~/*+-]*" "$f"); do
# presume trailing . and , are not part of the name
ref=${ref%%[.,]}
# use ls to handle wildcards
if ! ls $ref >/dev/null 2>&1; then
echo "$f: $ref" >&2
fi
done
done