diff options
author | Junio C Hamano <junkio@cox.net> | 2005-11-24 00:12:11 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-11-25 13:49:17 -0800 |
commit | ae2b0f15180d4b044828c836bcab6a990efa5c8e (patch) | |
tree | f316bfd81eaa2064c1d9e01a336eaed8d7a5bd4f /git-sh-setup.sh | |
parent | e8cc80d03934cc607e3a4d89a05350c238dbf9c5 (diff) | |
download | git-ae2b0f15180d4b044828c836bcab6a990efa5c8e.tar.gz |
git-sh-setup: die if outside git repository.
Now all the users of this script detect its exit status and die,
complaining that it is outside git repository. So move the code
that dies from all callers to git-sh-setup script.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-sh-setup.sh')
-rwxr-xr-x | git-sh-setup.sh | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/git-sh-setup.sh b/git-sh-setup.sh index dbb98842bf..e343349c00 100755 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -1,10 +1,9 @@ #!/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"} +# This is included in commands that either have to be run from the toplevel +# of the repository, or with GIT_DIR environment variable properly. +# If the GIT_DIR does not look like the right correct git-repository, +# it dies. # Having this variable in your environment would break scripts because # you would cause "cd" to be be taken to unexpected places. If you @@ -12,6 +11,9 @@ # exporting it. unset CDPATH +: ${GIT_DIR=.git} +: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"} + die() { echo >&2 "$@" exit 1 @@ -22,4 +24,5 @@ refs/*) : ;; *) false ;; esac && [ -d "$GIT_DIR/refs" ] && -[ -d "$GIT_OBJECT_DIRECTORY/" ] +[ -d "$GIT_OBJECT_DIRECTORY/" ] || + die "Not a git repository." |