aboutsummaryrefslogtreecommitdiff
path: root/tomb-open
diff options
context:
space:
mode:
Diffstat (limited to 'tomb-open')
-rwxr-xr-xtomb-open34
1 files changed, 34 insertions, 0 deletions
diff --git a/tomb-open b/tomb-open
new file mode 100755
index 0000000..5154215
--- /dev/null
+++ b/tomb-open
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+#
+# Open a Tomb.
+#
+
+# Parameters
+TOMBS="$HOME/data/tombs"
+KEYS="$HOME/.tombs"
+BASENAME="`basename $0`"
+TOMB="$1"
+
+# Check
+if [ ! -d "$TOMBS" ]; then
+ echo "error: no cemetery available at $TOMBS"
+ exit 1
+elif [ -z "$TOMB" ]; then
+ echo "usage: $BASENAME <tomb>"
+ echo "available tombs: `ls $TOMBS | xargs basename -a -s .tomb | xargs echo`"
+ exit 1
+elif [ ! -e "$TOMBS/$TOMB.tomb" ]; then
+ echo "tomb not found: $TOMBS/$TOMB.tomb"
+ exit 1
+elif [ ! -e "$KEYS/$TOMB.tomb.key" ]; then
+ echo "missing keyfile $KEYS/$TOMB.tomb.key"
+ exit 1
+fi
+
+# Unnanex
+if [ -d "$TOMBS/.git/annex" ] && [ -h "$TOMBS/$TOMB.tomb" ]; then
+ ( cd $TOMBS && git annex unlock $TOMB.tomb )
+fi
+
+# Dispatch
+tomb open $TOMBS/$TOMB.tomb -k $KEYS/$TOMB.tomb.key