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.
- Julian

Reply via email to