Re: RFC: git cat-file --follow-symlinks?
- From
David Turner <dturner@twopensource.com>
- Date
- Apr 29, 2015, 22:47 UTC
- Message-ID
- <1430347672.14907.48.camel@ubuntu>
- In-Reply-To
- <xmqqh9ry4nbx.fsf@gitster.dls.corp.google.com>
On Wed, 2015-04-29 at 14:49 -0700, Junio C Hamano wrote:
Show 19 quoted lines
> David Turner <dturner@twopensource.com> 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.