Checkout
Julian Foad
committed
on 20 Oct 15
On the 'move-tracking-2' branch: Refactoring of branch state and branch
transaction objects to allow implementing different subclasses with… Show more
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.

Show less