mirror of
https://github.com/git/git.git
synced 2024-11-23 18:05:29 +08:00
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>
This commit is contained in:
parent
c49d3c8a88
commit
22c9071728
@ -17,8 +17,10 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
USAGE='[--browser=browser|--tool=browser] [cmd to display] ...'
|
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
|
. git-sh-setup
|
||||||
|
|
||||||
# Install data.
|
# Install data.
|
||||||
@ -37,7 +39,7 @@ valid_tool() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
init_browser_path() {
|
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
|
test -z "$browser_path" && browser_path=$1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +71,8 @@ do
|
|||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
if test -z "$browser"; then
|
if test -z "$browser" && test -n "$GIT_DIR"
|
||||||
|
then
|
||||||
for opt in "help.browser" "web.browser"
|
for opt in "help.browser" "web.browser"
|
||||||
do
|
do
|
||||||
browser="`git config $opt`"
|
browser="`git config $opt`"
|
||||||
@ -91,7 +94,7 @@ if test -z "$browser" ; then
|
|||||||
else
|
else
|
||||||
browser_candidates="w3m links lynx"
|
browser_candidates="w3m links lynx"
|
||||||
fi
|
fi
|
||||||
echo "browser candidates: $browser_candidates"
|
|
||||||
for i in $browser_candidates; do
|
for i in $browser_candidates; do
|
||||||
init_browser_path $i
|
init_browser_path $i
|
||||||
if type "$browser_path" > /dev/null 2>&1; then
|
if type "$browser_path" > /dev/null 2>&1; then
|
||||||
|
@ -122,26 +122,33 @@ get_author_ident_from_commit () {
|
|||||||
LANG=C LC_ALL=C sed -ne "$pick_author_script"
|
LANG=C LC_ALL=C sed -ne "$pick_author_script"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Make sure we are in a valid repository of a vintage we understand.
|
# Make sure we are in a valid repository of a vintage we understand,
|
||||||
if [ -z "$SUBDIRECTORY_OK" ]
|
# if we require to be in a git repository.
|
||||||
|
if test -n "$NONGIT_OK"
|
||||||
then
|
then
|
||||||
: ${GIT_DIR=.git}
|
if git rev-parse --git-dir >/dev/null 2>&1
|
||||||
test -z "$(git rev-parse --show-cdup)" || {
|
then
|
||||||
exit=$?
|
: ${GIT_DIR=.git}
|
||||||
echo >&2 "You need to run this command from the toplevel of the working tree."
|
fi
|
||||||
exit $exit
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
GIT_DIR=$(git rev-parse --git-dir) || {
|
if [ -z "$SUBDIRECTORY_OK" ]
|
||||||
exit=$?
|
then
|
||||||
echo >&2 "Failed to find a valid git directory."
|
: ${GIT_DIR=.git}
|
||||||
exit $exit
|
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
|
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"}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user