summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c49d3c8)
raw | patch | inline | side by side (parent: c49d3c8)
author | Junio C Hamano <gitster@pobox.com> | |
Thu, 13 Dec 2007 01:34:30 +0000 (17:34 -0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 13 Dec 2007 01:41:58 +0000 (17:41 -0800) |
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>
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>
git-browse-help.sh | patch | blob | history | |
git-sh-setup.sh | patch | blob | history |
diff --git a/git-browse-help.sh b/git-browse-help.sh
index 817b3792c8cf35cdd5e594e4fb7aca3d62a49aee..b465911c9a418d79f5ff592d9c409b70d92d49e9 100755 (executable)
--- a/git-browse-help.sh
+++ b/git-browse-help.sh
#
USAGE='[--browser=browser|--tool=browser] [cmd to display] ...'
-SUBDIRECTORY_OK=Yes
-OPTIONS_SPEC=
+
+# This must be capable of running outside of git directory, so
+# the vanilla git-sh-setup should not be used.
+NONGIT_OK=Yes
. git-sh-setup
# Install data.
}
init_browser_path() {
- browser_path=`git config browser.$1.path`
+ test -z "$GIT_DIR" || browser_path=`git config browser.$1.path`
test -z "$browser_path" && browser_path=$1
}
shift
done
-if test -z "$browser"; then
+if test -z "$browser" && test -n "$GIT_DIR"
+then
for opt in "help.browser" "web.browser"
do
browser="`git config $opt`"
else
browser_candidates="w3m links lynx"
fi
- echo "browser candidates: $browser_candidates"
+
for i in $browser_candidates; do
init_browser_path $i
if type "$browser_path" > /dev/null 2>&1; then
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index 5aa62dda15d1c24d0b01845ded4c8bc15e98bf8a..b366761b976a136144c7483de5c883a084996816 100755 (executable)
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
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"}