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

Re: [RFC/PATCH 3/3] builtin/show.c: do not prune by pathspec

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Mar 31, 2011, 13:26 UTC
Message-ID
<4D948105.3050009@drmicha.warpmail.net>
In-Reply-To
<AANLkTik4wy3B1S=7_2opLdAVy5LBq55VsfZnkj0=QskC@mail.gmail.com>
Nguyen Thai Ngoc Duy venit, vidit, dixit 31.03.2011 14:50:
> I suggest add "commit" to the subject: do not prune commit by
> pathspec. Diff limiting is another kind of pruning and I was confused.
I know that under the name "diff limiting" only (that may be my ignorance).
Show 18 quoted lines
> 
> On Thu, Mar 31, 2011 at 4:17 PM, Michael J Gruber
> <git@drmicha.warpmail.net> wrote:
>> By design, "git show commit -- path" is not "git show commit:path", and
>> there is no reason to change that.
> 
> Even more true, now that "path" can be "*.sh".
> 
>> But "git show commit -- path" simply
>> returns nothing at all "most of the time" because it prunes by pathspec
>> even though it does not walk commits. This is pretty useless.
>>
>> So, turn off pruning (but keep diff limiting of course) so that "git
>> show commit -- path" shows the commit message and the diff that the
>> commit introduces to path (filtered by path); only the diff will be
>> empty "most of the time".
> 
> Tests please?

Heck, we don't have any to begin with, and this is marked RFC. Given our usual reluctance to change even undocumented behavior I'm not going to bother with tests for an RFC.

Show 6 quoted lines
>> As an intended side effect, users mistaking "git show commit -- path"
>> for "git show commit:path" are automatically reminded that they asked
>> git to show a commit, not a blob.
> 
> Nor a tree. I don't really see how "git show commit:path" and "git how
> commit -- path" are relevant for it to be mentioned here.

"git show commit:path" is relevant because that is what the OP was trying to do, and "git show commit:path" is relevant because that is what the OP tried and confused him because there was no output at all. Not to mention that this is the command this patch is about.

Someone needs a coffee, me thinks ;)
Michael
Previous: Nguyen Thai Ngoc DuyNext: Nguyen Thai Ngoc Duy
Message 14 of 29 in “Usability improvement request: git show revision -- file”
  1. Piotr KrukowieckiMar 31, 2011
  2. Michael J GruberMar 31, 2011
  3. 1/3 t1506: factor out test for "Did you mean..."Michael J Gruber, Mar 31, 2011
  4. 2/3 sha1_name: Suggest commit:./file for path in subdirMichael J Gruber, Mar 31, 2011
  5. Junio C HamanoMar 31, 2011
  6. Michael J GruberApr 1, 2011
  7. Junio C HamanoApr 1, 2011
  8. 3/3 builtin/show.c: do not prune by pathspecMichael J Gruber, Mar 31, 2011
  9. Johannes SixtMar 31, 2011
  10. Michael J GruberMar 31, 2011
  11. Johannes SixtMar 31, 2011
  12. Michael J GruberMar 31, 2011
  13. Nguyen Thai Ngoc DuyMar 31, 2011
  14. Michael J GruberMar 31, 2011
  15. Nguyen Thai Ngoc DuyMar 31, 2011
  16. Michael J GruberMar 31, 2011
  17. Junio C HamanoMar 31, 2011
  18. Michael J GruberApr 1, 2011
  19. 0/4 reflog, show and command line overridesMichael J Gruber, Apr 1, 2011
  20. 1/4 builtin/log.c: separate default and setup of cmd_log_init()Michael J Gruber, Apr 1, 2011
  21. 2/4 t/t1411: test reflog with formatsMichael J Gruber, Apr 1, 2011
  22. 3/4 reflog: fix overriding of command line optionsMichael J Gruber, Apr 1, 2011
  23. 4/4 builtin/show: do not prune by pathspecMichael J Gruber, Apr 1, 2011
  24. Junio C HamanoApr 1, 2011
  25. Junio C HamanoApr 1, 2011
  26. Michael J GruberApr 3, 2011
  27. Junio C HamanoApr 4, 2011
  28. Michael J GruberApr 5, 2011
  29. Piotr KrukowieckiMar 31, 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.