Re: RFC: git cat-file --follow-symlinks?
From: David Turner <hidden>
Date: 2016-06-15 23:04:35
On Wed, 2015-04-29 at 14:49 -0700, Junio C Hamano wrote:
David Turner [off-list ref] writes:quoted
quoted
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.