[darcs-devel] FullUnwind rebase behaviour

Ganesh Sittampalam ganesh at earth.li
Sun May 17 21:47:34 UTC 2020


On 17/05/2020 20:59, Ben Franksen wrote:

> Hmm. A DAG like in git or mercurial, not a tree? With special merger
> patches that can join branches?

Not with special merger patches. Patches with real content could depend
on multiple other patches directly, e.g. for conflict resolution, but
there'd be no need to have patches just to say "this is a merge".

> It'd be quite un-darcsy. And difficult to display and navigate.
> 
> I am not sure we should give up on a linear representation just yet.

I think the linear representation is great when things commute. I just
sometimes feel we may have taken it a little too far because it's the
only hammer we have.

> Perhaps we really need to come back to this RebasePatch idea, i.e. a new
> patch theory where conflicts are represented as pre and post fixups, but
> in such a way that we do /not/ automatically cancel inverses, nor
> canonize, except when we display patches and as the final step of
> unsuspend. I think this would allow us to represent conflicts faithfully
> because we could include (context;prim; prim^;context^) for every patch
> we conflict with, similar to what J.J. proposed in his inverse semigroup
> paper as a semantics for conflictors.

Or just store actual conflictors in rebase after all. Lots to think
about :-)

Ganesh


More information about the darcs-devel mailing list