aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clang-format4
-rwxr-xr-xuseful_files/git-hooks/install.sh2
-rwxr-xr-xuseful_files/git-hooks/pre-commit4
-rwxr-xr-xuseful_files/git-hooks/pre-commit.py23
4 files changed, 33 insertions, 0 deletions
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..f3171ca
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,4 @@
+IndentWidth: '4'
+TabWidth: '4'
+UseTab: Always
+ColumnLimit: 120 \ No newline at end of file
diff --git a/useful_files/git-hooks/install.sh b/useful_files/git-hooks/install.sh
new file mode 100755
index 0000000..adefea7
--- /dev/null
+++ b/useful_files/git-hooks/install.sh
@@ -0,0 +1,2 @@
+ROOT=`git rev-parse --show-toplevel`
+cp * $ROOT/.git/hooks
diff --git a/useful_files/git-hooks/pre-commit b/useful_files/git-hooks/pre-commit
new file mode 100755
index 0000000..a475759
--- /dev/null
+++ b/useful_files/git-hooks/pre-commit
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+DIRNAME=`dirname "$0"`
+python2.7 $DIRNAME/pre-commit.py $@
diff --git a/useful_files/git-hooks/pre-commit.py b/useful_files/git-hooks/pre-commit.py
new file mode 100755
index 0000000..565c363
--- /dev/null
+++ b/useful_files/git-hooks/pre-commit.py
@@ -0,0 +1,23 @@
+import subprocess
+
+try:
+ run_args = ["git", "clang-format"]
+
+ print("Running clang-format...")
+ output = subprocess.check_output(run_args)
+ print output
+ changed_list = output.split('\n')
+ if changed_list[0] == 'changed files:':
+ changed_list.pop(0)
+ for changed in changed_list:
+ if len(changed.strip()) > 0:
+ add_output = subprocess.check_output(['git', 'add', changed.strip()])
+ if len(add_output) > 0:
+ print(add_output)
+ exit(0)
+except subprocess.CalledProcessError as e:
+ print(e.output)
+ exit(1)
+except Exception as e:
+ print "Clang format not installed; please install: ", e
+ exit(0)