builtin/show: do not prune by pathspecshow-no-prune
commit87a48ba1b7feda768882c6593d8d4445e0f68d30
authorMichael J Gruber <git@drmicha.warpmail.net>
Thu, 31 Mar 2011 09:08:57 +0000 (31 11:08 +0200)
committerMichael J Gruber <git@grubix.eu>
Sun, 10 Nov 2024 15:35:45 +0000 (10 16:35 +0100)
tree442fa24ac77a1e3cbbb516c6eacb4a08588bd4ba
parent60cca158198dd42396c273ab7a273339f8157e86
builtin/show: do not prune by pathspec

By design, "git show commit -- path" is not "git show commit:path", and
there is no reason to change that. 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 commit 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".

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.

In case the user has specified "--do-walk", assume they want the old
behaviour (prune by default).
builtin/log.c