Re: Plumbing work to make shelving complete and robust
From: Julian Foad <julianfoad_at_apache.org>
Date: Fri, 24 Aug 2018 17:26:33 +0100
Julian Foad wrote:
For connecting to the WC and to shelving, it is not a problem that the "svnrdump" dump editor lacks support for those features. It's a problem that the implementation is located in the "svnrdump" executable rather than in a library, but that is easy to overcome.
> => We need to unify these two implementations, to have a clean re-
So moving the "svnrdump" implementation into the library can be the first step (done: r1838835), and unifying can be the second step.
The attached patch 'unifying-dump-editors-1.patch' goes some way towards that.
> The delta edit driver in "svnadmin load" also does not seem to be shared
Only by implementing more than one edit driver for each editor (and vice versa) can we prove that the components are cleanly separated by an API and thus re-usable.
Then there is the need for a test framework that can generate all different combinations of changes and test each of the subsystems with all of those changes.
These improvements are not just to benefit shelving. In the longer term, if we are to make a major improvement like supporting moves/renames properly, in my opinion we need to do it starting from a baseline where we consistently and cleanly use APIs that encode the current semantics of versioned changes, and then migrate those.
-- - Julian
This is an archived mail posted to the Subversion Dev mailing list.