On the 'move-tracking-2' branch: Disentangle the concept of nested branchesfrom the basic concept of branches.* subversion/include/private/svn_branch.h, subversion/libsvn_delta/branch.c (svn_branch_state_t, svn_branch_state_create, svn_branch_add_new_branch): Add a branch-id field, and delete the outer- branch and outer-eid fields. (svn_branch_get_element): Remove an assertion which need not be true, and which with the new code is not always true. Move some functions to svn_branch_nested.h and branch_nested.c.* subversion/include/private/svn_branch_repos.h, subversion/libsvn_delta/branch_repos.c Move some functions to svn_branch_nested.h and branch_nested.c.* subversion/include/private/svn_branch_nested.h, subversion/libsvn_delta/branch_nested.c New files.* subversion/libsvn_delta/compat3e.c (branch_get_top_num): Delete. (branch_get_storage_root_rrpath, editor3_open_branch, editor3_branch, drive_changes, editor3_sequence_point): Adjust accordingly.* subversion/svnmover/svnmover.c (branch_id_str, do_branch_into, point_to_outer_element_instead, execute): Adjust accordingly.* subversion/tests/cmdline/svnmover_tests.py (merge_swap_abc, move_to_related_branch_2): Adjust expected outputs of the '--ui=serial' listing to account for branch root paths no longer being included in the serialization format.* subversion/tests/cmdline/svntest/wc.py (_re_parse_eid_branch, State.from_eids): Adjust to account for branch root paths no longer being included in the serialization format.