Greetings all! r1413184 introduced the --enable-ev2-impl flag to configure on trunk to allow interested users to compile with the Ev2 implementations of various operations. While the set of things that supports Ev2 is not nearly complete, it is (slowly) growing, and I'd like to do that development on trunk, rather than the current ev2-export branch.
To that end, I plan on selectively moving the current bits from the ev2-export branch to trunk, guarded by this configure-time flag. I also hope to add a buildslave which runs the tests with --enable-ev2-impl to catch failures soon after they are introduced. For the immediate future I'd like for this code to be compiled, but not in the call path by default. We can use #ifndef guards, but that means the code won't even be compiled. If we unconditionally compile the code in the same file, we get unused symbol warnings, and have to worry about clashing function names (Ev1 add_directory vs. Ev2 add_directory). It also creates something of a mess for people trying to determine which code is actually being used. Instead, I propose subdirectories named ev2 in the various libsvn_foo directories which would hold Ev2 implementations. They would eventually go away if/when the Ev2 implementations replace the existing ones. We haven't historically used subdirectories in this way, but I think this type of change would make implementation and maintenance easier. Thoughts? -Hyrum