Checkout Tools
  • last updated 2 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 1678203 is being indexed.

On the 'move-tracking-2' branch: Eliminate some direct access to branch

object implementation details.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_repos_find_el_rev_by_id): New.

* subversion/libsvn_delta/compat3e.c

(svn_editor3_get_all_branches_in_rev): Use an accessor function instead of

directly reading rev_root->branches.

* subversion/svnmover/svnmover.c

(svn_branch_find_predecessor_el_rev): Use the new method

'svn_branch_repos_find_el_rev_by_id'.

(svn_branch_log): Adjust the call to 'svn_branch_find_predecessor_el_rev'.

  1. … 3 more files in changeset.
On the 'move-tracking-2' branch: Eliminate some direct access to branch

object implementation details.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_get_elements): New.

* subversion/svnmover/svnmover.c

(sort_compare_items_by_eid): New.

(list_branch_elements_by_eid,

branch_merge_subtree_r): Iterate over the elements in the branch

rather than over all known element ids.

(flat_branch_diff_r,

svn_branch_diff_r): Print element ids using a hard-coded minimum width of

3 rather than based on the maximum of all known element ids.

  1. … 2 more files in changeset.
On the 'move-tracking-2' branch: Delete a branch_state_t API function that

assumed branch state would have access by paths.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_get_subbranches): Delete.

(svn_branch_get_subtree): Gather subbranches a different way, using

svn_branch_get_all_subbranches() instead of svn_branch_get_subbranches().

  1. … 1 more file in changeset.
On the 'move-tracking-2' branch: Tweak function and variable names for

consistency: say 'subbranch' instead of 'sub_branch'.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_get_all_subbranches): Was 'svn_branch_get_all_sub_branches'.

(svn_branch_purge_r,

svn_branch_delete_branch_r): Track the rename.

(svn_branch_get_subbranches,

svn_branch_get_subbranch_at_eid): Rename a local variable.

(svn_branch_find_nested_branch_element_by_rrpath): Track the rename.

Rename local variables.

* subversion/libsvn_delta/compat3e.c

(convert_branch_to_paths_r): Track the rename.

  1. … 2 more files in changeset.
On the 'move-tracking-2' branch: Add a simple accessor function.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_subtree_get_subbranch_at_eid): New.

  1. … 1 more file in changeset.
On the 'move-tracking-2' branch: Correct a doc string.

* subversion/include/private/svn_branch.h

(svn_branch_subtree_t): Correct the doc string.

On the 'move-tracking-2' branch: Expose a function publicly.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_subtree_get_path_by_eid): Make public.

  1. … 1 more file in changeset.
On the 'move-tracking-2' branch: Add a comment about element ids being

arbitrary.

* subversion/include/private/svn_branch.h,

(svn_branch_eid_t): Add a comment.

On the 'move-tracking-2' branch: Add a comment about branch ids being

arbitrary.

* subversion/include/private/svn_branch.h,

(svn_branch_revision_root_get_branch_by_id,

svn_branch_get_id): Add a comment and a cross-reference.

On the 'move-tracking-2' branch: Introduce the term 'payload' for the

props/text/symlink content of an element, as the term 'content' was not

specific enough.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_el_rev_content_t): Rename 'content' field to 'payload'.

(svn_branch_el_rev_content_create,

svn_branch_update_element,

): Rename the 'node_content' parameter to 'payload'.

Track the renames.

* subversion/include/private/svn_element.h,

subversion/libsvn_delta/element.c

(svn_element_payload_t): Renamed from 'svn_element_content_t'.

(svn_element_payload_dup,

svn_element_payload_equal,

svn_element_payload_create_ref,

svn_element_payload_create_dir,

svn_element_payload_create_file,

svn_element_payload_create_symlink):

Renamed from 'svn_element_content_*'.

* subversion/include/private/svn_editor3e.h,

subversion/libsvn_delta/editor3e.c,

(svn_editor3_add,

svn_editor3_instantiate,

svn_editor3_copy_one,

svn_editor3_alter,

svn_editor3_cb_add_t,

svn_editor3_cb_instantiate_t,

svn_editor3_cb_copy_one_t,

svn_editor3_cb_alter_t,

wrap_add,

wrap_instantiate,

wrap_copy_one,

wrap_alter):

Rename the 'new_content' parameter to 'new_payload'.

(VALID_PAYLOAD): Renamed from 'VALID_CONTENT'.

Track the renames.

* subversion/include/private/svn_editor3e.h,

subversion/libsvn_delta/compat3e.c

(svn_editor3_payload_resolve): Renamed from 'svn_editor3_content_resolve'.

Rename the 'content_p' parameter to 'payload_p'.

(payload_fetch): Renamed from 'content_fetch'.

Track the renames.

* subversion/svnmover/svnmover.c

(payload_merge): Renamed from 'content_merge'.

Track the renames.

* subversion/include/private/svn_editor3p.h,

subversion/libsvn_delta/editor3p.c

(svn_editor3p_put,

svn_editor3p_cb_put_t,

wrap_put): Track the renames.

* subversion/libsvn_delta/compat3p.c

(process_actions,

editor3_put): Track the renames.

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

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_copy_subtree): Was 'svn_branch_copy_subtree_r'.

Improve the doc string.

Track the rename.

* subversion/libsvn_delta/compat3e.c

(editor3_copy_tree): Track the rename.

  1. … 2 more files in changeset.
On the 'move-tracking-2' branch: Rename a function and improve doc strings.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_instantiate_subtree): Improve the doc string.

(svn_branch_branch_subtree): Was 'svn_branch_branch_subtree_r2'.

Improve the doc string.

Track the rename.

* subversion/svnmover/svnmover.c

(merge_subbranch): Track the rename.

  1. … 1 more file in changeset.
On the 'move-tracking-2' branch: Remove an obsolete comment.

* subversion/include/private/svn_branch.h

(svn_branch_branch_subtree_r2): Remove an obsolete comment.

On the 'move-tracking-2' branch: Remove an unnecessary public function.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_map_purge_orphans): Delete.

(svn_branch_purge_r,

svn_branch_state_serialize): Call map_purge_orphans() directly.

  1. … 1 more file in changeset.
On the 'move-tracking-2' branch: Fix indentation, following r1676469.

* subversion/include/private/svn_branch.h

(svn_branch_get_element,

svn_branch_delete_element,

svn_branch_update_element,

svn_branch_update_subbranch_root_element): Fix indentation.

On the 'move-tracking-2' branch: Rename 'svn_branch_map_{get,update,...}' to

'svn_branch_{get,update,...}_element'.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_get_element): Was 'svn_branch_map_get'.

(svn_branch_delete_element): Was 'svn_branch_map_delete'.

(svn_branch_update_element): Was 'svn_branch_map_update'.

(svn_branch_update_subbranch_root_element): Was

'svn_branch_map_update_as_subbranch_root'.

Track the renames.

* subversion/libsvn_delta/compat3e.c

Track the renames.

* subversion/svnmover/svnmover.c

Track the renames.

  1. … 3 more files in changeset.
On the 'move-tracking-2' branch: Correct some comments: an element with null

node-content is a subbranch-root element, not unknown.

* subversion/include/private/svn_branch.h

(svn_branch_map_get): Correct a comment.

* subversion/libsvn_delta/branch.c

(branch_map_set): Correct a comment.

  1. … 1 more file in changeset.
On the 'move-tracking-2' branch: Rename functions and variables from 'node'

to 'element'.

* subversion/include/private/svn_branch.h

(svn_branch_map_get,

svn_branch_map_update_as_subbranch_root): Update comments.

* subversion/libsvn_delta/branch.c

(branch_validate_element): Was branch_map_node_validate. Update comments

following r1676460.

(svn_branch_map_get,

branch_map_set,

svn_branch_map_update_as_subbranch_root): Track the rename. Update

comments.

(svn_branch_get_subtree,

map_purge_orphans,

svn_branch_map_add_subtree,

svn_branch_instantiate_subtree): Rename variables of type

'svn_branch_el_rev_content_t' from 'node' to 'element'.

* subversion/libsvn_delta/compat3e.c

Update comments.

* subversion/libsvn_delta/editor3e.c

Update a comment.

  1. … 3 more files in changeset.
On the 'move-tracking-2' branch: Document 'EID' better.

* subversion/include/private/svn_branch.h

(svn_branch_eid_t): Improve comments.

On the 'move-tracking-2' branch: Note that svn_branch_subtree_t

should be used in implementing svn_branch_state_t.

* subversion/include/private/svn_branch.h

(svn_branch_state_t,

svn_branch_subtree_t): Add comments.

On the 'move-tracking-2' branch: Tweak doc strings.

* subversion/include/private/svn_branch.h

(svn_branch_revision_root_t): Tweak the doc strings.

* subversion/svnmover/svnmover.c

(branch_info): Correct the doc string.

  1. … 1 more file in changeset.
On the 'move-tracking-2' branch: Rename 'branch instance' to simply 'branch'

in most cases, and 'svn_branch_instance_t' to 'svn_branch_state_t'.

The 'instance' terminology was a relic from when groups of branches shared a

'sibling definition' -- which I deleted in r1674825.

* subversion/include/private/svn_branch.h

(svn_branch_revision_root_t): Rename 'branch_instances' to 'branches'.

(svn_branch_revision_root_get_branches): Was

'svn_branch_get_all_branch_instances'.

(svn_branch_revision_root_get_branch_by_id): Was

'svn_branch_get_branch_instance_by_id'.

(svn_branch_state_t): Was 'svn_branch_instance_t'.

(svn_branch_state_create): Was 'svn_branch_instance_create'.

(svn_branch_add_new_branch): Was 'svn_branch_add_new_branch_instance'.

(svn_branch_delete_branch_r): Was 'svn_branch_delete_branch_instance_r'.

(svn_branch_get_id): Was 'svn_branch_instance_get_id'.

* subversion/libsvn_delta/branch.c

(assert_branch_state_invariants): Was 'assert_branch_instance_invariants'.

(svn_branch_revision_root_delete_branch): Was

'svn_branch_revision_root_delete_branch_instance'.

(svn_branch_state_parse): Was 'svn_branch_instance_parse'.

(svn_branch_state_serialize): Was 'svn_branch_instance_serialize'.

Track the other renames.

* subversion/svnmover/svnmover.c

(list_all_branches): Was 'list_all_branch_instances'.

Track the other renames.

* subversion/include/private/svn_editor3e.h,

subversion/libsvn_delta/compat3e.c,

subversion/libsvn_delta/editor3e.c

Track all the renames.

  1. … 5 more files in changeset.
On the 'move-tracking-2' branch: Make a function public.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_get_branch_instance_by_id): New, moved and renamed...

* subversion/svnmover/svnmover.c

(svn_branch_revision_root_find_branch_by_id): ... from here.

(svn_branch_find_predecessor_el_rev): Update the (only) call to it.

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

* subversion/include/private/svn_branch.h

(svn_branch_get_subtree): Document the lifetime.

On the 'move-tracking-2' branch: Combine two functions into one.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_branch_subtree_r): Delete; move its body...

(svn_branch_branch): ... into here.

  1. … 1 more file in changeset.
On the 'move-tracking-2' branch: Remove 'branch family' and 'branch sibling

definition' data types.

The 'family' concept has been redundant since r1673476. The 'sibling'

concept, that is the concept of groups of branches having something in

common, is not currently used, and so was just confusing.

No behavioural change.

* subversion/include/private/svn_branch.h

(svn_branch_family_t,

svn_branch_sibling_t): Delete.

(svn_branch_revision_root_t): Move the first and next EID fields to here.

(svn_branch_instance_t): Move the root EID field to here.

Elsewhere: adjust accordingly.

* subversion/libsvn_delta/branch.c

Adjust everything accordingly.

* subversion/libsvn_delta/compat3e.c

Adjust everything accordingly.

* subversion/libsvn_delta/editor3e.c

Adjust everything accordingly.

* subversion/svnmover/svnmover.c

Adjust everything accordingly.

  1. … 3 more files in changeset.
On the 'move-tracking-2' branch: Remove 'branch family' and 'branch sibling

definition' data types.

The 'family' concept has been redundant since r1673476. The 'sibling'

concept, that is the concept of groups of branches having something in

common, is not currently used, and so was just confusing.

No behavioural change.

* subversion/include/private/svn_branch.h

(svn_branch_family_t,

svn_branch_sibling_t): Delete.

(svn_branch_revision_root_t): Move the first and next EID fields to here.

(svn_branch_instance_t): Move the root EID field to here.

Elsewhere: adjust accordingly.

* subversion/libsvn_delta/branch.c

Adjust everything accordingly.

* subversion/libsvn_delta/compat3e.c

Adjust everything accordingly.

* subversion/libsvn_delta/editor3e.c

Adjust everything accordingly.

* subversion/svnmover/svnmover.c

Adjust everything accordingly.

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

Move the definition of the initial r0 metadata out of 'ra_loader.c' and into

the branching subsystem, alongside the code for parsing and serializing that

metadata.

* subversion/include/private/svn_branch.h,

subversion/libsvn_delta/branch.c

(svn_branch_get_default_r0_metadata): New.

* subversion/libsvn_ra/ra_loader.c

(default_repos_info): Delete; move into 'svn_branch_get_default_r0_metadata'.

(svn_branch_revision_fetch_info): Call 'svn_branch_get_default_r0_metadata'.

  1. … 2 more files in changeset.
On the 'move-tracking-2' branch: In the metadata, note whether each element

is a subbranch root element, so that on reading it we can correctly set the

element's 'content' field to null.

Previously, everything was working well enough even though such elements had

their content set to non-null, but that is not sustainable.

* subversion/include/private/svn_branch.h

(svn_branch_el_rev_content_t): Update the comment.

(svn_branch_subtree_create): New.

* subversion/libsvn_delta/branch.c

(svn_branch_subtree_create,

svn_branch_subtree_get_path_by_eid): New.

(parse_element_line,

svn_branch_instance_parse,

svn_branch_instance_serialize): Add a 'kind' field to the metadata.

* subversion/libsvn_delta/compat3e.c

(editor3_alter): Allow altering an element whose previous content is null.

* subversion/libsvn_delta/element.c

(svn_element_content_equal): Allow comparing null element content.

* subversion/libsvn_ra/ra_loader.c

(default_repos_info): Add a 'kind' field to the initial metadata.

* subversion/svnmover/svnmover.c

(element_merge): Don't allow a 'double add' to apply to subbranches, as we

don't know whether they are identical (and don't want to check).

  1. … 5 more files in changeset.
On the 'move-tracking-2' branch: Stop using different branch families. All

branches are now members of the same family.

* subversion/include/private/svn_branch.h

(svn_branch_repos_t,

svn_branch_family_t,

svn_branch_family_create

svn_branch_revision_root_parse,

svn_branch_revision_root_serialize): Remove FID and family-nesting facilities.

(svn_branch_family_add_new_subfamily): Delete.

(svn_branch_sibling_t,

svn_branch_instance_t,

svn_branch_subtree_t,

svn_branch_copy_subtree_r,

svn_branch_branch_into): Adjust comments.

* subversion/libsvn_delta/branch.c

Adjust everything.

* subversion/libsvn_delta/compat3e.c

(same_family_and_element): Adjust.

* subversion/libsvn_delta/editor3e.c

(BRANCHES_IN_SAME_FAMILY): Delete.

(svn_branch_subtree_differences): Adjust.

* subversion/libsvn_ra/ra_loader.c

(default_repos_info): Adjust.

(svn_branch_revision_fetch_info,

svn_branch_repos_fetch_info,

svn_branch_get_mutable_state,

store_repos_info): Remove FID and family-nesting facilities.

* subversion/svnmover/svnmover.c

Adjust everything.

* subversion/tests/cmdline/svnmover_tests.py

(reported_br_diff,

reported_br_del,

reported_br_add): Remove 'family' parameter.

Adjust tests and commentary accordingly.

  1. … 6 more files in changeset.