From: Junio C Hamano Date: Wed, 29 Apr 2015 21:17:04 GMT Subject: Re: RFC: git cat-file --follow-symlinks? Message-ID: In-Reply-To: <1430341032.14907.9.camel@ubuntu> David Turner writes: > Do people think this is reasonable? I personally don't, exactly because we track the contents of the symlink itself, not the referent. Your "major wrinkle" that they can point outside the repository is a mere manifestation of that. The format specifiers the --batch option takes do not exactly give you what the in-tree type of the thing is, to allow the receiving end that parses the tagline (which it needs to do anyway in order to find out where the current record ends) act on it. %(objecttype) would just say "blob" and you cannot tell if it is a plain file, executable or a symbolic link. 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.