Move tracking -- creating a commit editor & Ev1 conversion shims
From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Thu, 3 Jul 2014 18:34:09 +0100
On the 'move-tracking-2' branch I have checked in an API sketch for a move-tracking commit editor API. (It contains two alternative designs in one, side by side, in fact.)
I've called it "svn_editor3_t" (Ev3 for short) for the time being, not wanting to rip out or change the current "Ev2" just yet; but once we get this one a bit more definite, we can rename it to "svn_editor_t" (Ev2) replacing the current Ev2.
Based on recent discussions, the kind of editor we're looking at here is one that works with a per-node concept of branching -- without the idea of a designating certain nodes as "branch root" nodes, nor the idea of "elements" belonging to a branch family. Those ideas of constraining sets of nodes to be branched all together would be part of a higher layer of design.
Why refer to it as a "commit editor"? Because there are certain requirements that differ between a commit editor, an update/switch editor, and an editor used to drive a diff into the client-side merge code. I just want to concentrate on one of them, since that's quite enough to think about, before moving on to the others.
The most important thing to do next, and what I am doing now, is to write
á Ev3-to-Ev1 and Ev1-to-Ev3 converters
I think that will enable us/me to understand better how the old and new concepts fit together, and also enable us to build working code on top of existing code.
This is an archived mail posted to the Subversion Dev mailing list.