threads / discuss / 9100

Proposal about --help options and man calls

Subject: Proposal about --help options and man calls

## tl;dr

5 messages between Jul 18, 2007 and Jul 19, 2007.

replies: 4people: 4as markdown or json

David Kastrup· Jul 18, 2007, 21:50 UTC · lore

Frequently, git somecommand --help will call the man command to display help pages. I think that when it does so, it should pass the value of the GIT_PAGER variable copied into the PAGER variable: the paging happens on behalf of git here.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum
Junio C Hamano· Jul 18, 2007, 23:16 UTC · re: David Kastrup · lore

Re: Proposal about --help options and man calls

David Kastrup <dak@gnu.org> writes:
> Frequently, git somecommand --help will call the man command to
> display help pages.  I think that when it does so, it should pass the
> value of the GIT_PAGER variable copied into the PAGER variable: the
> paging happens on behalf of git here.

Hmph. Is that to help people who uses GIT_PAGER but no PAGER, or have both but set it differently (setting both and in the same way does not make much sense). But what it means is that "git command --help" and "man git-command" would be paged differently. I highly doubt it is really desirable.

What's the reason to set GIT_PAGER and PAGER differently to begin with? Can people give examples of the reason why?

By the way, I would understand if there is a request to honor GIT_LESS environment and if it exists export its value instead of FRSX as LESS when we spawn the pager. As some people do not want S nor R for other programs but do want them for colored git output that tends to consist of long lines. This is a slightly related topic, but different from the issue you raised in your message.

David Kastrup· Jul 18, 2007, 23:28 UTC · re: Junio C Hamano · lore

Re: Proposal about --help options and man calls

Junio C Hamano <gitster@pobox.com> writes:
Show 15 quoted lines
> David Kastrup <dak@gnu.org> writes:
>
>> Frequently, git somecommand --help will call the man command to
>> display help pages.  I think that when it does so, it should pass the
>> value of the GIT_PAGER variable copied into the PAGER variable: the
>> paging happens on behalf of git here.
>
> Hmph.  Is that to help people who uses GIT_PAGER but no PAGER,
> or have both but set it differently (setting both and in the
> same way does not make much sense).  But what it means is that
> "git command --help" and "man git-command" would be paged
> differently.  I highly doubt it is really desirable.
>
> What's the reason to set GIT_PAGER and PAGER differently to begin
> with?  Can people give examples of the reason why?

If I call command --help, I don't want a pager barfing at me. Never. I have scrollback for that. It is my choice when I page and when I page not. There are manual pages who go through 50 pages or so, however. There are commands that fundamentally are connected with a pager. man is, for example. But most cases where git calls a pager (and that includes his way of calling man without getting asked for it explicitly) utterly surprise me. So I set GIT_PAGER to cat and hoped that it would get git to behave. Sometimes it does, sometimes it doesn't.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum
Steven Grimm· Jul 19, 2007, 10:42 UTC · re: David Kastrup · lore

Re: Proposal about --help options and man calls

David Kastrup wrote:
> So I set GIT_PAGER to cat and hoped that it would get git to behave. 

FYI, you can also set GIT_PAGER to an empty value to completely disable paging. However, "cat" does the same thing -- it is special cased in pager.c to do the same thing as an empty value.

Hmm, I guess that could stand to be documented. Patch forthcoming.
-Steve
Brian Gernhardt· Jul 19, 2007, 03:49 UTC · re: Junio C Hamano · lore

Re: Proposal about --help options and man calls

On Jul 18, 2007, at 7:16 PM, Junio C Hamano wrote:
> What's the reason to set GIT_PAGER and PAGER differently to
> begin with?  Can people give examples of the reason why?

I currently have GIT_PAGER (actually, core.pager) set to tig. Tig has lots of useful features for visualizing history and jumping between patches and logs.

But for everything that isn't git, less is far better.
~~ Brian

← back to recent threads