On the 'move-tracking-2' branch: More support for top-level (that is, non-nested) branches.
This makes it possible to create a new top-leve…
On the 'move-tracking-2' branch: More support for top-level (that is,non-nested) branches.This makes it possible to create a new top-level branch by branching anyexisting branch, by means of: svnmover -B <existing-branch-id> tbranch <path-to-existing-branch>(The syntax is redundant, as <existing-branch-id> implies<path-to-existing-branch>.)TODO: * change svnmover syntax so that paths given are relative to the branch designated by the "-B" option; * mkbranch <top-level-branch> * rmbranch <top-level-branch> * command-line syntax for addressing things in other top-level branches, e.g. <path>@[<rev>].[B<branch-id>] or ^B<branch-id>/path[@rev]* subversion/include/private/svn_branch.h (svn_branch_add_new_branch, svn_branch_branch_subtree): Take the revision root as a separate parameter.* subversion/libsvn_delta/branch.c (svn_branch_instantiate_subtree): Adjust calls to track the API changes. (svn_branch_add_new_branch, svn_branch_branch_subtree): Take the revision root as a separate parameter. (svn_branch_revision_root_delete_branch): Also update the list of top-level branches, in preparation for when we can delete a top-level branch. (svn_branch_delete_branch_r): Remove a dereference that was redundant for nested branches but would have broken when deleting a top-level branch. (svn_branch_repos_find_el_rev_by_path_rev): Error out nicely if asked to look in a nonexistent top-level branch.* subversion/libsvn_delta/compat3e.c (drive_changes_branch): Create the top-level storage node for any newly created top-level branch.* subversion/svnmover/svnmover.c (commit_callback_baton_t, display_diff_of_commit): Rename a baton field, for clarity. (wc_commit): Support creating a new top-level branch as part of the commit. (action_code_t, action_defn): Add a 'tbranch' subcommand. (do_topbranch): New. (execute): Implement the 'tbranch' subcommand. (find_el_rev_by_rrpath_rev): Adjust doc string now that it can return an error if the given top-level branch does not exist at the requested rev. (svn_branch_replay, merge_subbranch, mk_branch, do_branch): Adjust calls to track the API changes.