2009-09-18 12:28:04 -04:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
REPOS="$1"
|
|
|
|
TXN="$2"
|
|
|
|
|
|
|
|
SVNLOOK=/usr/bin/svnlook
|
|
|
|
|
2009-09-18 12:28:10 -04:00
|
|
|
svn_cat() {
|
|
|
|
$SVNLOOK cat "$REPOS" -t "$TXN" $1
|
|
|
|
}
|
|
|
|
|
|
|
|
all_changed_files=`$SVNLOOK changed "$REPOS" -t "$TXN" | \
|
2009-09-18 12:28:04 -04:00
|
|
|
grep "^[AU]" | \
|
2009-09-18 12:28:10 -04:00
|
|
|
sed 's/^....//'`
|
|
|
|
|
2009-09-23 12:00:08 -04:00
|
|
|
# notice that breaking all_changed_files into several lines by replacing spaces
|
|
|
|
# with new lines only works as long as we don't have any files with spaces in
|
|
|
|
# them -- which is the case for now, but if it ever changes we'd probably need
|
|
|
|
# to use a shell array for all_changed_files or just rerun svnlook here again
|
2009-09-18 12:28:10 -04:00
|
|
|
changed_sources=`echo $all_changed_files | \
|
2009-09-23 12:00:08 -04:00
|
|
|
sed 's/ /\n/g' | \
|
2009-09-18 12:28:04 -04:00
|
|
|
egrep "\.(cpp|h|py)$" | \
|
2009-09-18 12:28:10 -04:00
|
|
|
egrep -v "src/(tiff|regex|jpeg|stc/scintilla)"`
|
2009-09-18 12:28:04 -04:00
|
|
|
|
|
|
|
rc=0
|
|
|
|
|
|
|
|
set -e
|
2009-09-18 12:28:10 -04:00
|
|
|
|
|
|
|
for f in $changed_sources; do
|
|
|
|
if svn_cat $f | fgrep -q ' '; then
|
2009-09-18 12:28:04 -04:00
|
|
|
echo "Please remove TABs from $f before committing." >&2
|
|
|
|
rc=1
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2009-09-18 12:28:10 -04:00
|
|
|
for f in $all_changed_files; do
|
|
|
|
if ! svn_cat $f | iconv -f utf8 -t WCHAR_T > /dev/null; then
|
|
|
|
echo "File $f doesn't use UTF-8, please convert it before committing." >&2
|
|
|
|
rc=1
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2009-09-18 12:28:04 -04:00
|
|
|
exit $rc
|