On Thu, Jan 19, 2017 at 10:54:02AM -0800, Junio C Hamano wrote: > Stefan Hajnoczi <[email protected]> writes: > > > If the tree contains a sub-directory then git-grep(1) output contains a > > colon character instead of a path separator: > > > > $ git grep malloc v2.9.3:t > > v2.9.3:t:test-lib.sh: setup_malloc_check () { > > $ git show v2.9.3:t:test-lib.sh > > fatal: Path 't:test-lib.sh' does not exist in 'v2.9.3' > > I am slightly less negative on this compared to 1/2, but not by a > big margin. The user wanted to feed a subtree to the command, > instead of doing the more natural > > $ git grep -e malloc v2.9.3 -- t
I find <rev>:<path> vs <rev> -- <path> confusing:
| <rev>:<path> | <rev> -- <path>
----------+----------------------+---------------------
git grep | OK | OK
----------+----------------------+---------------------
git show | OK | <path> ignored
----------+----------------------+---------------------
git log | no output | OK
----------+----------------------+---------------------
Neither syntax always does what I expect. If git show <rev> -- <path>
honored <path> then I could use that syntax consistently.
Sorry for going on a tangent. Does it seem reasonable to handle <path>
in git-show(1) as a UI convenience?
> So again, "contains a colon character" is not coming from what Git
> does, but the user gave Git "a colon character" when she didn't have
> to.
>
> Having said that, if we wanted to start ignoring what the end-user
> said in the initial input like 1/2 and 2/2 does (i.e. "this specific
> tree object" as an input), I think the approach to solve for 1/2 and
> 2/2 should be the same. I think we should decide to do a slash
> instead of a colon, not because v2.9.3: has colon at the end and
> v2.9.3:t has colon in it, but because both of these are both bare
> tree objects. The patches presented does not seem to base their
> decision on the actual object type but on the textual input, which
> seems wrong.
Yes, reparsing the name is ugly and I hoped to get feedback with this
RFC. Thanks for the quick review!
signature.asc
Description: PGP signature

