git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Utilize config variable pager.stash in stash list command

From
Jeff King <peff@peff.net>
Date
Aug 15, 2011, 23:47 UTC
Message-ID
<20110815234714.GB4699@sigill.intra.peff.net>
In-Reply-To
<4e47dcf9.55313988.bm000@wupperonline.de>
On Sun, Aug 14, 2011 at 04:31:49PM +0200, Ingo Brückl wrote:
Show 19 quoted lines
> 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
--- a/git.c
+++ 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

I think what it really needs is more testing to see if looking at the
config then has any unintended side effects.
Previous: Ingo BrücklNext: Ingo Brückl
Message 2 of 5 in “Utilize config variable pager.stash in stash list command”
  1. Utilize config variable pager.stash in stash list commandIngo Brückl, Aug 14, 2011
  2. Jeff KingAug 15, 2011
  3. Ingo BrücklAug 16, 2011
  4. Ingo BrücklAug 16, 2011
  5. Jeff KingAug 16, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.