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

Re: [PATCH] Revert "Stop starting pager recursively"

From
Jeff King <peff@peff.net>
Date
Apr 26, 2014, 17:35 UTC
Message-ID
<20140426173549.GB21493@sigill.intra.peff.net>
In-Reply-To
<7vtx9ghuhg.fsf@alter.siamese.dyndns.org>
[+cc Duy for real this time]
On Sat, Apr 26, 2014 at 10:27:07AM -0700, Junio C Hamano wrote:
Show 23 quoted lines
> Jeff King <peff@peff.net> writes:
> 
> > [+cc Duy, whose patch this is]
> >
> > On Fri, Apr 25, 2014 at 04:10:49PM -0400, Jörn Engel wrote:
> >
> >> A second option is to add a --pager (or rather --no-pager) option to
> >> the command line and allow the user to specify
> >>     GIT_PAGER="git --no-pager -p column --mode='dense color'" git -p branch
> >
> > I think we have "--no-pager" already. But the "-p" is turning _on_ the
> > pager, so you could also just omit it. IOW, I really don't understand
> > why the original command was not simply:
> >
> >   GIT_PAGER="git column --mode='dense color'" git -p branch
> >
> > The whole infinite loop that the original commit solved is caused by
> > specifying the "-p". So it sounds like the right solution is "don't do
> > that". Am I missing something useful that the "-p" does?
> 
> My reading of this is that Duy wanted to let "-p" kick in to pass
> the columnized output, which could be more than a page long, thru
> the usual "less" or whatever pager.

I thought that at first, too. But it doesn't work, because his patch actually _suppresses_ the pager. For example, something like:

  git config pager.column less
  git config pager.branch "git column --mode=dense"
  git branch

actively works without the original patch (and after Jörn's revert), but not with current git. However, you would not use "-p" there in any case, because it kicks in early and only respects $GIT_PAGER.

And I would also say that you are much better off there actually specifying your whole pipeline as a unit:

  git config pager.branch "git column --mode=dense | less"

I do a similar thing where I have PAGER=less, but set pager.log to "diff-highlight | less". I tried at one point to have it chain automatically, but the setup is just too complicated (as we're seeing here), and it's not _that_ big a deal to explicitly pipe to the next pager in the sequence.

-Peff
Previous: Junio C HamanoNext: Duy Nguyen
Message 7 of 13 in “Revert "Stop starting pager recursively"”
  1. Revert "Stop starting pager recursively"Jörn Engel, Apr 21, 2014
  2. Jörn EngelApr 25, 2014
  3. Matthieu MoyApr 25, 2014
  4. Jörn EngelApr 25, 2014
  5. Jeff KingApr 26, 2014
  6. Junio C HamanoApr 26, 2014
  7. Jeff KingApr 26, 2014
  8. Duy NguyenApr 27, 2014
  9. Jeff KingApr 27, 2014
  10. Matthieu MoyApr 27, 2014
  11. Jörn EngelApr 28, 2014
  12. Junio C HamanoApr 28, 2014
  13. Jörn EngelApr 28, 2014

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.