summaryrefslogtreecommitdiff
path: root/standalone/linux/skel/git-shell
diff options
context:
space:
mode:
Diffstat (limited to 'standalone/linux/skel/git-shell')
-rwxr-xr-xstandalone/linux/skel/git-shell31
1 files changed, 31 insertions, 0 deletions
diff --git a/standalone/linux/skel/git-shell b/standalone/linux/skel/git-shell
new file mode 100755
index 000000000..4dbc4d1ca
--- /dev/null
+++ b/standalone/linux/skel/git-shell
@@ -0,0 +1,31 @@
+#!/bin/sh
+link="$(readlink "$0")" || true
+if [ -n "$link" ]; then
+ base="$(dirname "$link")"
+else
+ base="$(dirname "$0")"
+fi
+
+if [ ! -d "$base" ]; then
+ echo "** cannot find base directory (I seem to be $0)" >&2
+ exit 1
+fi
+if [ ! -e "$base/runshell" ]; then
+ echo "** cannot find $base/runshell" >&2
+ exit 1
+fi
+
+# Get absolute path to base, to avoid breakage when things change directories.
+orig="$(pwd)"
+cd "$base"
+base="$(pwd)"
+cd "$orig"
+
+# If this is a standalone app, set a variable that git-annex can use to
+# install itself.
+if [ -e "$base/bin/git-annex" ]; then
+ GIT_ANNEX_APP_BASE="$base"
+ export GIT_ANNEX_APP_BASE
+fi
+
+exec "$base/runshell" git shell "$@"