On Mon, Aug 26, 2013 at 05:03:04PM -0400, Phil Hord wrote:
> > $ git grep -l foo HEAD | head -1
> > HEAD:RelNotes/1.5.1.5.txt
> >
> > we still limit to the current directory, but the output does not note
> > this (it should be "HEAD:./RelNotes/1.5.1.5.txt"). I think this bug is
> > orthogonal to Phil's patch, though.
>
> Maybe not. My path completes the assumption that the L:R value
> returned by grep is an object ref; but Junio still thought it wasn't.
> I think this is another case where his view was correct.
I certainly assumed it was, because it is in most cases it is. And something
like "HEAD:RelNotes/1.5.1.5.txt" certainly _looks_ like one, and is
generated by the current git. And what is the point of coming up with a
file listing if the names you return do not actually exist?
> There's more bad news on this front.
>
> $ cd Documentation
> $ git grep -l foo HEAD .. | head -1
> HEAD:../.gitignore
>
> That's not a valid ref, either (though maybe it could be).
Yes, though we seem to normalize paths already. So the other entries
from that command are (in git.git):
HEAD:../.mailmap
HEAD:RelNotes/1.5.1.5.txt
So we could either:
1. Prepend the current path before normalizing to yield:
HEAD:.mailmap
HEAD:Documentation/RelNotes/1.5.1.5.txt
2. Teach the get_sha1 path parser about "..", and prepend "./" when we
are in a prefixed subdir.
HEAD:./../.mailmap
HEAD:./RelNotes/1.5.1.5.txt
-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html