From 4ab6e75aa906ebf85cf68b5f23be003a7dae9c7a Mon Sep 17 00:00:00 2001
From: Lukas Fleischer <lfleischer@calcurse.org>
Date: Mon, 8 Feb 2016 08:01:06 +0100
Subject: Improve example hooks

The post-save and post-sync hooks now automatically detect whether the
data directory contains a .git/ directory and skip the commit creation
process if it does not.

The post-save hook and the new pre-load hook now also run
calcurse-caldav in the background if that script is available and the
data directory contains a caldav/ directory.

Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
---
 contrib/caldav/hooks/post-sync | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

(limited to 'contrib/caldav')

diff --git a/contrib/caldav/hooks/post-sync b/contrib/caldav/hooks/post-sync
index c119ba7..1ac028c 100755
--- a/contrib/caldav/hooks/post-sync
+++ b/contrib/caldav/hooks/post-sync
@@ -1,12 +1,17 @@
 #!/bin/sh
 #
-# Copy this file into ~/.calcurse/caldav/hooks/ and mark it executable to
-# automatically commit changes after syncing using Git.
+# This is an example hook. If the calcurse data directory contains a Git
+# repository, it automatically makes a commit whenever synchronizing with a
+# CalDAV server.
+#
+# In order to install this hook, copy this file to ~/.calcurse/caldav/hooks/.
 
 cd "$HOME"/.calcurse/
 
-git add apts conf keys todo
-if ! git diff-index --quiet --cached HEAD; then
-	git commit -m "Automatic commit by the post-sync hook"
+# If the data directory is under version control, create a Git commit.
+if [ -d .git -a -x "$(which git)" ]; then
+	git add apts conf keys todo
+	if ! git diff-index --quiet --cached HEAD; then
+		git commit -m "Automatic commit by the post-sync hook"
+	fi
 fi
-
-- 
cgit v1.2.3-70-g09d2