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

Changeset 1764449 is being indexed.

Add a note to the working copy crop function about issue #4636.

* subversion/libsvn_wc/crop.c

(crop_children): Add comment.

Don't flag an unnecessary tree conflict while resolving 'add vs add'.

* subversion/libsvn_client/conflicts.c

(merge_added_files): New helper function.

(diff_file_added): If a file already exists then just merge with the

incoming file and return.

* subversion/tests/libsvn_client/conflicts-test.c

(test_merge_incoming_added_dir_merge, test_merge_incoming_added_dir_merge2,

test_merge_incoming_added_dir_merge3): Adjust test expectations accordingly.

Inline the function that's only used at a single calling site.

* subversion/libsvn_client/conflicts.c

(merge_incoming_added_file_replace): Inline this function ...

(resolve_merge_incoming_added_file_replace_and_merge): Since

the calling site was always calling it with 'merge_files' set to true,

drop the handling of this argument.


Move the r1721488 group to "Approved"; bindings need just 2 votes.

Following up on r1764435, remove two unused functions.

The merge_incoming_added_file_replace() function is now always called with

'merge_files' set to true, and this code can be simplified, but I'll do it


* subversion/libsvn_client/conflicts.c


resolve_update_incoming_added_file_replace): Remove these unused functions.

Follow-up to r1764423: tweak initial size of APR array for the text conflict

options to match maximum number of entries to be added.

* subversion/libsvn_client/conflicts.c

(svn_client_conflict_text_get_resolution_options): Pass 7 instead of 6 as

initial APR array size.

Found by: luke1410

On the authzperf branch:

Some test cleanup.

* subversion/tests/libsvn_repos/repos-test.c

(test_authz_pattern_tests): Add commentary and strengthen one test case.

Resolve two warnings in libsvn_fs_x on non-posix systems.

* subversion/libsvn_fs_x/batch_fsync.c

(internal_open_file): Reduce scope of one variable and conditionally

define another one.

Resolve two minor Windows specific corectness warnings found by a newer

compiler version.

* subversion/libsvn_subr/io.c

(svn_io__utf8_to_unicode_longpath): Remove unnecessary truncate.

* subversion/libsvn_subr/win32_crashrpt.c

(write_value): Properly print pointersized value.

In the tree conflict resolver, remove the options that simultaneosly resolve

the tree *and* the potential text conflict in the file "add vs add" case.

This turns the following set of options ...

(i) ignore incoming addition, (m) merge the files,

(R) delete my file and replace it with incoming file,

(M) replace my file with incoming file and merge the files,

...into this:

(m) merge the files,

(M) replace my file with incoming file and merge the files,

The idea behind this change is that it would be better if the tree conflict

resolver would only handle the "tree conflict" part, without doing anything

about a potential text conflict. So, we only leave the options to pick the

proper line of history for the file (either by keeping the local line of

history or by replacing it with the incoming one), but always merge the

files. If the merge provokes a text conflict, it could then be resolved


Another reason is that, by cutting down the amount of options to 2, we have

a possibility to add totally different options, like "move my locally added

file to foo.1". With 4 existing options, as it was before this change, it

would be impossible, because 6 non-default options is just too much for the


(I kept the analogues of these options for directories for now.)

* subversion/include/svn_client.h

(svn_client_conflict_option_id_t): Remove


* subversion/libsvn_client/conflicts.c

(verify_local_state_for_incoming_add_upon_update): Don't test for the

option id which is now gone.

(configure_option_incoming_add_ignore): Tweak this configuration function

to only add the option for directories.

(configure_option_incoming_added_file_replace): Remove.

(svn_client_conflict_tree_get_resolution_options): Don't call the now

removed configuration function.

* subversion/svn/conflict-callbacks.c

(builtin_resolver_options): Remove entry that corresponds to deleted


* subversion/tests/libsvn_client/conflicts-test.c





test_switch_incoming_added_file_ignore): Remove these tests.

(test_funcs): Update the test list.

Don't flag an unnecessary tree conflict while resolving 'add vs add'.

* subversion/libsvn_client/conflicts.c

(diff_dir_added): If a subdirectory already exists then just merge the

incoming properties and return.


Vote for r1717875 group (consistent props over RA)

Vote for r1728387 (special chars in gpg-agent passwords)

Vote for r1745515 group (serf download URL)

Remove an unnecessary and unused output parameter from a helper function.

* subversion/libsvn_client/conflicts.c

(merge_newly_added_dir): Remove the 'conflict_report' output argument.

(resolve_merge_incoming_added_dir_merge): Update caller.


Vote for r1701488 (

Vote for r1706783 (svn_client_patch fix)

Vote for r1711346 (temp file handling in svnlook)


Vote for and approve r1702299 group (segfault on merge)

Refactor svn_client_conflict_text_get_resolution_options() and


* subversion/libsvn_client/conflicts.c

(text_conflict_options, binary_conflict_options, prop_conflict_options):



svn_client_conflict_prop_get_resolution_options): Inline the code to add

conflict resolution options instead of make a copy from

text_conflict_options/binary_conflict_options/prop_conflict_options arrays.


Remove -0 vote from r1721285 after talking to stsp


Vote for and approve r1722164 (-Wdate-time bindings build issue).

Vote for r1721488 group (SWIG 3.0)

Vote for r1758128 group (bin confict resolution)

Vote for r1760570 (incoming edit)

Vote for r1761755 (build w/o key chain)


Vote for and approve r1763934 and r1764034.

Corrected spelling mistakes in comments.

* subversion/include/private/svn_utf_private.h

(svn_utf__glob): as above

* subversion/include/svn_fs.h

(svn_fs_refresh_revision_props): as above

* subversion/libsvn_fs_fs/fs.h

(): as above

* subversion/libsvn_fs_fs/pack.c

(tweak_path_for_ordering): as above

* subversion/libsvn_fs_fs/temp_serializer.h

(): as above

* subversion/libsvn_fs_x/pack.c

(): as above

* subversion/libsvn_subr/prefix_string.c

(): as above

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_wclock_find_root): as above

* subversion/svn/conflict-callbacks.c

(find_option_by_id): as above

* tools/dev/fsfs-access-map.c

(): as above

Obvious fix.

On the authzperf branch:

Make handling of "**" (any-var) match user's expectations. See test cases.

This fixes the calculation of recursive access rights. The pre-calculated

information on the tree nodes must only cover the bottom-up view, i.e. what

range of access rights has been defined anywhere in the sub-tree. Top-down

application of inheritance must be restricted to the lookup - which already

fully handles it. Hence, we only need finalize_tree instead of

finalize_up_tree and finalize_down_tree.

The second change in here is that trailing any-var patterns will actually

eclipse (hide / replace) any previous rule for the respective sub-tree.

That is relevant for recursive right checks which don't operate on the

repository node tree but only on the set of *potentially* applicable

rules for that sub-tree. This implements the only easy-to-handle special

case of a pattern replacing a set of other pattern rules.

* subversion/libsvn_repos/authz.c

(limited_rights_t): Commentary reflects that these bottom-up only now.



trim_tree): New functions implementing the any-var eclipses older rule



finalize_up_tree): Rename to ...


finalize_tree): ... this. No longer take the parent rights into account.

(finalize_subnode_hash): New utility function factored out from



finalize_up_tree): Remove.

(create_user_authz): Update caller. Invoke the new trim function, too.

* subversion/tests/libsvn_repos/repos-test.c


test_authz_pattern_tests): New test cases.

(test_funcs): Register new tests.

Remove resolve-incoming-add branch. Merged to trunk in r1764285.

Merge the resolve-incoming-add branch to trunk.

On the 'resolve-incoming-add' branch: Remove unnecessary code.

* subversion/libsvn_client/conflicts.c

(diff_dir_changed, diff_dir_deleted, diff_file_changed,

diff_file_deleted): Remove. Since we're diffing an empty tree against

an added tree, these should never be invoked.

(merge_newly_added_dir): Only set the diff processor callbacks we need.

The diff processor already provides stubs for the rest.

Correct typos in comments.

* subversion/libsvn_wc/entries.c (write_entry): correct typo

* subversion/libsvn_client/conflicts.c (): correct typo

Obvious fix.

On the 'resolve-incoming-add' branch: Make a FAILing test PASS again.

* subversion/tests/libsvn_client/conflicts-test.c

(test_merge_incoming_added_dir_merge2): Account for the nested

'add vs add' tree conflict on the new file, and for the change

in property conflict behaviour (to be investigated later).

Following up on r1764273, fix indentation in the check_move_ancestry()


* subversion/libsvn_client/conflicts.c

(check_move_ancestry): As above.

On the 'resolve-incoming-add' branch: Make an XFAIL test PASS.

* subversion/libsvn_client/conflicts.c

(diff_dir_changed, diff_dir_deleted, diff_file_changed,

diff_file_deleted): Remove SVN_DBG calls.

On the 'resolve-incoming-add' branch: Make an XFAIL test PASS.

* subversion/tests/libsvn_client/conflicts-test.c

(test_merge_incoming_added_dir_merge3): Fix this test to account for the

nested 'add vs add' conflict on the file which was added on both the

trunk and the branch. And stop testing for subtree-mergeinfo, since

it's not clear yet whether and how this should be handled by the resolver.

(test_func): Mark the above test as PASS.

Fix tracing of the chained incoming moves in the tree conflict resolver.

We only need to take the last-changed revision of the deleted node into

account while mapping a delete+copy pair to a move, instead of also doing

this when chaining moves.

* subversion/libsvn_client/conflicts.c

(check_move_ancestry): Accept new argument that makes the last-changed

revision check conditional.

(find_moves_in_revision): Update the calling sites of check_move_ancestry().

Check the last-changed revision when resolving moves within a single

revision, and don't do that when gluing moves that happened in different


* subversion/tests/libsvn_client/conflicts-test.c

(test_funcs): The test_merge_incoming_chained_move_local_edit() test now