On Fri, Aug 24, 2018 at 12:26 PM Julian Foad <julianfoad_at_apache.org> wrote:
> 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.
>
>
I'm not expert enough on Subversion internals to give in-depth
technical feedback here, but overall this refactoring sounds like a
good game plan, as it will improve consistency and testability, and
it sounds like it will make it possible (and/or easier) to
implement all sorts of nifty new features in the long run. Not only
should this benefit shelving, but checkpointing (which in my view
seems like an extended version of shelving) should benefit
significantly as well.
Received on 2018-08-24 20:26:14 CEST