subversion

Checkout Tools
  • last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 1852379 is being indexed.

Fix a regression in the svn_delta_path_driver2().

Introduced in r1851738.

* subversion/libsvn_delta/path_driver.c

(svn_delta_path_driver_step): Restore predictable behaviour for callbacks

that don't set the 'dir baton' output parameter.

Fix 'unshelve' of property mods.

Found by: stsp

* subversion/libsvn_client/shelf.c

(path_driver_cb_func): Open the correct directory before trying to apply

its property mods. Fix other doc strings too.

In the WC-mods-editor: fix properties handling; simplify.

Handle property changes correctly. Previously, property deletions were

ignored.

Simplify by applying incoming changes as they arrive. Previously we were

batching up some changes such as property changes and creating new files and

dirs, which could be more efficient but is harder to get right, as evidenced

by the above bug fix.

Simplify by not managing subpools for the directory and file batons. The

edit driver should do that.

* subversion/libsvn_client/wc_editor.c

(mkdir,

mkfile): New.

(dir_baton_t,

dir_open_or_add,

edit_open,

dir_open,

file_baton_t,

file_open_or_add,

file_open): Don't track the 'created' state and properties here.

(dir_add,

file_add): Always create the versioned node here.

(dir_change_prop,

file_change_prop): Always apply property changes here.

(dir_close,

file_close): Never create nodes and apply property changes here.

(ensure_added_dir,

ensure_added_file): Delete.

* subversion/include/svn_delta.h (svn_delta_editor_t): Fix param name in docs.
Remove internal pool management from the WC editor.

The path driver, which wraps this editor, already provides a result pool

hierarchy. This can be used by the WC editor instead of having it manage

another such hierarchy internally.

Review by: julianfoad

* subversion/libsvn_client/wc_editor.c

(edit_baton_t, svn_client__wc_editor_internal): Remove local pool.

(dir_baton_t) Remove the local pool users counter.

(dir_open_or_add, edit_open, dir_open, dir_add, dir_change_prop,

file_open_or_add, file_add): Allocate results in result_pool provided

by the caller, i.e. the path driver.

(file_close, maybe_done): Remove maybe_done() helper which is now unused.

* STATUS: Vote +1 on r1850651.
* STATUS: Vote +1 on r1850651.
* STATUS: Vote +1 on r1850651.
Tweaks in the WC mods editor, issue SVN-4786.

* subversion/libsvn_client/wc_editor.c

(dir_open_or_add): Support opening the root dir. Move higher up.

(edit_open): Use dir_open_or_add.

(dir_open, dir_add): Adjust callers.

(dir_change_prop, file_change_prop): Shorten slightly.

(ensure_added_dir): Rename from 'ensure_added', and update callers.

* CHANGES: Catch-up merge from trunk.
* CHANGES: Catch-up merge from trunk.
* 1.9.x/STATUS, 1.10.x/STATUS, 1.11.x/STATUS: Nominate r1852013.

* CHANGES: Mention CVE-2018-11803 fixed in 1.10.4, 1.11.1.
Fix issue #4804: avoid test failures just because some SQLite compile-time

feature was enabled that changes its query plan descriptions.

* subversion/tests/libsvn_wc/wc-queries-test.c

(test_query_expectations): Mostly ignore the sqlite_master table.

Found by: Thomas Deutschmann

* STATUS: Vote for issue #4802.
* STATUS: Vote for issue #4802.
* CHANGES: Not storing passwords on disk by default is a user-visible

change, so move this item to a more appropriate section.

* CHANGES: Mention that 'move vs. move' merge conflicts can now be resolved.

* STATUS: Nominate r1851920.

* STATUS: Nominate r1851903 and r1851920.

Remove a useless common ancestor search from the conflict resolver.

* subversion/libsvn_client/conflicts.c

(resolve_incoming_move_dir_merge): Stop searching a YCA and then using it

as the left-side of the merge source when merging into the move target.

Doing so is wrong because it could lead to dubious conflicts since we will

end up ignoring mergeinfo. Use the 'incoming old' path and revision as the

left-merge side instead, which is properly bound by merge-tracking done

during the merge which recorded the conflict.

Problem found by code inspection while working on r1851913.

Follow-up to r1851913:

* subversion/libsvn_client/conflicts.c

(resolve_both_moved_dir_merge): Fix docstring of this function.

Add two resolver options for 'dir move vs dir move upon merge' conflicts.

These new options work similar to their existing counterparts for files.

* subversion/include/svn_client.h

(svn_client_conflict_option_both_moved_dir_merge,

svn_client_conflict_option_both_moved_dir_move_merge): Declare.

* subversion/libsvn_client/conflicts.c

(resolve_both_moved_dir_merge,

resolve_both_moved_dir_move_merge): New resolution option handlers.

(svn_client_conflict_tree_get_resolution_options,

configure_option_both_moved_dir_merge): Enable new options on applicable

tree conflicts.

(svn_client_conflict_option_get_moved_to_repos_relpath_candidates2,

svn_client_conflict_option_set_moved_to_repos_relpath2,

svn_client_conflict_option_get_moved_to_abspath_candidates2,

svn_client_conflict_option_set_moved_to_abspath2): Handle new options.

* subversion/svn/conflict-callbacks.c

(builtin_resolver_options): Assign resolver menu keys to the new options.

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

(test_merge_dir_move_vs_dir_move,

test_merge_dir_move_vs_dir_move_accept_move, test_funcs): Add new tests.

(create_dir_move_vs_dir_move_merge_conflict): New helper for above tests.

* subversion/libsvn_client/conflicts.c

(resolve_incoming_move_dir_merge): Don't forget to unlock the working copy

again if the revert operation fails.

On branch swig-py3: Fix Python exception handling in callback function

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

(svn_swig_py_status_func2): Clear python exception if it caused in Python

call back function. (To avoid crash in py3)

* subversion/bindings/swig/python/tests/wc.py

(SubversionWorkingCopyTestCase.test_status_editor): Remove an assertion

from call back because it takes no effect, and check result after

svn_wc_get_status_editor2() API call instead.

(SubversionWorkingCopyTestCase.test_status_editor_callback_exception):

New test case for Python exception within svn_wc_status_func2 call back.

Patch by: Jun Omae <jun66j5 at gmail.com>

(Tweaked by me.)

Add CVE-2018-11803 notices to the website.

* index.html, news.html

- Add security announcement.

- Include CVE link in 1.11.1 and 1.10.4 release announcements.

- Ensure anchor ids are unique.

* security/CVE-2018-11803-advisory.txt New file.

* security/CVE-2018-11803-advisory.txt.asc New file.

* security/index.html

Add links to CVE-2018-11803 advisory and signature.

    • ?
    /site/publish/security/CVE-2018-11803-advisory.txt.asc
    • ?
    /site/publish/security/CVE-2018-11803-advisory.txt
* CHANGES: Fix typo that crept in in r1851827.

* CHANGES: Record authz file parsing improvements.

Introduce a warning callback to the authz file parser API.

We need this to warn about the use of empty groups in authz files;

this is not an error and doesn't affect the authz file semantics,

but it's nice to be able to tell the user about it.

See issues #4794, #4802 and #4803.

* subversion/include/svn_repos.h

(svn_repos_authz_warning_func_t): New callback function type.

(svn_repos_authz_read4): New; API revision.

(svn_repos_authz_read3): Deprecated.

(svn_repos_authz_parse2): New; API revision.

(svn_repos_authz_parse): Deprecated.

* subversion/libsvn_repos/authz.h

(svn_authz__parse): Add warning function and baton parameters.

* subversion/libsvn_repos/authz.c

(authz_read): Add warning function and baton parameters.

Update calls to svn_authz__parse.

(svn_repos_authz_read4): Revised from svn_repos_authz_read3.

(svn_repos_authz_parse2): Revised from svn_repos_authz_parse.

* subversion/libsvn_repos/authz_parse.c

(struct ctor_baton_t): Add members warning_func and warning_baton.

(create_ctor_baton): Initialise these new members of the constructor baton.

(emit_parser_warning): New.

(SVN_AUTHZ_PARSE_WARN): New; wrapper macro for the above.

(array_insert_ace): Ignore and warn about the use of empty groups.

(svn_authz__parse): Update implementation to match prototype.

* subversion/libsvn_repos/deprecated.c

(svn_repos_authz_read3, svn_repos_authz_parse): Implement deprecated functions.

* subversion/mod_authz_svn/mod_authz_svn.c

(log_svn_message): New; replaces log_svn_error so that it's useful for

logging warnings as well.

(log_svn_error): Reimplement, calling log_svn_message.

(struct authz_warning_baton_t): New.

(log_authz_warning): New.

(get_access_conf): Set up an authz warning handler and baton, and call

svn_repos_authz_read4 instead of svn_repos_authz_read3.

* subversion/svnserve/logger.h

(logger__log_error): Make the 'err' parameter a pointer-to-const.

Update the docstring to say that the error is not cleared.

(logger__log_warning): New.

* subversion/svnserve/logger.c

(log_message): New; common base for logger__log_error and logger__log_message.

Also *do not* allocate 8k on the stack, use the logger pool, which gets

cleared at the end of the function.

(logger__log_error): Reimplement.

(logger__log_warning): Implement.

* subversion/svnserve/serve.c

(log_error): Make the error parameter const. Fix the docstring.

(log_warning): New.

(load_authz_config): Add warning function and baton parameters and fix pool

handling. Now calls svn_repos_authz_read4 instead of svn_repos_authz_read3.

(find_repos): Add warning function and baton parameters for load_authz_config.

(handle_authz_warning): New.

(construct_server_baton): Pass an authz warning handler and baton to find_repos.

* subversion/tests/cmdline/authz_tests.py

(group_member_empty_string): Fix docstring.

(empty_group): New test case.

(test_list): Run it.

* subversion/tests/cmdline/svnauthz_tests.py

(svnauthz_empty_group_test): Extend the @Issues decorator.

Add a check for the expected warning on stderr.

Follow-up to r1851815: update svn:ignore lists.

* subversion/tests: Do not ignore svnserveautocheck.pid.

* subversion/tests/cmdline: Do ignore svnserve-*.