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

Re: [PATCH] help: allow redirecting to help for aliased command

From
Jeff King <peff@peff.net>
Date
Sep 30, 2018, 05:53 UTC
Message-ID
<20180930055343.GA2542@sigill.intra.peff.net>
In-Reply-To
<xmqqy3bj7dxo.fsf@gitster-ct.c.googlers.com>
On Sat, Sep 29, 2018 at 10:27:15PM -0700, Junio C Hamano wrote:
Show 20 quoted lines
> Jeff King <peff@peff.net> writes:
> 
> > And I think this has to be stderr. We're polluting the output of the
> > aliased command with our extra message, so we have two choices:
> >
> >   1. Pollute stderr, and risk copious stdout (or a pager) scrolling it
> >      off the screen.
> >
> >   2. Pollute stdout, at which point our message may be confused as part
> >      of the actual output of the command (and that may not even be
> >      immediately noticed if it is passed through a shell pipeline or
> >      into a file).
> >
> > Choice (2) seems like a regression to me. Choice (1) is unfortunate in
> > some cases, but is no worse than today's behavior.
> 
> I think the output of "git foo -h" changing (i.e. has "aliased
> to..."  message in front) is about the same degree of regression as
> "git foo --help" no longer giving "aliased to..." information
> anywhere, though.

Hmm. They seem quite different to me. Changing "--help" output is something that's only going to impact what the user sees (a manpage versus the alias message). And the user can follow-up by asking for what they wanted.

Whereas if I have an alias that currently understands "-h", and I do something like:

  git foo -h | wc -l

if we output to stdout, that's going to produce subtly broken results. But if we output to stderr instead, then they may see the extra message, but it's obvious what's happening, and it's probably an annoyance at worst).

Show 10 quoted lines
> > Yeah. I think if "git foo -h" produces a bunch of output you didn't
> > expect, then "git help foo" or "git foo --help" may be the next thing
> > you reach for. That's not so different than running the command even
> > without any aliases involved.
> 
> Hmmm.  With the "teach 'git foo -h' to output 'foo is aliased to
> bar' to the standard error before running 'git bar -h'", plus "'git
> foo --help' now goes straight to 'git bar --help'", "git foo --help"
> no longer tells us that foo is aliased to bar.  Presumably "git help
> foo" will still give "foo is bar" and stop?
Yes, that was the intent in the behavior I laid out earlier.
-Peff
Previous: Junio C HamanoNext: Rasmus Villemoes
Message 18 of 43 in “help: allow redirecting to help for aliased command”
  1. help: allow redirecting to help for aliased commandRasmus Villemoes, Sep 26, 2018
  2. Taylor BlauSep 26, 2018
  3. Duy NguyenSep 26, 2018
  4. Rasmus VillemoesSep 28, 2018
  5. Junio C HamanoSep 26, 2018
  6. Taylor BlauSep 26, 2018
  7. Junio C HamanoSep 26, 2018
  8. Junio C HamanoSep 26, 2018
  9. Taylor BlauSep 26, 2018
  10. Rasmus VillemoesSep 28, 2018
  11. Jeff KingSep 26, 2018
  12. Junio C HamanoSep 26, 2018
  13. Rasmus VillemoesSep 28, 2018
  14. Jeff KingSep 29, 2018
  15. Junio C HamanoSep 29, 2018
  16. Jeff KingSep 30, 2018
  17. Junio C HamanoSep 30, 2018
  18. Jeff KingSep 30, 2018
  19. Rasmus VillemoesSep 28, 2018
  20. Junio C HamanoSep 28, 2018
  21. Duy NguyenSep 26, 2018
  22. 1/3 help: redirect to aliased commands for "git cmd --help"Rasmus Villemoes, Oct 1, 2018
  23. 2/3 git.c: handle_alias: prepend alias info when first argument is -hRasmus Villemoes, Oct 1, 2018
  24. Jeff KingOct 3, 2018
  25. 3/3 git-help.txt: document "git help cmd" vs "git cmd --help" for aliasesRasmus Villemoes, Oct 1, 2018
  26. Jeff KingOct 3, 2018
  27. Rasmus VillemoesOct 3, 2018
  28. Jeff KingOct 3, 2018
  29. Rasmus VillemoesOct 3, 2018
  30. Jeff KingOct 3, 2018
  31. 0/3 alias help tweaksRasmus Villemoes, Oct 3, 2018
  32. 1/3 help: redirect to aliased commands for "git cmd --help"Rasmus Villemoes, Oct 3, 2018
  33. Junio C HamanoOct 5, 2018
  34. Rasmus VillemoesOct 5, 2018
  35. Junio C HamanoOct 5, 2018
  36. 2/3 git.c: handle_alias: prepend alias info when first argument is -hRasmus Villemoes, Oct 3, 2018
  37. 3/3 git-help.txt: document "git help cmd" vs "git cmd --help" for aliasesRasmus Villemoes, Oct 3, 2018
  38. Jeff KingOct 4, 2018
  39. 0/3 alias help tweaksRasmus Villemoes, Oct 9, 2018
  40. 1/3 help: redirect to aliased commands for "git cmd --help"Rasmus Villemoes, Oct 9, 2018
  41. 2/3 git.c: handle_alias: prepend alias info when first argument is -hRasmus Villemoes, Oct 9, 2018
  42. 3/3 git-help.txt: document "git help cmd" vs "git cmd --help" for aliasesRasmus Villemoes, Oct 9, 2018
  43. Junio C HamanoOct 12, 2018

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.