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

Re: [PATCH v2 1/7] git-sh-setup: remove unused git_pager() function

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Sep 7, 2021, 19:58 UTC
Message-ID
<87tuiwjfvi.fsf@evledraar.gmail.com>
In-Reply-To
<xmqqh7ewb5a8.fsf@gitster.g>
On Tue, Sep 07 2021, Junio C Hamano wrote:
Show 26 quoted lines
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>>> No, they need to know to call 'git var GIT_PAGER' rather than using
>>> the environment variable directly to pick up core.pager[...]
>>
>> Sorry, I should have said "...directly via git var GIT_PAGER". I also
>> see that we could improve some of the doc cross-referencing here,
>> i.e. "git help git") doesn't make this explicit or point to "git var",
>> but we cover this in "git help var" itself.
>>
>>> [...]should be checking whether stdout is a tty. That is why this function
>>> existed and we didn't just check the value of GIT_PAGER in our scripts
>>
>> For a hypothetical out-of-tree user is this really something anyone
>> strictly needs? It's just an optimization. If you don't do it you'll
>> just use your pager to pipe output to a non-tty.
>
> The question we should be asking when we advocate to remove things
> is "is this really something we absolutely cannot live with?"
>
> But answering your question, if an out-of-tree user wants to behave
> just like Git, pretending that it would have been part of Git and
> the only reason why it is not is because it weren't invented here,
> yes, not forcing the end-user to pipe the tool's output to pager is
> something they would want to have a handy way to mimic, I would
> think.

I've made my preferences clear, but can live with whatever criteria we come up with.

I am having trouble squaring the desire to keep git_pager() with the view you're describing, unless it's also an implicit endorsement of reverting a89a2fbfccd (parse-remote: remove this now-unused library, 2020-11-14).

I'd obviously prefer to see git-parse-remote stay gone. But if we're worried about removing once-documented "git-sh-*" libraries from under users who peeked under the hood at some point to see & use functions within them, I'd think bringing back "git-parse-remote" would be more likely to help those users than having a git_pager().

And once we're rid of all our own use of these libraries but still want to ship them forever for such users, I'd think we'd want to bring some version of a revert of 49eb8d39c78 (Remove contrib/examples/*, 2018-03-25) back, i.e. just to make sure we don't break these going forward, as once our own use of them is removed they'll be completely untested in-tree.

Anyway, as noted in <87eea0n04u.fsf@evledraar.gmail.com> I was hoping to take a small step towards finishing up removing the libintl dependency. But after this discussion I think I'm back to mentally classifying that as too tedious of a task to even try, so I wouldn't mind dropping this series of cleanups if we've landed on a consensus of keeping git-sh-setup bug-for-bug compatible going forward, and by extension git-sh-i18n.

Previous: Junio C HamanoNext: Ævar Arnfjörð Bjarmason
Message 29 of 39 in “remove dead shell code”
  1. 0/9 remove dead shell codeÆvar Arnfjörð Bjarmason, Sep 2, 2021
  2. 1/9 git-sh-setup: remove unused set_reflog_action() functionÆvar Arnfjörð Bjarmason, Sep 2, 2021
  3. 2/9 git-sh-setup: remove unused git_editor() functionÆvar Arnfjörð Bjarmason, Sep 2, 2021
  4. 3/9 git-sh-setup: remove unused git_pager() functionÆvar Arnfjörð Bjarmason, Sep 2, 2021
  5. Philippe BlainSep 2, 2021
  6. Andrei RybakSep 2, 2021
  7. 4/9 git-sh-setup: remove unused sane_egrep() functionÆvar Arnfjörð Bjarmason, Sep 2, 2021
  8. 5/9 git-sh-setup: remove unused require_work_tree_exists() functionÆvar Arnfjörð Bjarmason, Sep 2, 2021
  9. 6/9 git-sh-setup: move create_virtual_base() to mergetools/p4mergeÆvar Arnfjörð Bjarmason, Sep 2, 2021
  10. 7/9 git-sh-setup: move peel_committish() function to git-subtree.shÆvar Arnfjörð Bjarmason, Sep 2, 2021
  11. 8/9 git-bisect: remove unused SHA-1 $x40 shell variableÆvar Arnfjörð Bjarmason, Sep 2, 2021
  12. 9/9 test-lib: remove unused $_x40 and $_z40 variablesÆvar Arnfjörð Bjarmason, Sep 2, 2021
  13. Peter BaumannSep 2, 2021
  14. Junio C HamanoSep 2, 2021
  15. Junio C HamanoSep 2, 2021
  16. Carlo ArenasSep 2, 2021
  17. Junio C HamanoSep 2, 2021
  18. Ævar Arnfjörð BjarmasonSep 2, 2021
  19. Junio C HamanoSep 2, 2021
  20. 0/7 remove dead & undocumented shell codeÆvar Arnfjörð Bjarmason, Sep 6, 2021
  21. 2/7 git-sh-setup: remove unused sane_egrep() functionÆvar Arnfjörð Bjarmason, Sep 6, 2021
  22. 3/7 git-sh-setup: move peel_committish() function to git-subtree.shÆvar Arnfjörð Bjarmason, Sep 6, 2021
  23. 1/7 git-sh-setup: remove unused git_pager() functionÆvar Arnfjörð Bjarmason, Sep 6, 2021
  24. Phillip WoodSep 6, 2021
  25. Ævar Arnfjörð BjarmasonSep 6, 2021
  26. Phillip WoodSep 7, 2021
  27. Ævar Arnfjörð BjarmasonSep 7, 2021
  28. Junio C HamanoSep 7, 2021
  29. Ævar Arnfjörð BjarmasonSep 7, 2021
  30. 5/7 git-sh-setup: remove unused "pull with rebase" messageÆvar Arnfjörð Bjarmason, Sep 6, 2021
  31. 4/7 git-sh-setup: clear_local_git_env() function to git-submodule.shÆvar Arnfjörð Bjarmason, Sep 6, 2021
  32. 6/7 git-bisect: remove unused SHA-1 $x40 shell variableÆvar Arnfjörð Bjarmason, Sep 6, 2021
  33. 7/7 test-lib: remove unused $_x40 and $_z40 variablesÆvar Arnfjörð Bjarmason, Sep 6, 2021
  34. 0/4 remove dead & internal-only shell codeÆvar Arnfjörð Bjarmason, Sep 11, 2021
  35. 2/4 git-sh-setup: remove unused "pull with rebase" messageÆvar Arnfjörð Bjarmason, Sep 11, 2021
  36. 1/4 git-submodule: remove unused is_zero_oid() functionÆvar Arnfjörð Bjarmason, Sep 11, 2021
  37. Junio C HamanoSep 13, 2021
  38. 3/4 git-bisect: remove unused SHA-1 $x40 shell variableÆvar Arnfjörð Bjarmason, Sep 11, 2021
  39. 4/4 test-lib: remove unused $_x40 and $_z40 variablesÆvar Arnfjörð Bjarmason, Sep 11, 2021

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.