[darcs-users] darcs patch: Resolve issue1588:make--dont-allow-conflicts filter ...

Ben Franksen benjamin.franksen at bessy.de
Wed Oct 7 19:28:35 UTC 2009

Sittampalam, Ganesh wrote:
> Dan Pascu wrote:
>> On 5 Oct 2009, at 22:51, Ganesh Sittampalam wrote:
>>>> If they are mutually exclusive, I assume that the program will
>>>> decide what option to use before it starts to do anything. So if I
>>>> have skip-conflicts in the defaults file but I give --dont-allow-
>>>> conflicts on the command line, then indeed I expect that skip-
>>>> conflicts (specified in the defaults) is completely suppressed and
>>>> ignored.
>>> Right, and I am saying that this behaviour, while straightforward to
>>> implement, might be rather confusing.
>> Here is where we view things differently. I find it straight forward
>> to see them as mutually exclusive, because then I know that the last
>> one specified is the one that has an effect. Otherwise I would have
>> to keep in mind the relations between them as well as what options
>> was set in every place (internal defaults, global and local defaults
>> file and command line) and to mentally compute the result of their
>> combination. This is hardly something I want to do or find it to be
>> simple/intuitive.
> I've been thinking about this a bit more and I agree that tacking on an
> orthogonal --skip-conflicts to the existing situation would be wrong.
> Right now, we have the mutually exclusive set of options
> --mark-conflicts, --allow-conflicts and --don't-allow-conflicts, and the
> orthogonal option --external-merge, which can still affect the conflict
> handling behaviour as I think you were complaining about previously.

This is madness! Just reading this gives me a headache. Please let us not
any further contemplate the issue while taking the existing set of options
for granted, they are not and they should not remain. The combined
semantics of all those separate options is already much too complicated.
Discussing how yet another addition to this jumble is more or less
intuitive sounds like a bad joke to me.

I propose you stop at this point and consider what a really good UI would
look like. You might consider my proposal to use an enumeration type value
to supply with a general --conflicts=whatever-method. Maybe that is too
simple in itself, but it is a step in the right direction instead of going
deeper and deeper into the swamp.

My 2 cents.


More information about the darcs-users mailing list