On Wed, 2015-04-29 at 14:49 -0700, Junio C Hamano wrote: > David Turner <dturner@xxxxxxxxxxxxxxxx> writes: > > >> Perhaps an ideal interface might be something like this: > >> > >> $ echo HEAD:RelNotes | > >> git cat-file --batch='%(objecttype) %(intreemode) > >> %(objectsize)' blob 160000 32 > >> Documentation/RelNotes/2.4.0.txt > >> > >> I suspect it would be just the matter of teaching "cat-file > >> --batch" to read from get_sha1_with_context() in > >> batch_one_object(), instead of reading from get_sha1() which it > >> currently does. > >> > >> And that inteferface I think I can live with. > > > > Even if I had %(intreemode), I would still have to do a recursive > > search to figure out whether Documentation or RelNotes was a > > symlink. I apologize. I have misread your example. All of my text was assuming that Documentation/Relnotes/2.4.0.txt was a symlink, instead of /RelNotes being a symlink to Documentation/Relnotes/2.4.0.txt. So my previous message was very difficult to interpret. I think Jeff King's reply is a better starting point for discussion, since it lays out the advantages and disadvantages of the proposal. > allowing it to make policy decisions (e.g. "if > outside repository, always look at the filesystem that the program > happens to be running" [*1*]) Despite my confusion, I don't think I ever proposed doing this. I proposed that in the case that a symlink points outside the repo, cat-file would tell the caller that it has done so, so that the caller can decide what to do. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html