ANNA
====
-ANNA is the acronym for "ANNA is not 'N' anymore", a complete suite of tools and resources to build proffesional applications with minimum cost.
+ANNA is the acronym for "ANNA is not 'N' anymore", a complete suite of tools and resources
+ to build proffesional applications with minimum cost.
Revision control
================
Based on GIT, hosted on www.bitbucket.org.
-Copy or link 'pre-commit.sh' to '.git/hooks/pre-commit' if you want to do some basic checkings (i.e. astyle code processing)
+
+You could use my pre-commit specific template if you want to do some basic checkings (i.e.
+ astyle code processing): Execute './scr/git/use-pre-commit.sh'
Documentation
=============
+++ /dev/null
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed.
-# Called by "git commit" with no arguments. The hook should
-# exit with non-zero status after issuing an appropriate message if
-# it wants to stop the commit.
-#
-# To enable this hook, rename this file to "pre-commit".
-
-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
-
-# If you want to allow non-ascii filenames set this variable to true.
-allownonascii=$(git config hooks.allownonascii)
-
-
-# Redirect output to stderr.
-exec 1>&2
-
-# Cross platform projects tend to avoid non-ascii filenames; prevent
-# them from being added to the repository. We exploit the fact that the
-# printable range starts at the space character and ends with tilde.
-if [ "$allownonascii" != "true" ] &&
- # Note that the use of brackets around a tr range is ok here, (it's
- # even required, for portability to Solaris 10's /usr/bin/tr), since
- # the square bracket bytes happen to fall in the designated range.
- test $(git diff --cached --name-only --diff-filter=A -z $against |
- LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
-then
- echo "Error: Attempt to add a non-ascii file name."
- echo
- echo "This can cause problems if you want to work"
- echo "with people on other platforms."
- echo
- echo "To be portable it is advisable to rename the file ..."
- echo
- echo "If you know what you are doing you can disable this"
- echo "check using:"
- echo
- echo " git config hooks.allownonascii true"
- echo
- exit 1
-fi
-
-# Astyle
-version=`astyle --version 2> /dev/null`
-if test "x$version" != "x"; then
-echo "SDF3 git pre-receive hook:"
-echo "Did not find astyle, please install it before continuing."
-exit 1
-fi
-ASTYLE=astyle
-
-case `$ASTYLE --version 2> /dev/null` in
- Artistic*)
- ;;
- default)
- echo "SDF3 git pre-commit hook:"
- echo "Did not find astyle, please install it before continuing."
- exit 1
- ;;
-esac
-
-ASTYLE_PARAMETERS="--style=allman \
- --indent=spaces=2 \
- --convert-tabs \
- --indent-classes \
- --indent-switches \
- --indent-namespaces \
- --indent-labels \
- --indent-col1-comments \
- --min-conditional-indent=0 \
- --pad-oper \
- --pad-header \
- --unpad-paren \
- --align-pointer=name \
- --lineend=linux \
- --suffix=none"
-# --brackets=linux
-# --one-line=keep-statements
-# --indent-preprocessor
-
-test_style () {
-
- file=$1
- newfile=${file}.astyled
- #$ASTYLE ${ASTYLE_PARAMETERS} < $file > $newfile 2>>/dev/null
- $ASTYLE -a -f -p -o -O -c -s2 -U -x --mode=c < $file > $newfile 2>>/dev/null
- diff "${file}" "${newfile}"
- r=$?
- if [ $r != 0 ] ; then
- echo "Code style error in '$file', please fix before commiting."
- if [ -f "./.fix_style" ]; then
- echo "Auto-fixing code style..."
- mv $newfile $file
- else
- echo "To autofix, create a hidden file named './.fix_style' on suite root."
- rm $newfile
- exit 1
- fi
- else
- rm $newfile
- fi
-}
-
-echo "Source code style checking ..."
-
-files=`git-diff-index --diff-filter=ACMR --name-only -r --cached $against --`
-for file in $files; do
- x=`echo $file |grep -E '(\.cpp|\.hpp)'`
- if test "x$x" != "x"; then
- test_style $file
- #git add $file
- fi
-done
-
-# If there are whitespace errors, print the offending file names and fail.
-#exec git diff-index --check --cached $against --
-
--- /dev/null
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed.
+# Called by "git commit" with no arguments. The hook should
+# exit with non-zero status after issuing an appropriate message if
+# it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-commit".
+
+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
+
+# If you want to allow non-ascii filenames set this variable to true.
+allownonascii=$(git config hooks.allownonascii)
+
+
+# Redirect output to stderr.
+exec 1>&2
+
+# Cross platform projects tend to avoid non-ascii filenames; prevent
+# them from being added to the repository. We exploit the fact that the
+# printable range starts at the space character and ends with tilde.
+if [ "$allownonascii" != "true" ] &&
+ # Note that the use of brackets around a tr range is ok here, (it's
+ # even required, for portability to Solaris 10's /usr/bin/tr), since
+ # the square bracket bytes happen to fall in the designated range.
+ test $(git diff --cached --name-only --diff-filter=A -z $against |
+ LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
+then
+ echo "Error: Attempt to add a non-ascii file name."
+ echo
+ echo "This can cause problems if you want to work"
+ echo "with people on other platforms."
+ echo
+ echo "To be portable it is advisable to rename the file ..."
+ echo
+ echo "If you know what you are doing you can disable this"
+ echo "check using:"
+ echo
+ echo " git config hooks.allownonascii true"
+ echo
+ exit 1
+fi
+
+# Astyle
+version=`astyle --version 2> /dev/null`
+if test "x$version" != "x"; then
+echo "SDF3 git pre-receive hook:"
+echo "Did not find astyle, please install it before continuing."
+exit 1
+fi
+ASTYLE=astyle
+
+case `$ASTYLE --version 2> /dev/null` in
+ Artistic*)
+ ;;
+ default)
+ echo "SDF3 git pre-commit hook:"
+ echo "Did not find astyle, please install it before continuing."
+ exit 1
+ ;;
+esac
+
+ASTYLE_PARAMETERS="--style=allman \
+ --indent=spaces=2 \
+ --convert-tabs \
+ --indent-classes \
+ --indent-switches \
+ --indent-namespaces \
+ --indent-labels \
+ --indent-col1-comments \
+ --min-conditional-indent=0 \
+ --pad-oper \
+ --pad-header \
+ --unpad-paren \
+ --align-pointer=name \
+ --lineend=linux \
+ --suffix=none"
+# --brackets=linux
+# --one-line=keep-statements
+# --indent-preprocessor
+
+test_style () {
+
+ file=$1
+ newfile=${file}.astyled
+ #$ASTYLE ${ASTYLE_PARAMETERS} < $file > $newfile 2>>/dev/null
+ $ASTYLE -a -f -p -o -O -c -s2 -U -x --mode=c < $file > $newfile 2>>/dev/null
+ diff "${file}" "${newfile}"
+ r=$?
+ if [ $r != 0 ] ; then
+ echo "Code style error in '$file', please fix before commiting."
+ if [ -f "./.fix_style" ]; then
+ echo "Auto-fixing code style..."
+ mv $newfile $file
+ else
+ echo "To autofix, create a hidden file named './.fix_style' on suite root."
+ rm $newfile
+ exit 1
+ fi
+ else
+ rm $newfile
+ fi
+}
+
+echo "Source code style checking ..."
+
+files=`git-diff-index --diff-filter=ACMR --name-only -r --cached $against --`
+for file in $files; do
+ x=`echo $file |grep -E '(\.cpp|\.hpp)'`
+ if test "x$x" != "x"; then
+ test_style $file
+ #git add $file
+ fi
+done
+
+# If there are whitespace errors, print the offending file names and fail.
+#exec git diff-index --check --cached $against --
+
--- /dev/null
+#!/bin/sh
+cd `dirname $0`
+ln -sf ../../scr/git/pre-commit.sh ../../.git/hooks/pre-commit