summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Couder <chriscool@tuxfamily.org>2008-02-02 07:32:41 +0100
committerJunio C Hamano <gitster@pobox.com>2008-02-05 01:01:47 -0800
commitcaa87713bca77c441c09282aa5b18b179bcfa90d (patch)
treefd72f1389faec75e26c3699d4a7b4d5c801a495d
parent482cce820554809c02bc639bb33462f9905e4342 (diff)
downloadgit-caa87713bca77c441c09282aa5b18b179bcfa90d.tar.gz
help--browse: add '--config' option to check a config option for a browser.
The value of this new command line option will be used as a key to check the configuration for an help browser. This should remove the last bit in 'git-help--browse' that was specific to 'git-help', so that other git command can use 'git-help--browse'. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-help--browse.sh23
-rw-r--r--help.c2
2 files changed, 19 insertions, 6 deletions
diff --git a/git-help--browse.sh b/git-help--browse.sh
index 88608bded1..8ed489d882 100755
--- a/git-help--browse.sh
+++ b/git-help--browse.sh
@@ -16,7 +16,7 @@
# git maintainer.
#
-USAGE='[--browser=browser|--tool=browser] url/file ...'
+USAGE='[--browser=browser|--tool=browser] [--config=conf.var] url/file ...'
# This must be capable of running outside of git directory, so
# the vanilla git-sh-setup should not be used.
@@ -53,6 +53,18 @@ do
shift ;;
esac
;;
+ -c|--config*)
+ case "$#,$1" in
+ *,*=*)
+ conf=`expr "z$1" : 'z-[^=]*=\(.*\)'`
+ ;;
+ 1,*)
+ usage ;;
+ *)
+ conf="$2"
+ shift ;;
+ esac
+ ;;
--)
break
;;
@@ -70,15 +82,16 @@ test $# = 0 && usage
if test -z "$browser"
then
- for opt in "help.browser" "web.browser"
+ for opt in "$conf" "web.browser"
do
+ test -z "$opt" && continue
browser="`git config $opt`"
test -z "$browser" || break
done
if test -n "$browser" && ! valid_tool "$browser"; then
- echo >&2 "git config option $opt set to unknown browser: $browser"
- echo >&2 "Resetting to default..."
- unset browser
+ echo >&2 "git config option $opt set to unknown browser: $browser"
+ echo >&2 "Resetting to default..."
+ unset browser
fi
fi
diff --git a/help.c b/help.c
index b929899e68..058a397534 100644
--- a/help.c
+++ b/help.c
@@ -347,7 +347,7 @@ static void show_html_page(const char *git_cmd)
get_html_page_path(&page_path, page);
- execl_git_cmd("help--browse", page_path.buf, NULL);
+ execl_git_cmd("help--browse", "-c", "help.browser", page_path.buf, NULL);
}
void help_unknown_cmd(const char *cmd)