aboutsummaryrefslogtreecommitdiffstats
path: root/git-sh-setup-script
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-07-08 10:57:21 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-08 10:57:21 -0700
commitb33e9666082ce692e64ccfd688dc2a5075566f75 (patch)
treec4c5637417a6e7c3e4c7d38b82e73cf4ef1c09fa /git-sh-setup-script
parentacb46f8769dd0031a98a284e06ebc5a09b151bfd (diff)
downloadgit-b33e9666082ce692e64ccfd688dc2a5075566f75.tar.gz
Add "git-sh-setup-script" for common git shell script setup
It sets up the normal git environment variables and a few helper functions (currently just "die()"), and returns ok if it all looks like a git archive. So use it something like . git-sh-setup-script || die "Not a git archive" to make the rest of the git scripts more careful and readable.
Diffstat (limited to 'git-sh-setup-script')
-rw-r--r--git-sh-setup-script17
1 files changed, 17 insertions, 0 deletions
diff --git a/git-sh-setup-script b/git-sh-setup-script
new file mode 100644
index 0000000000..660c524ce8
--- /dev/null
+++ b/git-sh-setup-script
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# Set up GIT_DIR and GIT_OBJECT_DIRECTORY
+# and return true if everything looks ok
+#
+: ${GIT_DIR=.git}
+: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
+
+die() {
+ echo "$@" >&2
+ exit 1
+}
+
+[ -d "$GIT_DIR" ] &&
+[ -d "$GIT_DIR/refs" ]
+[ -d "$GIT_OBJECT_DIRECTORY" ] &&
+[ -d "$GIT_OBJECT_DIRECTORY/00" ]