Re: [PATCH 1/2] git-help: add "help.format" config variable.
- From
Christian Couder <chriscool@tuxfamily.org>
- Date
- Dec 15, 2007, 04:57 UTC
- Message-ID
- <200712150557.00811.chriscool@tuxfamily.org>
- In-Reply-To
- <7v63z374nf.fsf@gitster.siamese.dyndns.org>
Le jeudi 13 décembre 2007, Junio C Hamano a écrit :
Show 24 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
> > Christian Couder <chriscool@tuxfamily.org> writes:
> >> diff --git a/git.c b/git.c
> >> index 4f9876e..d46b63d 100644
> >> --- a/git.c
> >> +++ b/git.c
> >> @@ -324,7 +324,7 @@ static void handle_internal_command(int argc,
> >> const char **argv) { "gc", cmd_gc, RUN_SETUP },
> >> { "get-tar-commit-id", cmd_get_tar_commit_id },
> >> { "grep", cmd_grep, RUN_SETUP | USE_PAGER },
> >> - { "help", cmd_help },
> >> + { "help", cmd_help, RUN_SETUP },
> >> #ifndef NO_CURL
> >> { "http-fetch", cmd_http_fetch, RUN_SETUP },
> >> #endif
> >
> > It would be _NICE_ if we read configuration when we are in a git
> > repository, but I am afraid this change is unnice -- the users used to
> > be able to say "git help" from anywhere didn't they? Now they will get
> > "Not a git repository". It needs to do an optional repository
> > discovery, not a mandatory one RUN_SETUP causes.
>
> It turns out that the earlier git-browse-help is already broken with
> respect to this.You are right, I did not test outside a git repository. I reworked the patch and will send it after this email.
While testing my new patch it seemed to me that some of your changes in the patch quoted below prevent some configuration variables to be used when they are set in the "global" config file (~/.gitconfig). So I reverted them in my new patch. But thanks to your other changes, it seems to work fine now.
> -- >8 -- > [PATCH] git-help -w: do not require to be in git repository
[...]
Show 8 quoted lines
> @@ -37,7 +39,7 @@ valid_tool() {
> }
>
> 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
> }This seems to prevent using global configuration when outside a git repo.
Show 10 quoted lines
> @@ -69,7 +71,8 @@ do > 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`"
This also.
Thanks, Christian.