Re: [PATCH 2/2] diff: fix --exit-code with external diff
- From
- phillip.wood123@gmail.com <phillip.wood123@gmail.com>
- Date
- May 8, 2024, 15:25 UTC
- Message-ID
- <539926ac-4274-4b4b-a2ee-aa48af791124@gmail.com>
- In-Reply-To
- <4bf12c41-a6ea-4939-ba76-e2c784952eaa@web.de>
Hi René
On 06/05/2024 19:23, René Scharfe wrote:
Show 12 quoted lines
> Am 05.05.24 um 17:25 schrieb Phillip Wood: >> Merge strategies are expected to exit 0 on success, 1 when there are >> conflicts and another non-zero value for other errors - it would be >> nice to do something similar here where 1 means "there were >> differences" but it is probably too late to do that without a config >> value to indicate that we should trust the exit code. > Right, such a diff command protocol v2 would not need to pipe the > output through an inspection loop. Sounds like a good idea. It's > unfortunate that it would increase the configuration surface, which is > not in an acute need to expand. We could advertise the new option when > dying due to the unsupported combination of --exit-code and external > diff, but that's in equal parts helpful and obnoxious, I feel.
Yes, diff dying would be annoying but the message would be useful.
Thinking about the external diff and some of the other diff options I wonder what we should do when options like "--quiet" and "--name-only" are combined with an external diff (I haven't checked the current behavior). If we introduced a diff command protocol v2 we could include a way to pass through "--quiet" though maybe just redirecting the stdout of the external command to /dev/null and using the exit code would be sufficient.
Best Wishes
Phillip
P.S. I haven't forgotten about our unit-test discussion but I'm afraid it will probably be the middle of next month before I have time to reply.