All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ingo Brückl" <ib@wupperonline.de>
To: git@vger.kernel.org
Subject: Re: [PATCH] Utilize config variable pager.stash in stash list command
Date: Tue, 16 Aug 2011 12:10:45 +0200	[thread overview]
Message-ID: <4e4a4743.4e230d8a.bm000@wupperonline.de> (raw)
In-Reply-To: <20110815234714.GB4699@sigill.intra.peff.net>

Jeff King wrote on Mon, 15 Aug 2011 16:47:14 -0700:

> On Sun, Aug 14, 2011 at 04:31:49PM +0200, Ingo Brückl wrote:

>> Signed-off-by: Ingo Brückl <ib@wupperonline.de>
>> ---
>>  By now stash list ignores it.
>>
>>  git-stash.sh |    3 ++-
>>  1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/git-stash.sh b/git-stash.sh
>> index f4e6f05..7bb0856 100755
>> --- a/git-stash.sh
>> +++ b/git-stash.sh
>> @@ -264,7 +264,8 @@ have_stash () {
>>
>>  list_stash () {
>>       have_stash || return 0
>> -     git log --format="%gd: %gs" -g "$@" $ref_stash --
>> +     test "$(git config --get pager.stash)" = "false" && no_pager=--no-pager
>> +     git $no_pager log --format="%gd: %gs" -g "$@" $ref_stash --
>>  }

> It's not quite as simple as this these days. The pager.* variables can
> also point to a program to run as a pager for this specific command.

> This stuff is supposed to be handled by the "git" wrapper itself, which
> will either run the pager (if the config is boolean true, or a specific
> command), or will set an environment variable to avoid running one for
> any subcommand (if it's boolean false).

> However, we don't respect pager.* config for external commands there at
> all. I think this was due to some initialization-order bugs that made it
> hard for us to look at config before exec'ing external commands. But
> perhaps they are gone, as the patch below[1] seems to work OK for me.

>  git.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)

> diff --git a/git.c b/git.c
> index 8828c18..47a6d3d 100644
> +++ b/git.c
> @@ -459,6 +459,8 @@ static void execv_dashed_external(const char **argv)
>         const char *tmp;
>         int status;
>
> +       if (use_pager == -1)
> +               use_pager = check_pager_config(argv[0]);
>         commit_pager_choice();
>
>         strbuf_addf(&cmd, "git-%s", argv[0]);

> -Peff

> [1] I posted this in a similar discussion several months ago:


> http://thread.gmane.org/gmane.comp.version-control.git/161756/focus=161771

Actually, I only wanted to change the stash list behavior (but better should
have used $(git config --get pager.stash.list) for that). Unfortunately, it
is impossible then to force the pager with --paginate again.

> I think what it really needs is more testing to see if looking at the
> config then has any unintended side effects.

Yours surely is a far better approach, although it only can handle the main
command (stash), not the sub-command (list), but this is totally in
accordance with everything else in git.

With "pager.stash false" (which would then require --paginate for a lot of
stash commands), I found that a paginated output of 'git -p stash show -p'
loses the diff colors, but that seems unrelated to your patch. It still is
strange though.

Ingo

  reply	other threads:[~2011-08-16 10:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-14 14:31 [PATCH] Utilize config variable pager.stash in stash list command Ingo Brückl
2011-08-15 23:47 ` Jeff King
2011-08-16 10:10   ` Ingo Brückl [this message]
2011-08-16 11:24     ` Ingo Brückl
2011-08-16 22:56     ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4e4a4743.4e230d8a.bm000@wupperonline.de \
    --to=ib@wupperonline.de \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.