diff --git a/CVSROOT/checktabs.sh b/CVSROOT/checktabs.sh new file mode 100755 index 00000000..19a522e2 --- /dev/null +++ b/CVSROOT/checktabs.sh @@ -0,0 +1,34 @@ +#!/bin/tcsh +# +# checkTabs checks source code for explicit TABS +# checks only files with the following extensions: .c, .cxx, .txx, +# exits with 0, if all commited files pass the test. +# exits with 1, if any one of the tests fails +# +# checkTabs can be run as a cvs commitinfo command. +# The following commitinfo line (without the #) will run the script +# ALL $CVSROOT/CVSROOT/checkTabs +# +set failed=0 +# +# skip the first arg, the directory +foreach file ( $argv[2-] ) +# +# select files with extentions .txx, .cxx, .h, .html, .htm +set match=`echo $file | egrep \[\.\]txx\$\|\[\.\]cxx\$\|\[\.\]h\$\|\[\.\]c\$` +if ( $match == "" ) continue; +set count=`grep -n " " /dev/null $file|wc -c` +set results=`expr $count \| 0` +if ( "$results" != "0" ) then + echo +"==========================================================" + grep -n " " /dev/null $file + echo "" + echo "$file has explicit TABSs." + echo "They must be converted to SPACES(2 per TAB) before you can commit." + echo +"==========================================================" + set failed=1 +endif +end +exit $failed \ No newline at end of file diff --git a/CVSROOT/commitinfo b/CVSROOT/commitinfo index b19e7b7a..221cb065 100644 --- a/CVSROOT/commitinfo +++ b/CVSROOT/commitinfo @@ -13,3 +13,5 @@ # # If the name "ALL" appears as a regular expression it is always used # in addition to the first matching regex or "DEFAULT". + +ALL $CVSROOT/CVSROOT/checktabs.sh \ No newline at end of file