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

On Thu, 1 Oct 2009, Trent W. Buck wrote:

Dan Pascu <[email protected]> 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



_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to