I get your distinction between "clients that use the native Ev2 API", "clients that use the Ev1 API in Ev2-aware libraries", and "clients that use the Ev1 API in Ev2-oblivious libraries".
But I think striking the word(s) "third-party" from your third paragraph will not affect its correctness. Greg Stein wrote on Mon, Feb 06, 2012 at 17:55:29 -0500: > On Mon, Feb 6, 2012 at 17:39, Daniel Shahaf <danie...@elego.de> wrote: > >... > > 1. Third-parties who use Ev1 interface would lose the integrity check. > > > > 2. Subversion 1.7 uses, and will use, Ev1 interfaces. > > > > Therefore: > > > > 3. Subversion 1.7 would lose the integrity check. > > > > Correct? > > Nope. 'svn' is not considered a third-party, to begin with. Further, > internally, it only uses the Ev1 interfaces. No shims get inserted. > When we deploy Ev2 within the svn libraries and tools (in the 1.8 or > 1.9 release), we aren't going to use the shims, so we aren't going to > lose the integrity check. > > Third party clients, linked to Ev2-using libraries, and which continue > to use the old Ev1 APIs will have a shim inserted, and (thus) lose the > base_checksum integrity check. > > IOW, when we release an Ev2-based Subversion, and third-party clients > that were built against the 1.0 through 1.7 APIs... those clients will > have shims inserted, and lose the check. It *is* possible that our > backwards-compat code could fetch the checksum and pass it along to > those third-party Ev1 users. But in the current dual-shim setup that > Hyrum is developing/testing with, there is no such mechanism for > fetching (hard to do, compared to just disabling the check in the > first place). > > Does that make sense? > > Cheers, > -g