Re: [PATCH] git-sh-setup: Fail if the git directory was not found.
- From
Junio C Hamano <junkio@cox.net>
- Date
- Aug 12, 2006, 01:47 UTC
- Message-ID
- <7vlkpuragp.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <7vfyg2sxrk.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> writes:
> Moving the assignment of GIT_OBJECT_DIRECTORY is fine, but > changing it to an unconditional assignment is wrong. The user > can have a GIT_OBJECT_DIRECTORY set independently from GIT_DIR > (or ../some/where/.git that is detected).
How about this as a replacement?
-- >8 -- [PATCH] git-sh-setup: do not use repo-config to test the git directory
Since repo-config does not fail in non-git directory, it is not a good command to use to test the git-ness nor validate the repository revision of $GIT_DIR.
Original patch by Robert Shearman but with minor fixes.
Signed-off-by: Junio C Hamano <junkio@cox.net> --- git-sh-setup.sh | 11 +++-------- 1 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/git-sh-setup.sh b/git-sh-setup.sh index d15747f..42f9b1c 100755 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -35,17 +35,12 @@ case "$1" in exit esac +# Make sure we are in a valid repository of a vintage we understand. if [ -z "$SUBDIRECTORY_OK" ] then : ${GIT_DIR=.git} - : ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"} - - # Make sure we are in a valid repository of a vintage we understand. - GIT_DIR="$GIT_DIR" git repo-config --get core.nosuch >/dev/null - if test $? = 128 - then - exit - fi + GIT_DIR=$(GIT_DIR="$GIT_DIR" git-rev-parse --git-dir) || exit else GIT_DIR=$(git-rev-parse --git-dir) || exit fi +: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
-- 1.4.2.rc4.g9d8df