On the 'move-tracking-2' branch: Refactoring of branch state and branch transaction objects to allow implementing different subclasses with different private data.
This separates the private data from the (conceptually public) vtable.
* subversion/include/private/svn_branch.h (svn_branch_txn_vtable_t, svn_branch_state_vtable_t): New. (svn_branch_txn_t, svn_branch_state_t): Add a vtable.
* subversion/libsvn_delta/branch_private.h (svn_branch_txn_vtable_t, svn_branch_state_vtable_t): Rename from '*_priv_t' and remove the private data.
* subversion/libsvn_delta/branch.c (svn_branch_txn_priv_t, svn_branch_state_priv_t): Define here, containing just the private data. (svn_branch_txn_new_eid, svn_branch_txn_open_branch, svn_branch_txn_branch, svn_branch_txn_sequence_point, branch_txn_create): Track the rename of 'priv' to 'vtable'. (svn_branch_txn_create): Initialize the new 'priv' member. (svn_branch_state_alter_one, svn_branch_state_copy_tree, svn_branch_state_delete_one, svn_branch_state_purge, branch_state_create): Track the rename of 'priv' to 'vtable'. (svn_branch_state_create): Initialize the new 'priv' member.