Re: [PATCH] doc/read-tree: remove obsolete remark
- Date: Thu, 11 Jan 2018 19:35:04 -0500
- From: Jeff King <peff@xxxxxxxx>
- Subject: Re: [PATCH] doc/read-tree: remove obsolete remark
On Thu, Jan 11, 2018 at 03:14:07PM -0800, Junio C Hamano wrote:
> >> Doesn't "git read-tree --prefix=previous HEAD^" add paths like
> >> "previous/Documentation/Makefile" to the index, i.e. instead of
> >> forcing you to have the required slash at the end, we give one for
> >> free when it is missing?
> > Yes, I think it does what you'd want with that path. But it would not do
> > what you want by adding "previous-file". Which seems like a gotcha that
> > should be mentioned.
> I am a bit puzzled.
> Do you mean a user who types "git read-tree --prefix=v1- HEAD^" may
> be expecting to see that the blob object "HEAD^:Makefile" added at
> path "v1-Makefile" etc?
Sorry, I was somewhat turned around in my example, thinking that we were
matching existing entries by prefix here and not putting entries into a
But yes, your example hits the point that I think is left unsaid: does
"--prefix=sub" mean the same thing as "--prefix=sub/", or is it a true
string prefix? Reading more carefully, though, we say "under the
directory at <prefix>" in the earlier part, which is probably
Note that this _is_ different than "git checkout-index --prefix", which
is a strict string prefix (i.e., you can checkout "--prefix=v1-" and get
 I was trying to figure out which feature of Git I was confusing it
with, but couldn't find one. I think I may have just been thinking
of checkout-index (which is not about matching existing paths, but
does have the different behavior). Normally matching of existing
paths is done with pathspecs, which I think should all use directory
boundaries for prefix-matching.