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

Dan Pascu dan at ag-projects.com
Fri Oct 2 11:27:06 UTC 2009


On 2 Oct 2009, at 07:38, Ganesh Sittampalam wrote:

> On Thu, 1 Oct 2009, Trent W. Buck wrote:
>
>> Dan Pascu <dan at ag-projects.com> writes:
>>
>>> I think I find having a new option (--skip-conflicts) to be much
>>> cleaner (and clearer) as I give an exact indication of what I  
>>> want: I
>>> accept to take just the non-conflicting patches. At the same time  
>>> the
>>> --dont-allow-conflicts option has already established a well defined
>>> meaning among users which does not suggest a partial operation.
>>> Changing its meaning will not only make its behavior surprising to
>>> older users, but the non-atomicity of the new behavior can make it
>>> troublesome especially for push, since the user didn't indicate that
>>> it's OK to have a non-atomic pull/push and he may only find it
>>> afterwards that he brought the code in the repository in a non-
>>> functional state.
>>
>> What happens if both are specified?  Currently I make
>> dont-allow-conflicts the default in my .darcs/defaults, but I'd  
>> like to
>> be able to supersede that behaviour by supplying --skip-conflicts  
>> on the
>> command line.  I guess these simply become a quaternary choice (along
>> with --allow-conflicts and --mark-conflicts), and the last one  
>> supplied
>> takes precedence.
>
> In this particular case, the natural code behaviour will be that -- 
> skip-conflicts is "stronger" than --dont-allow-conflicts or --mark- 
> conflicts, in that it will cause the list of patches to be filtered  
> appropriately before the other options are even considered, which in  
> turn would mean that the other options had no effect.

I'm not sure I understand what do mean here. You say that --skip- 
conflicts should take precedence no matter where it is specified  
(defaults file or command line)? If that is so, I do not think it  
would be the best choice. For example if I specify skip-conflicts in  
the defaults file, but then I use --dont-allow-conflicts on the  
command line, I expect the command line switch to take precedence over  
whatever is specified in the defaults file, otherwise it will be  
confusing.

I already reported a similar problem, where if I have mark-conflicts  
in the defaults file but I use --dont-allow-conflicts on the command  
line, the later is ignored; it may have been the other way around, I  
don't remember exactly, however the point is that a command line  
switch is ignored while the value from the defaults file is used,  
which is confusing. The command line should always take precedence  
over the defaults file. Also if multiple orthogonal switches are  
specified on the command line, the usual practice is to use the last  
one.

--
Dan





More information about the darcs-users mailing list