From: Thomas Guyot <tguyot@gmail.com>
To: Jeff King <peff@peff.net>, Junio C Hamano <gitster@pobox.com>
Cc: "brian m. carlson" <sandals@crustytoothpaste.net>,
Taylor Blau <me@ttaylorr.com>,
git@vger.kernel.org, Thomas Guyot-Sionnest <dermoth@aei.ca>
Subject: Re: [PATCH 2/2] Allow passing pipes for input pipes to diff --no-index
Date: Sun, 20 Sep 2020 08:54:53 -0400 [thread overview]
Message-ID: <f338b63f-fd89-095c-b036-8d548fd2470c@gmail.com> (raw)
In-Reply-To: <20200918180239.GA186717@coredump.intra.peff.net>
On 2020-09-18 14:02, Jeff King wrote:
> On Fri, Sep 18, 2020 at 10:48:41AM -0700, Junio C Hamano wrote:
>
>> Jeff King <peff@peff.net> writes:
>>
>>> Getting back to the overall feature, this is definitely something that
>>> has come up before. The last I know of is:
>>>
>>> https://lore.kernel.org/git/20181220002610.43832-1-sandals@crustytoothpaste.net/
>>>
>>> which everybody seemed to like the direction of; I suspect the original
>>> author (cc'd) just never got around to it again. Compared to this
>>> approach, it uses a command-line option to avoid dereferencing symlinks.
>>> That puts an extra burden on the caller to pass the option, but it's way
>>> less magical; you could drop all of the "does this look like a symlink
>>> to a pipe" heuristics. It would also be much easier to test. ;)
>>
>> Yes, I do remember liking the approach very much and wanted to take
>> it once the "do not dereference symlinks everywhere---just limit it
>> to what was given from the command line" was done.
>>
>> To be quite honest, I think "git diff --no-index A B" should
>> unconditionally dereference A and/or B if they are symlinks, whether
>> they are symlinks to pipes, regular files or directories, and
>> otherwise treat symlinks in A and B the same way as "git diff" if A
>> and B are directories. But that is a design guideline that becomes
>> needed only after we start resurrecting Brian's effort, not with
>> these patches that started this thread.
>
> Yeah, I think I'd be fine with that approach, too. It makes "git diff
> --no-index" more like other tools out of the box. And if we took brian's
> patch first, then we'd just be flipping its default, and the option it
> adds would give an easy escape hatch for somebody who really wants to
> diff two maybe-symlinks.
Considering the issue with MacOS I'm starting to think the best solution
is to not use any heuristic and read passed-in files directly. That
said, I don't think it makes much change either way (if I resurrect
Brian's patch is will probably end up being a hybrid between the two as
both read the pipe at the same place and my approach was simpler further
down).
I'm not sure which way I prefer to start first - will you accept a patch
that reads passed in files as-is if I I start with this one?
In the mean time I will submit the first patch fixed) as a standalone one.
Regards,
Thomas
next prev parent reply other threads:[~2020-09-20 12:57 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-18 11:32 Allow passing pipes to diff --no-index + bugfix Thomas Guyot-Sionnest
2020-09-18 11:32 ` [PATCH 1/2] diff: Fix modified lines stats with --stat and --numstat Thomas Guyot-Sionnest
2020-09-18 14:46 ` Taylor Blau
2020-09-18 15:10 ` Thomas Guyot-Sionnest
2020-09-18 17:37 ` Jeff King
2020-09-18 18:00 ` Thomas Guyot-Sionnest
2020-09-20 4:53 ` Thomas Guyot
2020-09-18 17:27 ` Jeff King
2020-09-18 17:52 ` Thomas Guyot-Sionnest
2020-09-18 18:06 ` Junio C Hamano
2020-09-23 19:16 ` Johannes Schindelin
2020-09-23 19:23 ` Junio C Hamano
2020-09-23 20:44 ` Johannes Schindelin
2020-09-24 4:49 ` Thomas Guyot
2020-09-24 5:24 ` [PATCH v3] " Thomas Guyot-Sionnest
2020-09-24 7:41 ` [PATCH v4] " Thomas Guyot-Sionnest
2020-09-24 6:40 ` [PATCH 1/2] " Junio C Hamano
2020-09-24 7:13 ` Thomas Guyot
2020-09-24 17:19 ` Junio C Hamano
2020-09-24 17:38 ` Junio C Hamano
2020-09-23 15:05 ` Johannes Schindelin
2020-09-20 13:09 ` [PATCH v2] " Thomas Guyot-Sionnest
2020-09-20 15:39 ` Taylor Blau
2020-09-20 16:38 ` Thomas Guyot
2020-09-20 19:11 ` Junio C Hamano
2020-09-20 20:08 ` Junio C Hamano
2020-09-20 20:36 ` Junio C Hamano
2020-09-20 22:15 ` Junio C Hamano
2020-09-21 19:26 ` Jeff King
2020-09-21 21:51 ` Junio C Hamano
2020-09-21 22:20 ` Jeff King
2020-09-21 22:37 ` Junio C Hamano
2020-09-18 11:32 ` [PATCH 2/2] Allow passing pipes for input pipes to diff --no-index Thomas Guyot-Sionnest
2020-09-18 14:36 ` Taylor Blau
2020-09-18 16:34 ` Thomas Guyot-Sionnest
2020-09-18 17:19 ` Jeff King
2020-09-18 17:21 ` Jeff King
2020-09-18 17:39 ` Thomas Guyot-Sionnest
2020-09-18 17:48 ` Junio C Hamano
2020-09-18 18:02 ` Jeff King
2020-09-20 12:54 ` Thomas Guyot [this message]
2020-09-21 19:31 ` Jeff King
2020-09-21 20:14 ` Junio C Hamano
2020-09-18 17:58 ` Taylor Blau
2020-09-18 18:05 ` Jeff King
2020-09-18 17:20 ` Jeff King
2020-09-18 18:00 ` Taylor Blau
2020-09-18 21:56 ` brian m. carlson
2020-09-18 17:51 ` Allow passing pipes to diff --no-index + bugfix Junio C Hamano
2020-09-18 18:24 ` Thomas Guyot-Sionnest
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f338b63f-fd89-095c-b036-8d548fd2470c@gmail.com \
--to=tguyot@gmail.com \
--cc=dermoth@aei.ca \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=me@ttaylorr.com \
--cc=peff@peff.net \
--cc=sandals@crustytoothpaste.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).