From: David Turner Date: Thu, 30 Apr 2015 01:45:45 GMT Subject: Re: RFC: git cat-file --follow-symlinks? Message-ID: <1430358345.14907.62.camel@ubuntu> In-Reply-To: <20150430011612.GA7530@peff.net> On Wed, 2015-04-29 at 21:16 -0400, Jeff King wrote: > On Wed, Apr 29, 2015 at 06:06:23PM -0700, David Turner wrote: > 3. Ditto for out-of-tree. Note that this would be the _raw_ symlink > contents, not any kind of simplification (so if you asked for > "foo/bar/baz" and it was "../../../../out", you would the full path > with all those dots, not a simplified "../out", which I think is > what you were trying to show in earlier examples). Unfortunately, we need the simplified version, because we otherwise don't know what the ..s are relative to in the case of a link to a link: echo content >dest ;# actual blob mkdir -p foo/bar ln -s foo/bar/baz fleem # in-tree link-to-link ln -s ../../../external foo/bar/baz # out-of-tree link If echo HEAD^{resolve}:fleem were to return ../../../external (after following the first symlink to the second), we would have lost information.