[darcs-devel] unsuspend-reify [was: [patch1824] v3: basic integration]

Ben Franksen ben.franksen at online.de
Sun Sep 1 19:54:34 UTC 2019


Am 01.09.19 um 17:44 schrieb Ganesh Sittampalam:
> On 01/09/2019 15:43, Ben Franksen wrote:
>> Am 01.09.19 um 13:26 schrieb Ganesh Sittampalam:
>>> On 01/09/2019 00:48, Ben Franksen wrote:
>>>>> I've had a play with changing ToEdit to be Named (PrimOf p) instead of
>>>>> Named p, and it seems to basically work.
>>>>
>>>> So you replace patches to be edited with their effect right away instead
>>>> of only when we unsuspend. Correct?
>>>
>>> Yes. But I think I could improve that to turn any patches undone by
>>> conflicts in the patch into fixups instead. This would address the point
>>> you make in your followup mail. At the moment I have no idea what
>>> happens to any embedded conflicts we suspend, but I doubt it's good. I
>>> expect they get lost when we call effect later.
>>
>> Even worse things happen. Here is a test:
> 
> OK. Regardless of any other changes, I think we ought to unwind
> conflicts when suspending them. The exact details of how to do that are
> not immediately clear to me but I guess it would be something like
> suspending the actual unconflicted patch, together with sufficient
> fixups to give it a valid context.

Once again, Judah Jacobsen's idea to define the effect of a conflictor
[r, {x1,..,xn}, p] as r;x1;x1^;..;xn;xn;p;p^ might prove useful here.

> I'll start by cleaning up and sending in (for discussion first) my
> change to use Named (PrimOf p) rather than Named p in ToEdit. It's not
> strictly necessary but it makes things clearer and I don't think calling
> effect when suspending will make things any worse than they already are.

Well, the failing test has convinced me that we need to do /something/.
I actually like the idea of using Named (PrimOf p) for rebase and you
may be right that this won't make things any worse and may be a good
preparation for a more principled fix.

Cheers
Ben



More information about the darcs-devel mailing list