Checkout
Julian Foad
committed
on 14 Aug 15
On the 'move-tracking-2' branch: More support for top-level (that is,
non-nested) branches.

In the underlying (old) repository, store the v… Show more
On the 'move-tracking-2' branch: More support for top-level (that is,

non-nested) branches.

In the underlying (old) repository, store the versioned content of each

branch hierarchy under a top-level directory named 'top0' for the hierarchy

rooted at top-level branch 0, and so on.

* subversion/include/private/svn_editor3e.h

 (svn_editor3__ev3_from_delta_for_commit): Remove the 'base_relpath'

   parameter.

* subversion/libsvn_delta/compat3e.c

 (ev3_from_delta_baton_t): Remove the 'base_relpath' field.

 (get_unsorted_paths): Remove the 'base_relpath' parameter.

 (apply_change): Adjust to having no base_relpath.

 (branch_get_top_num): New function.

 (branch_get_storage_root_rrpath): Prefix the path with 'top<N>/'.

 (drive_changes_branch): Adjust to having no base_relpath. Make it appear

   that B0 was created (as an empty dir) in r0.

 (wrap_fetch_baton_t,

  wrap_fetch_func): New wrapper to make it appear that B0 was created (as

   an empty dir) in r0.

 (svn_editor3_in_memory): Use that wrapper.

 (svn_editor3__ev3_from_delta_for_commit): Use that wrapper. Adjust to

   having no base_relpath.

 (svn_editor3__insert_shims,

  svn_editor3__ev3_from_delta_for_update): Track the change to

   svn_editor3__ev3_from_delta_for_commit().

* subversion/libsvn_ra/ra_loader.c

 (svn_ra_get_commit_editor_ev3): Adjust to having no base_relpath.

* subversion/svnmover/svnmover.c

 (wc_create): Ensure the RA session is parented at the repository root, not

   at the specified svnmover URL path.

* subversion/tests/cmdline/svnmover_tests.py

 (test_svnmover): Don't run 'svn log' if not needed, because the given URL

   is now an svnmover-only URL, not a valid URL in the underlying repo.

 (basic_svnmover,

  nested_replaces): Adjust the expected log paths to begin with '/top0'.

Show less