wxWidgets/misc/scripts/svn/hooks/pre-commit
Vadim Zeitlin 3347f618eb Check that files being checked in use UTF-8.
Closes #11116.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-18 16:28:10 +00:00

39 lines
800 B
Bash
Executable File

#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
svn_cat() {
$SVNLOOK cat "$REPOS" -t "$TXN" $1
}
all_changed_files=`$SVNLOOK changed "$REPOS" -t "$TXN" | \
grep "^[AU]" | \
sed 's/^....//'`
changed_sources=`echo $all_changed_files | \
egrep "\.(cpp|h|py)$" | \
egrep -v "src/(tiff|regex|jpeg|stc/scintilla)"`
rc=0
set -e
for f in $changed_sources; do
if svn_cat $f | fgrep -q ' '; then
echo "Please remove TABs from $f before committing." >&2
rc=1
fi
done
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
exit $rc