123456789101112131415161718192021222324252627 |
- set -uo pipefail
- shopt -s globstar
- echo -e ".gitignore validation..."
- # Get a list of files that exist in the repo but are ignored.
- # The --verbose flag also includes files un-ignored via ! prefixes.
- # We filter those out with a somewhat awkward `awk` directive.
- # (Explanation: Split each line by : delimiters,
- # see if the actual gitignore line shown in the third field starts with !,
- # if it doesn't, print it.)
- # ignorecase for the sake of Windows users.
- output=$(git -c core.ignorecase=true check-ignore --verbose --no-index **/* | \
- awk -F ':' '{ if ($3 !~ /^!/) print $0 }')
- # Then we take this result and return success if it's empty.
- if [ -z "$output" ]; then
- exit 0
- else
- # And print the result if it isn't.
- echo "$output"
- exit 1
- fi
|