git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Junio C HamanoNext: Robert Shearman
Message 4 of 5 in “git-sh-setup: Fail if the git directory was not found.”
  1. git-sh-setup: Fail if the git directory was not found.Robert Shearman, Aug 11, 2006
  2. Alex RiesenAug 11, 2006
  3. Junio C HamanoAug 11, 2006
  4. Junio C HamanoAug 12, 2006
  5. Robert ShearmanAug 13, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.