>> * obliterate: offer to revert conflicting unrecorded changes (if any)
>
> This is an interesting new behaviour for our UI (I think?) but it sounds
> like it could be very convenient and hard for the user to do
> efficiently themselves.
Some remarks:
First, sorry for the misleading patch name. The unrecorded changes we are
talking about actually don't conflict but /depend/ on (parts of the content
of) the patch(es) to be removed.
Yes, finding out which of the unrecorded changes do so and which don't is
hard to do manually while for Darcs it's the core business.
A patch that adds the same functionality for rebase suspend is in the queue.
In the opposite situation i.e. adding patches (apply/pull/unsuspend), where
we may get actual conflicts with unrecorded changes, offering to revert them
would be a possible alternative, too. We could even offer them one by one to
the user and ask what to do for each such conflicting change. However, this
would be superseded by interactive conflict resolution, which is something
that has been on my wishlist for a very long time.
More generally speaking, whenever we are in interactive mode and darcs makes
a suggestion or hint how to rectify/improve the situation, we should
consider offering to do it for them instead.
|