Checkout Tools
  • last updated 37 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 1710045 is being indexed.

On the 'move-tracking-2' branch: Rename some identifiers away from 'editor3'

towards 'branch_compat'.

This continues the refactoring to use branch txn/state objects instead of

a single 'editor'.

  1. … 10 more files in changeset.
On the 'move-tracking-2' branch: Virtualize two more 'branch txn' methods.

Ensure derived classes initialize the public member variables.

This continues the refactoring to use branch txn/state objects instead of

a single 'editor'.

* subversion/include/private/svn_branch.h

(svn_branch_txn_serialize): Move function parameters to the usual order.

* subversion/libsvn_delta/branch.c

(svn_branch_txn_finalize_eids,

svn_branch_txn_serialize): Split into a static implementation and a

public dispatcher.

(branch_txn_create): Move further down the file. Add the new methods to

the vtable.

(svn_branch_txn_get_branch_by_id): Use only public methods so this does

not need to be virtual.

* subversion/libsvn_delta/branch_nested.c

(nested_branch_txn_finalize_eids,

nested_branch_txn_serialize): New.

(svn_nested_branch_txn_create): Add the new methods to the vtable.

Initialize the public member variables.

* subversion/libsvn_delta/branch_private.h

(branch_txn_v_finalize_eids_t,

branch_txn_v_serialize_t): New.

(svn_branch_txn_vtable_t): Add the new methods.

* subversion/libsvn_ra/ra_loader.c

(svn_branch_revision_fetch_info,

store_repos_info): Track the parameter order change.

* subversion/svnmover/svnmover.c

(execute): Track the parameter order change.

  1. … 5 more files in changeset.
On the 'move-tracking-2' branch: Hide some data members in the branch txn

class.

This continues the refactoring to use branch txn/state objects instead of

a single 'editor'.

* subversion/include/private/svn_branch.h

(svn_branch_txn_t): Move 'first_eid', 'next_eid' from here.

(svn_branch_txn_get_num_new_eids): New.

* subversion/libsvn_delta/branch.c

(svn_branch_txn_priv_t): Move 'first_eid', 'next_eid' to here.

(branch_txn_get_num_new_eids,

svn_branch_txn_get_num_new_eids): New.

(branch_txn_create): Add it to the vtable.

(EID_IS_ALLOCATED,

branch_txn_new_eid,

svn_branch_txn_finalize_eids,

svn_branch_txn_parse,

svn_branch_txn_serialize): Track the move.

* subversion/libsvn_delta/branch_nested.c

(nested_branch_txn_get_num_new_eids): New.

(svn_nested_branch_txn_create): Add it to the vtable.

* subversion/libsvn_delta/branch_private.h

(branch_txn_v_get_num_new_eids_t): New.

(svn_branch_txn_vtable_t): Add it to the vtable.

* subversion/libsvn_delta/compat3e.c

(editor3_alter): Remove an obsolete usage.

* subversion/svnmover/svnmover.c

(subtree_replay): Remove direct access to the 'first_eid' field.

(allocate_eids): New.

(wc_commit): Allocate here instead, using the new method instead of direct

access.

  1. … 5 more files in changeset.
On the 'move-tracking-2' branch: Add an 'abort' method to the txn class.

This continues the refactoring to use branch txn/state objects instead of

a single 'editor'.

* subversion/include/private/svn_branch.h

(svn_branch_txn_abort): New.

* subversion/libsvn_delta/branch.c

(branch_txn_abort,

svn_branch_txn_abort): New.

(branch_txn_create): Add it.

* subversion/libsvn_delta/branch_nested.c

(nested_branch_txn_abort): New.

(svn_nested_branch_txn_create): Add it.

* subversion/libsvn_delta/branch_private.h

(branch_txn_v_abort_t): New.

(svn_branch_txn_vtable_t): Add it.

  1. … 3 more files in changeset.
On the 'move-tracking-2' branch: Add a 'complete' method to the txn class.

This continues the refactoring to use branch txn/state objects instead of

a single 'editor'.

* subversion/include/private/svn_branch.h

(svn_branch_txn_complete): New.

* subversion/libsvn_delta/branch.c

(branch_txn_complete,

svn_branch_txn_complete): New.

(branch_txn_create): Add it.

* subversion/libsvn_delta/branch_nested.c

(nested_branch_txn_complete): New.

(svn_nested_branch_txn_create): Add it.

* subversion/libsvn_delta/branch_private.h

(branch_txn_v_complete_t): New.

(svn_branch_txn_vtable_t): Add it.

  1. … 3 more files in changeset.
On the 'move-tracking-2' branch: Virtualize access to private data in the

branch txn object.

* subversion/include/private/svn_branch.h

(svn_branch_txn_get_branches): Constify the txn pointer.

(svn_branch_txn_add_branch): New.

* subversion/libsvn_delta/branch.c

(branch_txn_get_branches,

branch_txn_add_branch,

branch_txn_add_new_branch,

branch_txn_delete_branch,

svn_branch_txn_get_branches,

svn_branch_txn_add_branch,

svn_branch_txn_add_new_branch,

svn_branch_txn_delete_branch,

branch_txn_create): Virtualize these four accessors for private data (the

'branches' array).

(svn_branch_txn_finalize_eids,

svn_branch_txn_get_branch_by_id,

svn_branch_txn_parse,

svn_branch_state_serialize): Make these 'public' functions use the

virtual accessors.

* subversion/libsvn_delta/branch_nested.c

(nested_branch_txn_get_branches,

nested_branch_txn_add_branch,

nested_branch_txn_add_new_branch,

nested_branch_txn_delete_branch,

svn_nested_branch_txn_create):

Add forwarding implementations for the new virtual methods.

* subversion/libsvn_delta/branch_private.h

(branch_txn_v_get_branches_t,

branch_txn_v_add_branch_t,

branch_txn_v_add_new_branch_t,

branch_txn_v_delete_branch_t,

svn_branch_txn_vtable_t):

Declare the new virtual methods.

  1. … 3 more files in changeset.
On the 'move-tracking-2' branch: Make branch txn methods return branch state

objects instead of branch ids.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(branch_txn_open_branch,

branch_txn_branch,

svn_branch_txn_open_branch,

svn_branch_txn_branch): Output a branch state object instead of a branch

id.

* subversion/libsvn_delta/branch_private.h

(branch_txn_v_open_branch_t,

branch_txn_v_branch_t): Same.

* subversion/libsvn_delta/branch_nested.c

(nested_branch_txn_open_branch,

nested_branch_txn_branch): Same.

* subversion/libsvn_delta/compat3e.c

(editor3_open_branch,

editor3_branch): Adjust callers.

  1. … 4 more files in changeset.
On the 'move-tracking-2' branch: Refactoring of branch state and branch

transaction objects to allow implementing different subclasses with

different private data.

Make generic class constructors that subclasses can re-use.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_txn_create,

svn_branch_state_create): Turn this into a 'base class' contructor.

(branch_txn_create,

branch_state_create): Let this be the constructor for the specific

implementation.

Adjust all callers.

  1. … 1 more file in changeset.
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.

  1. … 2 more files in changeset.
On the 'move-tracking-2' branch: Refactoring: make one public member private

in each of the 'branch txn' and 'branch state' objects, and move some

declarations to a private header.

* subversion/include/private/svn_branch.h

(svn_branch_txn_t,

svn_branch_state_t): Remove one public member.

* subversion/libsvn_delta/branch.c

(svn_vtable_priv_t,

branch_txn_v_*_t,

branch_state_v_*_t): Move to branch_private.h.

(svn_branch_txn_priv_t,

svn_branch_state_priv_t): Move to branch_private.h, and move a member

variable into this structure.

Adjust all callers/users.

* subversion/libsvn_delta/branch_private.h

New file.

  1. … 2 more files in changeset.
On the 'move-tracking-2' branch: Refactoring: give the 'branch txn' and

'branch state' objects some virtual methods.

These methods are intended to take over from the separate 'editor API'. At

this point, however, this is an additional layer below the editor API.

Only the more significant identifiers and changes are mentioned below.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_txn_priv_t,

svn_branch_state_priv_t): New.

(svn_branch_txn_t,

svn_branch_state_t): Insert an opaque pointer to a private structure that

contains the function vtable and any private data.

(branch_txn_*,

branch_state_*): New method implementations, some from code that was here

already and some code moved from compat3e.c.

(svn_branch_txn_create,

svn_branch_state_create): Fill in the vtable and private data.

(svn_branch_txn_open_branch,

svn_branch_txn_branch,

svn_branch_txn_sequence_point,

svn_branch_state_copy_tree): New methods, based on editor3 methods, with

implementations moved here from compat3e.c.

(svn_branch_txn_new_eid,

svn_branch_state_delete_one,

svn_branch_state_alter_one,

svn_branch_state_purge): Methods renamed and/or changed to the regular

form (output results via a pointer parameter, take a scratch pool,

return an error).

* subversion/libsvn_delta/compat3e.c

(editor3_new_eid,

editor3_open_branch,

editor3_branch,

editor3_alter,

editor3_copy_one,

editor3_copy_tree,

editor3_delete,

editor3_sequence_point): Move the implementations of these methods to

'branch.c', and call the branch object methods instead.

  1. … 2 more files in changeset.
On the 'move-tracking-2' branch: Minor refactoring.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_txn_add_new_branch): Rename from 'svn_branch_add_new_branch'.

Move 'txn' parameter to the first parameter.

(svn_branch_txn_delete_branch): Take a branch-id instead of a branch

pointer. Allow returning an error.

Delete an old commented-out suggestion for an element structure.

* subversion/libsvn_delta/branch_nested.c

(svn_branch_instantiate_elements_r): Track the changes.

* subversion/libsvn_delta/compat3e.c

(editor3_open_branch,

editor3_branch,

editor3_sequence_point): Track the changes.

  1. … 3 more files in changeset.
On the 'move-tracking-2' branch: Rename 'revision_root' to 'txn'.

* subversion/include/private/svn_branch.h

(svn_branch_txn_t,

svn_branch_txn_create,

svn_branch_txn_get_branches,

svn_branch_txn_get_branch_by_id,

svn_branch_txn_new_eid,

svn_branch_txn_finalize_eids,

svn_branch_txn_delete_branch,

svn_branch_txn_parse,

svn_branch_txn_serialize): Rename from *_revision_root_*.

Rename struct members and function arguments similarly.

* subversion/include/private/svn_branch_repos.h,

subversion/include/private/svn_editor3e.h,

subversion/include/private/svn_ra_private.h,

subversion/libsvn_delta/branch.c,

subversion/libsvn_delta/branch_nested.c,

subversion/libsvn_delta/branch_repos.c,

subversion/libsvn_delta/compat3e.c,

subversion/libsvn_ra/ra_loader.c,

subversion/svnmover/svnmover.c

Track these changes, and make similar changes nearly everywhere.

  1. … 9 more files in changeset.
On the 'move-tracking-2' branch: Minor refactoring.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_revision_root_get_branches): Return a copy of the array.

* subversion/libsvn_delta/compat3e.c

(drive_changes): Use svn_branch_revision_root_get_branches() instead

of direct access.

(editor3_sequence_point): Use svn_branch_revision_root_get_branches()

instead of direct access, and thus simplify a little.

  1. … 2 more files in changeset.
On the 'move-tracking-2' branch: Rename a struct and its functions,

following r1708631.

* subversion/include/private/svn_element.h,

subversion/libsvn_delta/element.c

(svn_element_content_t,

svn_element_content_create,

svn_element_content_dup,

svn_element_content_equal): Renamed from 'svn_branch_el_rev_content_*'.

* subversion/include/private/svn_branch.h,

subversion/include/private/svn_editor3e.h,

subversion/libsvn_delta/branch.c,

subversion/libsvn_delta/branch_nested.c,

subversion/libsvn_delta/compat3e.c,

subversion/libsvn_delta/editor3e.c,

subversion/svnmover/svnmover.c

Update all callers/users.

  1. … 8 more files in changeset.
On the 'move-tracking-2' branch: More refactoring, disentangling the concept

of nested branches from the basic concept of branches, following r1708550.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_state_t): Move the element mapping into a sub-structure.

(svn_branch_root_eid,

svn_branch_get_element_tree,

svn_branch_get_element_tree_at_eid): New.

(svn_branch_el_rev_content_t,

svn_branch_el_rev_content_create,

svn_branch_el_rev_content_dup,

svn_branch_el_rev_content_equal): Move to element.c/h.

(svn_branch_subtree_t,

svn_branch_subtree_create,

svn_branch_subtree_get_subbranch_at_eid): Move to branch_nested.c/h.

(svn_branch_get_element_tree_at_eid): Rename from

'svn_branch_get_subtree_n' and change the return type.

(svn_branch_instantiate_elements,

svn_branch_map_add_subtree): Change an input parameter type.

(svn_branch_subtree_get_path_by_eid): Delete; the replacement is

'svn_element_tree_get_path_by_eid'.

(map_purge_orphans): Delete; the replacement is

'svn_element_tree_purge_orphans'.

* subversion/include/private/svn_branch_nested.h,

subversion/libsvn_delta/branch_nested.c

(svn_branch_subtree_t,

svn_branch_subtree_create,

(svn_branch_subtree_get_subbranch_at_eid): Moved from branch.c/h.

* subversion/include/private/svn_element.h,

subversion/libsvn_delta/element.c

(svn_branch_el_rev_content_t,

svn_branch_el_rev_content_create,

svn_branch_el_rev_content_dup,

svn_branch_el_rev_content_equal): Move from branch.c/h.

(svn_element_tree_t,

svn_element_tree_create,

svn_element_tree_get,

svn_element_tree_set,

svn_element_tree_purge_orphans,

svn_element_tree_get_path_by_eid): New.

* subversion/libsvn_delta/compat3e.c

Update all callers/users.

* subversion/svnmover/svnmover.c

Update all callers/users.

  1. … 7 more files in changeset.
On the 'move-tracking-2' branch: Following r1708550, remove the 'root

branches' field of the branch state object.

* subversion/include/private/svn_branch.h

(svn_branch_revision_root_t): Remove the 'root branches' field. Update a

comment.

* subversion/libsvn_delta/branch.c

(svn_branch_revision_root_create,

svn_branch_add_new_branch,

svn_branch_revision_root_delete_branch,

svn_branch_revision_root_parse): No longer update the 'root branches'

field.

* subversion/libsvn_delta/compat3e.c

(drive_changes): Adjust the way of looping over all 'root branches'.

  1. … 2 more files in changeset.
On the 'move-tracking-2' branch: Update a doc string following r1707086.

* subversion/include/private/svn_branch.h

(svn_branch_get_element): Update the doc string.

On the 'move-tracking-2' branch: Update a doc string following r1708550.

* subversion/include/private/svn_branch.h

(svn_branch_add_new_branch): Update the doc string.

On the 'move-tracking-2' branch: Disentangle the concept of nested branches

from 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.

  1. … 9 more files in changeset.
On the 'move-tracking-2' branch: Update a comment following r1707086.

* subversion/include/private/svn_branch.h

(svn_branch_el_rev_content_t): Update a comment.

On the 'move-tracking-2' branch: Refactoring towards moving the

subbranch-root element concept to a higher level. Represent a subbranch-root

payload by a payload object with a flag set, rather than by null, and

eliminate some special handling of a subbranch-root element.

* subversion/include/private/svn_branch.h

(svn_branch_update_subbranch_root_element): Delete.

* subversion/include/private/svn_element.h

(svn_element_payload_t): Add an 'is_subbranch_root' field.

(svn_element_payload_create_subbranch): New.

* subversion/libsvn_delta/branch.c

(svn_branch_update_subbranch_root_element): Delete.

(branch_validate_element,

map_purge_orphans,

svn_branch_map_add_subtree,

svn_branch_state_parse,

svn_branch_state_serialize): Update the callers/users.

* subversion/libsvn_delta/compat3e.c

(editor3_alter): Update the callers/users.

* subversion/libsvn_delta/editor3e.c

(svn_editor3_alter,

svn_editor3_copy_one,

svn_editor3_payload_resolve,

wrap_alter): Update the callers/users.

* subversion/libsvn_delta/element.c

(svn_element_payload_invariants,

svn_element_payload_equal): Update the callers/users.

(svn_element_payload_create_subbranch): New.

* subversion/svnmover/svnmover.c

(subtree_replay,

element_merge,

mk_branch,

do_branch): Update the callers/users.

  1. … 6 more files in changeset.
On the 'move-tracking-2' branch: Simpify an API.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_instantiate_elements): Rename from

'svn_branch_instantiate_subtree'. Don't take new parent-eid and name

parameters; instead, take these from the 'elements' input.

* subversion/libsvn_delta/compat3e.c

(editor3_branch): Adjust the caller.

* subversion/svnmover/svnmover.c

(do_branch_into): Adjust the caller.

  1. … 3 more files in changeset.
On the 'move-tracking-2' branch: Record where branches were branched from.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_rev_bid_t,

svn_branch_rev_bid_create,

svn_branch_rev_bid_dup): New.

(svn_branch_state_t,

svn_branch_state_create,

svn_branch_add_new_branch,

svn_branch_subtree_t): Add a 'predecessor' field.

(svn_branch_get_subtree): Fill in the 'predecessor' field.

(svn_branch_instantiate_subtree): Pass on the predecessor when creating

any nested branches.

(parse_branch_line,

svn_branch_state_parse,

svn_branch_state_serialize): Read and write the branch predecessor info.

(svn_branch_revision_root_serialize): Finalize the predecessor 'rev' field

by converting '-1' to the committed revision number.

* subversion/include/private/svn_editor3e.h,

subversion/libsvn_delta/editor3e.c

(svn_editor3_open_branch,

svn_editor3_open_branch_t): Add a 'predecessor' field.

(wrap_open_branch,

change_detection_open_branch): Adjust accordingly.

* subversion/libsvn_delta/compat3e.c

(editor3_open_branch,

editor3_branch): Pass on the predecessor when creating a new branch.

* subversion/libsvn_ra/ra_loader.c

(svn_branch_get_mutable_state): Update all the 'predecessor' info to point

to the base revision instead of to that revision's predecessor.

* subversion/svnmover/svnmover.c

(svn_branch_replay): Pass on the predecessor when creating a new branch.

(mk_branch): Pass null for the predecessor of the new branch.

* subversion/tests/cmdline/svntest/wc.py

(re_parse_eid_branch,

State.from_eids): Adjust the regex for matching the branch metadata.

  1. … 7 more files in changeset.
On the 'move-tracking-2' branch: Some tidying up.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_id_nest): New.

(svn_branch_id_unnest): Rename from 'svn_branch_id_split'. Move the doc

string to the declaration.

(svn_branch_branch_subtree): Delete.

(svn_branch_rev_bid_eid_dup): Allow a null input.

(svn_branch_instantiate_subtree): Avoid using svn_branch_branch_subtree().

(svn_branch_state_parse): Track the rename.

* subversion/libsvn_delta/compat3e.c

(editor3_open_branch): Use svn_branch_id_nest().

* subversion/libsvn_delta/editor3e.c

(svn_editor3_open_branch,

svn_editor3_branch): Allow the output pointer to be null.

* subversion/svnmover/svnmover.c

(subtree_subbranch_str): Use svn_branch_id_nest().

(merge_subbranch): Avoid using svn_branch_branch_subtree().

(branch_merge_subtree_r): Add comments.

(subtree_diff_r): Use svn_branch_id_nest().

  1. … 4 more files in changeset.
On the 'move-tracking-2' branch: Keep track of new EIDs assigned with a

transaction, and only convert them to permanent EIDs at commit time.

This allows us to add elements in a txn based on an old revision, and then

'update' the txn to be based on a newer revision, and the EIDs added in the

newer revision will not clash with the EIDs added in the txn. (This 'update'

could be either a client-side WC update or the automatic rebase-on-commit.)

* subversion/libsvn_delta/editor3e.c

(VALID_EID): Adjust for local EIDs being negative.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_revision_root_t): Document that 'first_eid' holds less than

zero for transaction-local EIDs.

(svn_branch_txn_new_eid): Rename from 'svn_branch_revision_root_new_eid'.

Allocate negative EIDs instead of positive EIDs.

(branch_finalize_eids,

svn_branch_txn_finalize_eids): New.

(svn_branch_map_add_subtree): Track the rename.

* subversion/libsvn_delta/compat3e.c

(editor3_new_eid): Track the rename.

(editor3_alter): Track the rename. Adjust for local EIDs being negative.

(editor3_complete): Finalize the txn EIDs before committing.

* subversion/libsvn_delta/element.c

(svn_element_payload_invariants): Adjust for local EIDs being negative.

* subversion/svnmover/svnmover.c

(do_branch): Track the rename.

  1. … 5 more files in changeset.
On the 'move-tracking-2' branch: Tweak comments.

* subversion/include/private/svn_branch.h

(svn_branch_instantiate_subtree): Correct the doc string.

(svn_branch_branch_subtree): Fix a typo in the doc string.

On the 'move-tracking-2' branch: Tweak an API to remove an unneeded option.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_add_new_branch): Require the caller to specify the new branch

root EID. (Callers already comply.)

* subversion/include/private/svn_editor3e.h

(svn_editor3_open_branch): Correct the documentation -- the same requirement

is already enforced in this API.

  1. … 2 more files in changeset.
On the 'move-tracking-2' branch: Add an editor method 'open_branch'.

This gets rid of some direct access to the editor's txn.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_id_split): Newly public; renamed from 'branch_id_split'.

(svn_branch_state_parse): Track the rename.

* subversion/include/private/svn_editor3e.h

(svn_editor3_open_branch,

svn_editor3_cb_open_branch_t): New.

(svn_editor3_cb_funcs_t): Add the new method.

* subversion/libsvn_delta/editor3e.c

(svn_editor3_open_branch,

wrap_open_branch,

change_detection_open_branch): New.

(svn_editor3__get_debug_editor,

svn_editor3__change_detection_editor): Add the new method to the vtable.

* subversion/libsvn_delta/compat3e.c

(editor3_open_branch): New.

(svn_editor3_in_memory,

svn_editor3__ev3_from_delta_for_commit): Add it to the vtable.

(editor3_alter): Move the EID allocation hack to here...

* subversion/svnmover/svnmover.c

(subtree_replay): ... from here. Take a branch id instead of a pointer.

(svn_branch_replay): Use the new editor method. Use branch ids instead of

pointers.

(replay): Pass a branch id instead of a pointer.

(mk_branch): Use the new editor method. Return a branch id instead of a

pointer.

(execute): Adjust the call to mk_branch.

  1. … 5 more files in changeset.
On the 'move-tracking-2' branch: Rename a function for consistency.

* subversion/include/private/svn_branch.h

subversion/libsvn_delta/branch.c

(svn_branch_revision_root_new_eid): Renamed from

'svn_branch_allocate_new_eid'.

(svn_branch_map_add_subtree,

svn_branch_add_new_branch): Track the rename.

* subversion/libsvn_delta/compat3e.c

(editor3_new_eid): Track the rename.

* subversion/svnmover/svnmover.c

(subtree_replay,

do_branch): Track the rename.

  1. … 3 more files in changeset.