From 01e8dbf74068362d769604df9e87d17c0c190f27 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Mon, 27 May 2013 14:44:20 +0200 Subject: Add whitespace settings to .gitattributes and add commit hook script. Run "bash scripts/gitsetup.sh" to set up the hooks after cloning. --- scripts/githooks/pre-commit | 19 +++++++++++++++++++ scripts/gitsetup.sh | 8 ++++++++ 2 files changed, 27 insertions(+) create mode 100755 scripts/githooks/pre-commit create mode 100644 scripts/gitsetup.sh (limited to 'scripts') diff --git a/scripts/githooks/pre-commit b/scripts/githooks/pre-commit new file mode 100755 index 00000000..fec7128f --- /dev/null +++ b/scripts/githooks/pre-commit @@ -0,0 +1,19 @@ +#!/bin/bash +# +# pre-commit hook to fix whitespace errors +# +# Uses the core.whitespace or .gitattributes whitespace=... settings. +# +# see also: "man git-config" under core.whitespace +# see also: "man gitattributes" +# + +PATCH=P.diff + +if ! git diff --cached --check --quiet +then + git diff --cached > $PATCH + git apply --cached --whitespace=fix -R $PATCH + git apply --cached --whitespace=fix $PATCH + rm $PATCH +fi diff --git a/scripts/gitsetup.sh b/scripts/gitsetup.sh new file mode 100644 index 00000000..10f2321e --- /dev/null +++ b/scripts/gitsetup.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# Set up useful aliases: +git config alias.wsfix "! git diff HEAD >P.diff && git apply -R P.diff && git apply --whitespace=fix P.diff && rm P.diff" +git config alias.wsfixi "! git diff --cached >P.diff && git apply --cached -R P.diff && git apply --cached --whitespace=fix P.diff && rm P.diff" + +# Copy hooks: +cp scripts/githooks/* .git/hooks/ -- cgit v1.2.3