diff options
-rw-r--r-- | tools/excludes | 43 | ||||
-rwxr-xr-x | tools/pre-commit | 39 |
2 files changed, 82 insertions, 0 deletions
diff --git a/tools/excludes b/tools/excludes new file mode 100644 index 00000000..bcb13e40 --- /dev/null +++ b/tools/excludes @@ -0,0 +1,43 @@ +*.la +*.lo +*.o +.deps/ +.git* +.git/ +.libs/ +Makefile +Makefile.in +RegressionTests +acconf.h +acconf.h.in +acconf.h.in~ +aclocal.m4 +autom4te.cache/ +build/ +config.guess +config.log +config.status +config.sub +configure +data_tests +depcomp +doc/.dirstamp +doc/ledger.info +elisp-comp +expr_tests +install-sh +ledger +ledger.so +lib/cppunit/ +lib/utfcpp/ +libtool +ltmain.sh +make.sh +math_tests +missing +report_tests +src/system.hh.gch +stamp-h1 +texinfo.tex +util_tests +version.m4 diff --git a/tools/pre-commit b/tools/pre-commit new file mode 100755 index 00000000..32fc7b9e --- /dev/null +++ b/tools/pre-commit @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +TMPDIR=$HOME/Products/ledger-pre-commit +MIRROR=$HOME/Products/ledger-pre-commit-mirror + +# Checkout a copy of the current index into TMPDIR +git checkout-index --prefix=$MIRROR/ -af + +# Remove files which are no longer present in the index +git diff-index --cached --name-only --diff-filter=D -z HEAD | \ + (cd $MIRROR && xargs -0 rm -f --) + +# Copy over changes, ignoring timestamps +rsync -rlpgoDO --size-only --delete \ + --exclude-from=tools/excludes $MIRROR/ $TMPDIR/ + +cd $TMPDIR + +# Make sure there is a current Makefile. Regeneration of Makefile happens +# automatically, but if myacprep or acprep changes, we want to regenerate +# everything manually. +if [ ! -f Makefile -o \ + \( -f tools/myacprep -a -f acprep -a \ + \( tools/myacprep -nt Makefile -o acprep -nt Makefile \) \) ] +then + if [ -f tools/myacprep ]; then + tools/myacprep --local + elif [ -f acprep ]; then + ./acprep --local + elif [ -f autogen.sh ]; then + sh autogen.sh && ./configure + else + autoreconf && ./configure + fi +fi + +nice -n 20 make check |