Re: RFC: git cat-file --follow-symlinks?

2015-04-30 Thread Jeff King
On Thu, Apr 30, 2015 at 11:44:50AM -0700, David Turner wrote: git ls-tree HEAD -- BUILD ? This does not actually seem to work (even with -r); it only recurses into directories that are named BUILD, rather than being equivalent to git ls-tree -r HEAD |grep /BUILD$. Ah, I thought that was

Re: RFC: git cat-file --follow-symlinks?

2015-04-30 Thread Jeff King
On Thu, Apr 30, 2015 at 12:00:22PM -0700, David Turner wrote: Also, BUILD files are scattered throughout the tree, so the entire tree would still need to be traversed. At present, our monorepo is not quite large enough for this to matter (a full ls-tree only takes me 0.6s), but it is

Re: RFC: git cat-file --follow-symlinks?

2015-04-30 Thread Jeff King
On Thu, Apr 30, 2015 at 08:29:14PM -0700, David Turner wrote: 4. Return the last object we could resolve, as I described. So [...] Actually, I think 4 has an insurmountable problem. Here's the case I'm thinking of: ln -s .. morx Imagine that we go to look up 'morx/fleem'. Now

Re: RFC: git cat-file --follow-symlinks?

2015-04-29 Thread David Turner
On Wed, 2015-04-29 at 14:16 -0700, Jonathan Nieder wrote: Hi, David Turner wrote: Instead, it would be cool if cat-file had a mode in which it would follow symlinks. Makes sense. The major wrinkle is that symlinks can point outside the repository -- either because they are

Re: RFC: git cat-file --follow-symlinks?

2015-04-29 Thread Jonathan Nieder
Jeff King wrote: 1. Git has to make a decision about what to do in corner cases. What is our cwd for relative links? The project root? I don't follow. Isn't symlink resolution always relative to the symlink, regardless of cwd? Thanks, Jonathan -- To unsubscribe from this list: send

Re: RFC: git cat-file --follow-symlinks?

2015-04-29 Thread Junio C Hamano
Jeff King p...@peff.net writes: I had imagined we would stop resolution and you would just get the last object peeled object. Combined with teaching cat-file to show more object context, doing: echo content dest ;# actual blob ln -s dest link;# link to blob ln -s broken foo ;#

Re: RFC: git cat-file --follow-symlinks?

2015-04-29 Thread David Turner
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

Re: RFC: git cat-file --follow-symlinks?

2015-04-29 Thread David Turner
On Wed, 2015-04-29 at 20:37 -0400, Jeff King wrote: On Wed, Apr 29, 2015 at 07:11:50PM -0400, Jeff King wrote: Yeah, I agree if you let git punt on leaving the filesystem, most of the complicated problems go away. It still feels a bit more magical than I expect out of cat-file, and there