Fascinating. I am using (and hacking on) darcs so heavily and for such a
long time and still don't know about all the options ;-) So... thanks
for reminding me of --skip-conflicts. I don't think getting patches out
of order is a problem because when you rebase the order usually gets
shuffled pretty much anyway. And yes, --skip-conflicts would help to
first get rid of all non-conflicting patches in one go.
It doesn't /quite/ cut it, though, because I may still be left with more
than one patch and then have to unsuspend them one at a time, as I did
before. And i don't like that i have to use the same command first with
one option and then with another one. Anyway, thinking about what
--skip-conflicts does made gave me another idea:
I would be perfectly fine if patch selection would just /tell/ me that a
patch will conflict, /right at the point where the patch is offered/.
Then I could tell it to stop there or i could select it and then tell it
to stop or whatever. Given that --skip-conflicts is able to detect
conflicting patches before they are selected, i think that should be
possible. The behavior would be fully compatible and does not need a new
option and is also exactly the same for all commands.
We could still add an option --prompt-conflicts to make the UI safer to
use. This would ask the user to confirm selection of a patch when
selecting that patch leads to a conflict. I even think that, in the long
run, this should become the default behavior for all commands that can
potentially introduce conflicts i.e. push, pull, apply, rebase unsuspend
etc.
|