Author: hwright
Date: Wed Jan 18 16:28:43 2012
New Revision: 1232950

URL: http://svn.apache.org/viewvc?rev=1232950&view=rev
Log:
* subversion/include/svn_editor.h:
  Add some notes about the implementation plan.

Modified:
    subversion/trunk/subversion/include/svn_editor.h

Modified: subversion/trunk/subversion/include/svn_editor.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_editor.h?rev=1232950&r1=1232949&r2=1232950&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_editor.h (original)
+++ subversion/trunk/subversion/include/svn_editor.h Wed Jan 18 16:28:43 2012
@@ -87,7 +87,7 @@ extern "C" {
  * receiver editing its tree to the target state defined by the driver.
  *
  *
- * HISTORY
+ * <h3>History</h3>
  *
  * Classically, Subversion had a notion of a "tree delta" which could be
  * passed around as an independent entity. Theory implied this delta was an
@@ -117,6 +117,31 @@ extern "C" {
  * the most common functionality (cancellation and debugging) have been
  * integrated directly into this new editor system.
  *
+ *
+ * <h3>Implementation Plan</h3>
+ * @note This section can be removed after Ev2 is fully implemented.
+ *
+ * The delta editor is pretty engrained throughout Subversion, so attempting
+ * to replace it in situ is somewhat akin to performing open heart surgery
+ * while the patient is running a marathon.  However, a viable plan should
+ * make things a bit easier, and help parallelize the work.
+ *
+ * In short, the following items need to be done:
+ *  -# Implement backward compatibility wrappers ("shims")
+ *  -# Use shims to update editor consumers to Ev2
+ *  -# Update editor producers to drive Ev2
+ *     - This will largely involve rewriting the RA layers to accept and
+ *       send Ev2 commands
+ *  -# Optimize consumers and producers to leverage the features of Ev2
+ *
+ * The shims are largely self-contained, and as of this writing, are almost
+ * complete.  They can be released without much ado.  However, they do add
+ * <em>significant</em> performance regressions, which make releasing code
+ * which is half-delta-editor and half-Ev2 inadvisable.  As such, the updating
+ * of producers and consumers to Ev2 will probably need to wait until 1.9,
+ * though it could be largely parallelized.
+ *
+ *
  * @defgroup svn_editor The editor interface
  * @{
  */


Reply via email to