help--browse: add '--config' option to check a config option for a browser.
authorChristian Couder <chriscool@tuxfamily.org>
Sat, 2 Feb 2008 06:32:41 +0000 (07:32 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 5 Feb 2008 09:01:47 +0000 (01:01 -0800)
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>
git-help--browse.sh
help.c

index 88608bd..8ed489d 100755 (executable)
@@ -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 b929899..058a397 100644 (file)
--- 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)