On the 'move-tracking-2' branch: Start implementing top-level branching.
Change the element data structures to support multiple top-level b…
On the 'move-tracking-2' branch: Start implementing top-level branching.Change the element data structures to support multiple top-level branches.Everything works as before, using only top-level branch number 0.This implementation assumes that the WC is within a single existing topbranch, and that the editor drive is within a single existing top branch.It does not yet support creating or deleting a top-level branch.It does not yet map top-level branches to different path-spaces in an oldrepository, so it does not yet have anywhere to store the payloads.* subversion/include/private/svn_branch.h, subversion/libsvn_delta/branch.c (svn_branch_repos_get_root_branch, svn_branch_repos_find_el_rev_by_path_rev): Select a particular top branch. (svn_branch_revision_root_t): Store an array of root branches instead of a single one. (svn_branch_revision_root_create): Remove the root branch parameter: instead, create the object with no branches. (svn_branch_revision_root_get_root_branch): New. (svn_branch_state_t): Update docs: for a top-level branch, the 'outer-eid' field now stores the top-level branch number.* subversion/include/private/svn_editor3e.h (svn_editor3_in_memory): Select a particular top branch.* subversion/libsvn_delta/compat3e.c (ev3_from_delta_baton_t): Remember which top branch we're editing. (drive_changes_branch, editor3_sequence_point): When accessing the root branch, access the right one. (svn_editor3_in_memory): Select a particular top branch.* subversion/svnmover/svnmover.c (wc_checkout): Initialize the editor for the requested top branch; error out if that branch doesn't exist. (wc_create): Remember which top branch the WC is editing. (replay): Take branches instead of rev-roots as inputs. (commit_callback_baton_t): Remember which top branch we are editing. (wc_commit): Pass the appropriate top level branches to replay(). (find_el_rev_by_rrpath_rev): Look up within the WC's designated top branch. (do_update): Operate within the designated top branch. (display_diff_of_commit, do_revert): Update calls. (usage, sub_main): Add a '-B'/'--branch-id' option to select the top branch.* subversion/svnmover/svnmover.h (svnmover_wc_t): Remember which top branch the WC is editing.