Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Subversion Wiki" for 
change notification.

The "Ev2ImplementationPlan" page has been changed by HyrumWright:
http://wiki.apache.org/subversion/Ev2ImplementationPlan?action=diff&rev1=2&rev2=3

Comment:
Some thoughts on the implementation plan generally

  == Ev2 Implementation Plan ==
  
  This page describes (as near as I can tell) the various bits that need to be 
done to have a fully-Ev2-compliant Subversion.  Lots of this work is 
parallelizable, and I've tried to note dependencies where possible.
+ 
+ Many pieces of Ev2 do not interfere with the public API, or need not be 
public until we are ready to ship.  They can be developed on trunk, without any 
compile-time guards.  The pieces that ''are'' customer-impacting, are protected 
by the `--enable-ev2-impl` configuration flag, and should be guarded with the 
ENABLE_EV2_IMPL compiler macro until we are ready to release Ev2.  We try to 
guard the ''choice of implementation,'' rather than the implementation itself 
with these flags, so that Ev2 implementations are built even when not being 
run.  These design choice mean that the bulk of Ev2 development can (and 
should!) happen on trunk, in parallel with other Subversion feature development.
+ 
+ For performance reasons, we should release all of Ev2 simultaneously.  While 
it would be possible to have part of a release use Ev1 and part use Ev2, the 
nature of the shims means that the amount of overhead in an editor drive using 
them is generally O(size of drive) with some reasonably large coefficients.  As 
a result, we'd like to avoid having common or unbounded code paths run through 
the shims by default (as opposed to an error path, or a fallback for backward 
compatibility purposes).
  
  === Preliminary Work ===
  This table lists work that needs to be done prior to the rest of the 
implementation, and generally blocks any of the remaining sections.

Reply via email to