subversion

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

Changeset 1764566 is being indexed.

Remove the '1.8.x-r1702299' branch, merged in r1764565.
Merge the 1.8.x-r1702299 branch:

* r1702299, r1702300, r1702397, r1702407, r1702565

Handle merging to local add as error instead of segfault.

Justification:

Segfault. User reported.

Notes:

r1702299 adds a testcase.

r1702397 fixes the problem with automatic merge and updates the test.

r1702565 fixes a quite similar segfault with --reintegrate merge.

The other revisions are minor cleanup.

Branch:

^/subversion/branches/1.8.x-r1702299

Votes:

+1: rhuijben, julianfoad, stefan2

* STATUS: Veto r1759116 group.

* STATUS:

Fix revision number in r1759116 group.

Found by: jcorvel

On branch 'master-passphrase':

* BRANCH-README

bus_factor++

On the authzperf branch:

Some authz test cleanup and re-enabling some tests to match /trunk.

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

(authz): Re-enable the "phase 4" tests and move the performance

measurements to ...

(test_authz_wildcard_performance): ... this new test.

(groups_authz): Test that we reject illegal files with RAM and disk

alike. Perform the authz tests with a legal setup.

This roughly covers what we test on /trunk.

(test_funcs): Register the new test and skip it by default.

On the authzperf branch:

* subversion/libsvn_repos/authz.c

(add_next_node): Refine commentary. No functional change.

Bring comment about caching priorities in line with the code,

after r1721285 changed the dir caching priority.

* subversion/libsvn_fs_fs/caching.c

(svn_fs_fs__initialize_caches): Sync comment with reality.

* STATUS: Vote for and approve r1721285.

Remove variables which are written but not used in any way.

* subversion/libsvn_client/conflicts.c:

(conflict_tree_get_incoming_description_generic,

conflict_tree_get_description_incoming_edit,

resolve_incoming_move_dir_merge,

configure_option_incoming_delete_accept,

configure_option_incoming_move_file_merge,

configure_option_incoming_dir_merge): Remove unused variables.

Patch by: Patrick Steinhardt <patrick.steinhardt@elegosoft.com>

[Note from the future: reverted in r1795871.]

* subversion/bindings/swig/ruby/test/test_fs.rb

(test_delta): Expect and resolve text conflict to account for new behaviour

with flagging text conflicts since r1731699.

Rework the log scanning code in the tree conflict resolver, so that it

would use a single RA session to perform the additional requests

(by reparenting it, instead of opening a new session every time).

* subversion/libsvn_client/conflicts.c

(find_deleted_rev_baton): Add new 'extra_ra_session' field.

(find_revision_for_suspected_deletion): Initialize the extra session by

duplicating the existing session.

(check_move_ancestry): Accept an RA session, instead of a client context.

Reparent the session if needed, and use it to perform requests.

(find_moves_in_revision): Accept an RA session, instead of a client context.

(find_deleted_rev): Pass the extra RA session.

[Note from the future: reverted in r1795871.]

* subversion/bindings/swig/ruby/test/test_core.rb

(test_diff_merge): Update expected output to account for new behaviour

with flagging text conflicts since r1731699.

Revert r1764453, as it has unexpected side effects.
* subversion/tests/libsvn_client/conflicts-test.c

(test_merge_incoming_chained_move_local_edit): Update the comment in

this test. The test used to fail, but passes now.

* subversion/libsvn_wc/wc_db_update_move.c

(tc_editor_merge_local_file_change): Don't pass unnecessary

optional argument.

Followup for r1764451: remove two unused variables from test.

* subversion/tests/cmdline/depth_tests.py

(fold_tree_with_deleted_moved_items): Remove unused variables.

Add an XFail test for issue #4636 (Making working copy sparse loses local

deletes / moves).

* subversion/tests/cmdline/depth_tests.py

(fold_tree_with_deleted_moved_items): New XFail test for issue #4636.

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): ...here. Since

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

drop the handling of this argument.

* STATUS:

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

separately.

* subversion/libsvn_client/conflicts.c

(resolve_merge_incoming_added_file_replace,

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

separately.

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

user.

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

* subversion/include/svn_client.h

(svn_client_conflict_option_id_t): Remove

svn_client_conflict_option_incoming_added_file_replace.

* 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

svn_client_conflict_option_incoming_added_file_replace.

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

(test_merge_incoming_added_file_ignore,

test_merge_incoming_added_file_replace,

test_update_incoming_added_file_ignore,

test_update_incoming_added_file_replace,

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.

* STATUS:

Vote for r1717875 group (consistent props over RA)

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

Vote for r1745515 group (serf download URL)