Hi, obliterate fans!
I have been writing[*] a specification of one possible design of
obliterate, at the level of what transformation occurs to the repository
as visible from the client side.
The text of the spec is at
<http://www.foad.me.uk/tmp/obliterate/fspec-cc1/cc1-fspec.txt>
and the diagrams showing the transformation are at
<http://www.foad.me.uk/tmp/obliterate/fspec-cc1/cc1-dir-ops-4.svg>
<http://www.foad.me.uk/tmp/obliterate/fspec-cc1/cc1-file-ops-4.svg>
in SVG format (Firefox, Inkscape, etc.) or
<http://www.foad.me.uk/tmp/obliterate/fspec-cc1/cc1-dir-ops-4.png>
<http://www.foad.me.uk/tmp/obliterate/fspec-cc1/cc1-file-ops-4.png>
in PNG format (web browsers etc.).
This design, which I have designated "CC1" for "Combine-Changes model
1", is the one in which obliterating a node-rev means replacing it with
"what was there before", which means the previous version of it if there
was one in (REV-1), or nothing if there was nothing in its place in
(REV-1). The "Combine Changes" name refers what happens to revision (REV
+1): its content stays the same, which means that the change referred to
as "-c (REV+1)" becomes the combination of the two old changes "-c
(REV),(REV+1)".
The interesting bit is to come: how well does this model achieve what
people want from it, and are there any better alternatives? I haven't
begun that evaluation.
Any comments, additions and criticism appreciated.
- Julian
[*] Full disclosure: I am starting this with a view to getting some
funding to finish it, so I may have to drop it again some time soon if I
don't find any funding.
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2365780
Received on 2009-06-26 18:57:22 CEST