summaryrefslogtreecommitdiff
path: root/git-sh-setup.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-12-13 01:34:30 (GMT)
committerJunio C Hamano <gitster@pobox.com>2007-12-13 01:41:58 (GMT)
commit22c9071728cdc4c5b39e4fc6a33036d967d3a3a5 (patch)
treee09c202f806f38c90df9147a38e843194294ea9b /git-sh-setup.sh
parentc49d3c8a88916554c5db838c0346b6cf05d60104 (diff)
downloadgit-22c9071728cdc4c5b39e4fc6a33036d967d3a3a5.zip
git-22c9071728cdc4c5b39e4fc6a33036d967d3a3a5.tar.gz
git-22c9071728cdc4c5b39e4fc6a33036d967d3a3a5.tar.bz2
git-help -w: do not require to be in git repository
The users used to be able to say "git help cat-file" from anywhere, but the browse-help script insisted to be in a git repository, which caused "git help -w cat-file" to barf outside. Correct it. While at it, remove leftover debugging "echo". Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-sh-setup.sh')
-rwxr-xr-xgit-sh-setup.sh45
1 files changed, 26 insertions, 19 deletions
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index 5aa62dd..b366761 100755
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -122,26 +122,33 @@ get_author_ident_from_commit () {
LANG=C LC_ALL=C sed -ne "$pick_author_script"
}
-# Make sure we are in a valid repository of a vintage we understand.
-if [ -z "$SUBDIRECTORY_OK" ]
+# Make sure we are in a valid repository of a vintage we understand,
+# if we require to be in a git repository.
+if test -n "$NONGIT_OK"
then
- : ${GIT_DIR=.git}
- test -z "$(git rev-parse --show-cdup)" || {
- exit=$?
- echo >&2 "You need to run this command from the toplevel of the working tree."
- exit $exit
- }
+ if git rev-parse --git-dir >/dev/null 2>&1
+ then
+ : ${GIT_DIR=.git}
+ fi
else
- GIT_DIR=$(git rev-parse --git-dir) || {
- exit=$?
- echo >&2 "Failed to find a valid git directory."
- exit $exit
+ if [ -z "$SUBDIRECTORY_OK" ]
+ then
+ : ${GIT_DIR=.git}
+ test -z "$(git rev-parse --show-cdup)" || {
+ exit=$?
+ echo >&2 "You need to run this command from the toplevel of the working tree."
+ exit $exit
+ }
+ else
+ GIT_DIR=$(git rev-parse --git-dir) || {
+ exit=$?
+ echo >&2 "Failed to find a valid git directory."
+ exit $exit
+ }
+ fi
+ test -n "$GIT_DIR" && GIT_DIR=$(cd "$GIT_DIR" && pwd) || {
+ echo >&2 "Unable to determine absolute path of git directory"
+ exit 1
}
+ : ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
fi
-
-test -n "$GIT_DIR" && GIT_DIR=$(cd "$GIT_DIR" && pwd) || {
- echo >&2 "Unable to determine absolute path of git directory"
- exit 1
-}
-
-: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}