Re: RFC: git cat-file --follow-symlinks?
- From
Andreas Schwab <schwab@linux-m68k.org>
- Date
- Apr 30, 2015, 10:04 UTC
- Message-ID
- <87383ihqzp.fsf@igel.home>
- In-Reply-To
- <20150430033725.GB12361@peff.net>
Jeff King <peff@peff.net> writes:
Show 16 quoted lines
> 4. Return the last object we could resolve, as I described. So
> foo/bar/baz (with "../../../external" as its content) in this case.
> When you resolve a name, you can ask for the context we discovered
> along the way by traversing the tree. The mode is one example we've
> already discussed, but the path name is another. So something like:
>
> echo "HEAD^{resolve}:fleem" |
> git cat-file --batch="%(objectname) %(size) %(intreepath)"
>
> would show:
>
> 1234abcd 17 foo/bar/baz
> ../../../external
>
> And then the caller knows that the path is not relative to the
> original "fleem", but rather to "foo/bar/baz".Note that ".." will always follow the *physical* structure, so if foo/bar/baz is walking over symbolic links, "../../.." may lead you to somewhere else entirely.
Andreas.
-- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."