mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
30 lines
1 KiB
Bash
Executable file
30 lines
1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
if git rev-parse --verify HEAD >/dev/null 2>&1; then
|
|
against=HEAD
|
|
else
|
|
# Initial commit: diff against an empty tree object
|
|
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
|
|
fi
|
|
|
|
# fail if we add any new lines to C or Scheme source containing a tab
|
|
if git diff --name-only "$against" | egrep -q '\.(cpp|h|scm|sld|stub)$' &&\
|
|
git diff --name-only "$against" |\
|
|
egrep '\.(cpp|h|scm|sld|stub)$' |\
|
|
xargs -d'\n' git diff -U0 --no-color "$against" -- |\
|
|
grep -q $'^+ *\t'; then
|
|
echo "Error: Attempting to add a source file using tabs for indentation."
|
|
echo
|
|
echo -n " "
|
|
git diff --name-only "$against" |\
|
|
egrep '\.(cpp|h|scm|sld|stub)$' |\
|
|
xargs -d'\n' git diff -U0 "$against" -- |\
|
|
grep $'^+ *\t' | head -1
|
|
echo
|
|
cat <<EOF
|
|
It's important for arguments to line up vertically to a precise column.
|
|
Since there is no standard tab width, using tabs for indentation makes
|
|
this impossible in general. Please use spaces.
|
|
EOF
|
|
exit 1
|
|
fi
|