Re: [PATCH] diff: add support for reading files literally with --no-index
- Date: Thu, 20 Dec 2018 18:37:07 +0100
- From: Duy Nguyen <pclouds@xxxxxxxxx>
- Subject: Re: [PATCH] diff: add support for reading files literally with --no-index
On Thu, Dec 20, 2018 at 6:32 PM Jeff King <peff@xxxxxxxx> wrote:
> On Thu, Dec 20, 2018 at 06:23:42PM +0100, Duy Nguyen wrote:
> > On Thu, Dec 20, 2018 at 6:18 PM Jeff King <peff@xxxxxxxx> wrote:
> > > > I wonder if --follow-symlinks would be a good alternative for this
> > > > (then if the final destination is unmmapable then we just read the
> > > > file whole in memory without the user asking, so it will work with
> > > > pipes). --follow-symlinks then could be made work with non-"no-index"
> > > > case too. But --literally is also ok.
> > >
> > > It's more than symlinks, though. Reading from a named pipe, we'd want to
> > > see the actual contents with --literally (and not "oops, I don't know
> > > how to represent a named pipe").
> > Yes, but I think at least --no-index it makes sense to just fall back
> > to read() if we can't mmap(). mmap is more of an optimization than a
> > requirement. There's no loss going from "oops I don't know how to
> > represent it" to "here's the content from whatever what that device
> > is". Symlinks are different because we have two possible
> > representations and the user should choose.
> Oh, I see. I misread your paragraph. Yeah, I think that is the behavior
> I would want by default, too, though the previous thread makes me thing
> some people would literally rather have the "I can't represent this"
> behavior (because they really do want a diff that can reconstruct the
> filesystem state, and an error if not).
I can't see a good use case for that. But yeah it would not harm to be
a bit more conservative, then make --literally default later and leave
--no-literally as an escape hatch.