Andreas Antener
9 years ago
8 changed files with 137 additions and 68 deletions
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash |
||||
set -eu |
||||
|
||||
PATTERN="-e ." |
||||
|
||||
if [ $# -gt 0 ] |
||||
then |
||||
PATTERN="$1" |
||||
fi |
||||
|
||||
exec find src \ |
||||
-path src/examples/attitude_estimator_ekf -prune -o \ |
||||
-path src/examples/ekf_att_pos_estimator -prune -o \ |
||||
-path src/lib/DriverFramework -prune -o \ |
||||
-path src/lib/ecl -prune -o \ |
||||
-path src/lib/external_lgpl -prune -o \ |
||||
-path src/lib/mathlib -prune -o \ |
||||
-path src/lib/matrix -prune -o \ |
||||
-path src/modules/attitude_estimator_ekf -prune -o \ |
||||
-path src/modules/commander -prune -o \ |
||||
-path src/modules/mavlink -prune -o \ |
||||
-path src/modules/navigator -prune -o \ |
||||
-path src/modules/sdlog2 -prune -o \ |
||||
-path src/modules/systemlib/uthash -prune -o \ |
||||
-path src/modules/uavcan -prune -o \ |
||||
-path src/modules/uavcan/libuavcan -prune -o \ |
||||
-type f \( -name "*.c" -o -name "*.h" -o -name "*.cpp" -o -name "*.hpp" \) | grep $PATTERN |
||||
|
@ -1,26 +1,64 @@
@@ -1,26 +1,64 @@
|
||||
#!/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 |
||||
against=HEAD |
||||
else |
||||
# Initial commit: diff against an empty tree object |
||||
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 |
||||
# 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 |
||||
|
||||
CHANGED_FILES=`git diff --cached --name-only --diff-filter=ACM $against | grep '\.c\|\.cpp\|\.h\|\.hpp'` |
||||
FAILED=0 |
||||
if [ ! -z "$CHANGED_FILES" -a "$CHANGED_FILES" != " " ]; then |
||||
for FILE in $CHANGED_FILES; do |
||||
./Tools/fix_code_style.sh --quiet < $FILE > $FILE.pretty |
||||
diff -u $FILE $FILE.pretty || FAILED=1 |
||||
rm -f $FILE.pretty |
||||
if [ $FAILED -ne 0 ]; then |
||||
echo "There are code formatting errors. Please fix them by running ./Tools/fix_code_style.sh $FILE" |
||||
exit $FAILED |
||||
fi |
||||
done |
||||
# 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 |
||||
exit 0 |
||||
|
||||
# If there are whitespace errors, print the offending file names and fail. |
||||
git diff-index --check --cached $against -- |
||||
if [ $? -ne 0 ] |
||||
then |
||||
exit 1 |
||||
fi |
||||
|
||||
# Check for code style, only in changed files |
||||
for i in `git diff --cached --name-only --diff-filter=ACM` |
||||
do |
||||
./Tools/files_to_check_code_style.sh $i | xargs -n 1 -P 8 -I % ./Tools/check_code_style.sh % |
||||
if [ $? -ne 0 ] |
||||
then |
||||
exit 1 |
||||
fi |
||||
done |
||||
|
Loading…
Reference in new issue