As an astute follower of commits@ will notice, I've started poking at Editor v2 (Ev2). This is a brief mail to hopefully keep interested parties aware of what I'm doing, and to solicit potential help.
Background: For those who don't know, Ev2 is a replacement API for the ubiquitous "delta editor" throughout Subversion. Much like wc-ng, it's designed with the benefit of 10 years of hindsight, and the hope of both simplifying things and improving them moving forward. There are some docs in notes/ and some on the mailing list, but the canonical source of information is the header file: svn_editor.h. With the hopes of eventually enabling some of the features that depend upon it, I've started looking at implementing Ev2. *Unlike* wc-ng, I think that Ev2 can be implemented in a modular fashion: we don't have to rewrite all the editors in Subversion simultaneously. Part of that modularity is a pair of shims, one from Ev2 to the delta editor, and a reverse version. Protoversion of these can be found in libsvn_delta/compat.c. In r1166900 I instrumented a large portion of the Subversion code to optionally insert these shims when creating delta editors to aid in testing (this is disabled by default). Once the shims are written, we should be able to start looking at rewriting individual editors. I don't anticipate writing the shims to be difficult, just time consuming, due to the differing paradigms between Ev2 and the delta editor. I do expect these shims will introduce a bit of memory and runtime overhead, which may limit our desire to use them in their naïve form in a public release. The existing editors will serve as the primary tests, with additional test cases in libsvn_delta/editor-test.c That's about all there is right now, but I figured folks would be interested. I welcome any help, review, comments or questions as this work goes forward. Thanks, -Hyrum -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com/