Checkout Tools
  • last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix various typos detected by codespell

* include/private/svn_auth_private.h, include/private/svn_branch_impl.h,

include/private/svn_config_private.h, include/private/svn_diff_tree.h,

include/private/svn_mergeinfo_private.h, include/private/svn_object_pool.h,

include/private/svn_repos_private.h, include/private/svn_subr_private.h,

include/private/svn_temp_serializer.h, include/private/svn_utf_private.h,

include/private/svn_wc_private.h, include/svn_auth.h, include/svn_client.h,

include/svn_cmdline.h, include/svn_compat.h, include/svn_fs.h,

include/svn_ra.h, include/svn_repos.h, include/svn_types.h,

include/svn_types_impl.h, include/svn_version.h, include/svn_wc.h,

include/svn_x509.h:

(): Spelling fixes

  1. … 22 more files in changeset.
Add missing SVN_DEPRECATED tags on functions being deprecated for 1.14.

* subversion/include/svn_ra.h

(svn_ra_open4): Mark deprecated.

Make it possible for RA-layer consumers to detect redirect loops reliably.

Make svn_ra_open() return both canonicalized and non-canonicalized versions

of redirect URLs. The latter can be used to detect redirect loops, while

the former can be used for any other purposes as usual.

See r1866899 and r1873375 for reasons why this is necessary.

* subversion/include/svn_ra.h

(svn_ra_open4): Deprecate.

(svn_ra_open5): Declare.

* subversion/libsvn_client/ra.c

(svn_client__open_ra_session_internal): Detect redirect loops based on the

non-canonicalized representation of the URL used by the RA implementation.

The canonicalized version is insufficient for loop detection.

* subversion/libsvn_ra/deprecated.c

(svn_ra_open4): Implement as a wrapper around svn_ra_open5().

* subversion/libsvn_ra/ra_loader.c

(svn_ra_open5): Implement.

(svn_ra_create_callbacks): Update for new output parameter 'redirect_url_p'.

* subversion/libsvn_ra/ra_loader.h

(open_session): Needs a new output parameter.

* subversion/libsvn_ra/wrapper_template.h

(compat_open): Track addition of new output parameter.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__open): Add new output parameter.

* subversion/libsvn_ra_serf/options.c

(svn_ra_serf__exchange_capabilities): Return the URL received in a HTTP

redirect as-is in new 'redirect_url' output parameter.

(svn_ra_serf__has_capability): Track addition of output parameter.

* subversion/libsvn_ra_serf/ra_serf.h

(svn_ra_serf__exchange_capabilities): Declare new output parameter.

* subversion/libsvn_ra_serf/serf.c

(svn_ra_serf__open): Support new 'redirect_url' output parameter.

* subversion/libsvn_ra_svn/client.c

(ra_svn_open): Support new 'redirect_url' output parameter.

  1. … 10 more files in changeset.
* subversion/include/svn_ra.h

(svn_ra_replay_revstart_callback_t,

svn_ra_replay_revfinish_callback_t): Tweak docs for clarity.

Doxygen mark-up fixes.
  1. … 8 more files in changeset.
Tweaks to doc strings and Doxygen mark-up of 1.10 API changes.

  1. … 7 more files in changeset.
* subversion/include/svn_ra.h

(svn_ra_dirent_receiver_t,

svn_ra_list): Fix docstrings. No functional change.

Found by: julianfoad

Fix design bug in svn_client_list4()/svn_ra_list()/svn_repos_list() APIs.

* subversion/include/svn_client.h (svn_client_list4):

Make the patterns array const. All dependencies and references updated.

* subversion/include/svn_ra.h (svn_ra_list): Likewise.

* subversion/include/svn_repos.h (svn_repos_list): Likewise.

* subversion/libsvn_client/list.c

(list_externals, list_internal, match_patterns,

get_dir_contents, list_external_items, svn_client_list4):

Make patterns array const.

* subversion/libsvn_ra/ra_loader.h (svn_ra__vtable_t::list): Likewise.

* subversion/libsvn_ra/ra_loader.c (svn_ra_list): Likewise.

* subversion/libsvn_ra_local/ra_plugin.c (svn_ra_local__list): Likewise.

* subversion/libsvn_ra_svn/client.c (ra_svn_list): And again.

* subversion/libsvn_repos/list.c (matches_any, do_list, svn_repos_list):

And some more of the same.

  1. … 8 more files in changeset.
Change the svn_*_list APIs to use NULL as the "don't filter by pattern"

parameter instead of an empty pattern list.

Suggested by: Patrick Steinhardt (patrick.steinhardt at elegosoft.com)

* subversion/include/svn_repos.h

(svn_repos_list): Document the new PATTERN options behavior.

* subversion/libsvn_repos/list.c

(matches_any): Implement the new behavior.

(svn_repos_list): Empty lists will almost always be created by dumb

scripts. It's probably a good idea to explicitly

not waste any resources in the degenerate case.

* subversion/include/svn_ra.h

(svn_ra_list): Document the new PATTERN options behavior.

* subversion/libsvn_ra_svn/protocol

(3.1.1. Main Command Set): The patterns list in the list command is

now optional.

* subversion/libsvn_subr/log.c

(svn_log__list): Make the logging cope with NULL pattern lists.

* subversion/svnserve/serve.c

(list): Receive NULL for PATTERNS, if no list was received.

* subversion/libsvn_ra_svn/client.c

(ra_svn_list): Omit the pattern list entirely, if patterns is NULL.

* subversion/include/svn_client.h

(svn_client_list4): Document the new PATTERN options behavior.

(svn_client_list3): Update docstring.

* subversion/libsvn_client/deprecated.c

(svn_client_list3): Update implementation.

* subversion/libsvn_client/list.c

(match_patterns): Implement the new behavior.

(list_internal): Update docstring.

* subversion/svn/list-cmd.c

(svn_cl__list): If no patterns were specified, pass NULL to the API.

* subversion/svnbench/null-list-cmd.c

(svn_cl__null_list): Same.

  1. … 11 more files in changeset.
Use the correct error code to signal that a server does not implement

svn_ra_list.

* subversion/include/svn_ra.h

(svn_ra_list): Explicitly document the error code that can be expected.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_list): Return "feature not supported" instead of "entire protocol

scheme not supported".

* subversion/libsvn_client/list.c

(list_internal): We now only need to test for one error condition.

Found by: danielsh

  1. … 2 more files in changeset.
Add a RA-level function for svn_repos_list and use that to implement

svn_client_list, if the server should support the new API.

Right now, no RA layer actually implements the new API; this will be

done in follow-up commits.

* subversion/include/svn_ra.h

(svn_ra_dirent_receiver_t,

svn_ra_list): Declare the new interface.

(SVN_RA_CAPABILITY_LIST): Declare a new server capability.

* subversion/libsvn_ra/ra_loader.h

(svn_ra__vtable_t): Add LIST function.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_list): Implement the new API and check for its availability.

* subversion/libsvn_client/list.c

(receiver_baton_t,

list_receiver): RA-layer-compatible wrapper around the client callback.

(list_internal): If we don't have to fetch any properties, use the new

RA-layer API, if available. Explicitly checking the

existance of the base path is only needed if we use

the client-side code.

* subversion/libsvn_ra_local/ra_plugin.c

(ra_local_vtable): Update vtable.

* subversion/libsvn_ra_serf/serf.c

(serf_vtable): Same.

* subversion/libsvn_ra_svn/client.c

(ra_svn_vtable): Same.

  1. … 6 more files in changeset.
* subversion/include/svn_ra.h

(svn_ra_get_dir2): Correct a typo in the doc string.

Following up on r1709388, undo the behavior change of the calling sites of

svn_fs_contents_different() and svn_fs_props_different() that is not required

nor justified in the context of fixing issue #4598, "No-op changes no longer

dumped by 'svnadmin dump' in 1.9".

This commit also restores the hack required for blame -g for old clients

(see r1686478, r1686888) in rev_hunt.c:send_path_revision(). Perhaps there

is a better replacement for it, since we now have the original behavior of

svn_fs_contents_changed() available, but this can be handled separately.

* subversion/libsvn_fs_fs/dag.c

(svn_fs_fs__dag_things_different): Tweak the related comment within this

function.

* subversion/libsvn_fs_fs/tree.c

(merge): Compare the property lists based on their contents.

* subversion/libsvn_repos/delta.c

(delta_proplists): Use svn_fs_props_different() when comparing property

lists.

(svn_repos__compare_files): Call svn_fs_contents_different() instead of

reimplementing the content comparison in this function.

(delta_files): Call svn_fs_contents_different(), as we were doing prior

to r1709388.

* subversion/libsvn_repos/reporter.c

(delta_proplists): Use svn_fs_props_different() when comparing property

lists.

* subversion/libsvn_repos/rev_hunt.c

(send_path_revision): Call svn_fs_contents_different(). Restore the

blame -g compatibility hack.

* subversion/include/svn_ra.h

(svn_ra_get_file_revs2): Restore the original @note in the docstring.

* subversion/include/svn_repos.h

(svn_repos_get_file_revs2): Restore the original @note in the docstring.

  1. … 6 more files in changeset.
Restore the 1.8 behavior of svn_fs_contents_changed() and _props_changed()

API. Switch all calling sites of the new API, svn_fs_contents_different()

and _props_different(), back to using the old functions.

There are no user-visible problems associated with the old code. The new

API doesn't improve any real use cases in the current code, but is causing

problems:

- We had a problem with misbehaving svn blame -g

(http://svn.haxx.se/dev/archive-2015-06/0069.shtml, "Blame behaviour

change in 1.9").

- We have an issue with repositories behaving differently in client-side

operations like 'svn log' after dump/load

(http://svn.haxx.se/dev/archive-2015-09/0269.shtml, "No-op changes no

longer dumped by 'svnadmin dump' in 1.9"; also see issue #4598 in

https://issues.apache.org/jira/browse/SVN-4598).

- We could experience same problems originating from other callers of the

new API, because the low level behavior change associated with switching

to it propagates up to higher levels like svn_repos or svn_ra and alters

the behavior of many different callers like svn_ra_get_file_revs2() or

the update reporter. Third-party API callers could not be ready for it

as well, because public API functions like svn_ra_get_file_revs2() didn't

receive an erratum or a bump.

See the discussion in http://svn.haxx.se/dev/archive-2015-10/0022.shtml

("Re: No-op changes no longer dumped by 'svnadmin dump' in 1.9").

* subversion/libsvn_fs_base/dag.c

(svn_fs_base__things_different): Compare the uniquifiers, as we did in 1.8.

* subversion/libsvn_fs_base/fs.h

(node_revision_t.data_key_uniquifier): Remove the comment about not using

this field.

* subversion/libsvn_fs_fs/fs_fs.c

(svn_fs_fs__noderev_same_rep_key): Reintroduce this helper function.

(svn_fs_fs__file_text_rep_equal, svn_fs_fs__prop_rep_equal): Always

assume the strict mode in these helpers.

* subversion/libsvn_fs_fs/fs_fs.h

(svn_fs_fs__noderev_same_rep_key): Declare this re-added helper.

(svn_fs_fs__file_text_rep_equal, svn_fs_fs__prop_rep_equal): Update the

docstrings for these helper functions.

* subversion/libsvn_fs_fs/dag.c

(svn_fs_fs__dag_things_different): Preserve the current comparison behavior

in strict mode. Restore the 1.8 way of comparing the representation keys

in non-strict mode.

* subversion/libsvn_fs_fs/tree.c

(merge): Restore the 1.8 way of comparing property lists.

* subversion/libsvn_fs_fs/fs.h

(representation_t.uniquifier): Remove the comment about not using this

field.

* subversion/libsvn_repos/delta.c

(delta_proplists): Switch back to using svn_fs_props_changed().

(svn_repos__compare_files): Restore this function to its 1.8 state.

(delta_files): Restore the 1.8 way of comparing files.

* subversion/libsvn_repos/dump.c

(dump_node): Switch back to using svn_fs_contents_changed() and

svn_fs_props_changed().

* subversion/libsvn_repos/reporter.c

(delta_proplists): Switch back to using svn_fs_props_changed().

* subversion/libsvn_repos/rev_hunt.c

(send_path_revision): Switch back to using svn_fs_contents_changed().

Remove the no longer necessary hack for svn blame -g with older clients.

* subversion/include/svn_ra.h

(svn_ra_get_file_revs2): Update @note in the docstring.

* subversion/include/svn_repos.h

(svn_repos_get_file_revs2): Update @note in the docstring.

* subversion/tests/cmdline/svnadmin_tests.py

(dump_no_op_change): No longer fails with fsfs and bdb.

  1. … 13 more files in changeset.
* subversion/include/svn_ra.h

(svn_ra_replay_range): Document that the rev range is inclusive.

* subversion/include/svn_ra.h

(svn_ra_get_dir2): Improve the docstring of PROPS.

* subversion/include/svn_ra.h

(svn_ra_get_log2): Following up on r1668883, fix comment syntax.

Fix a long standing documentation bug with how all ra layers behave. Add

regression test to use quite a few code paths that weren't touched in

the log tests before, more specifically combinations of ranges and a peg

revision.

* subversion/include/svn_ra.h

(svn_ra_get_log2): Fix documentation, with how this function always behaved.

* subversion/tests/cmdline/log_tests.py

(log_on_deleted_deep): Add new regression test.

(test_list): Add log_on_deleted_deep.

  1. … 1 more file in changeset.
Fix docstring issues in svn_ra.h found during 1.9 API review.

No functional change.

* subversion/include/svn_ra.h

(svn_ra_close_tunnel_func_t): Refer to the correct correct parameter.

(svn_ra_get_file_revs2): Clarify wording; bring it in line with svn_repos.

Document the revision argument of svn_ra_get_locations() more

precisely, as both mod_dav and ra_svn forbid SVN_INVALID_REVNUM

in their existing implementations.

* subversion/include/svn_ra.h

(svn_ra_get_locations): Update docs.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_get_locations): Add assertion.

  1. … 1 more file in changeset.
Apply the standard pre-branch whitespace cleanup via

tools/dev/remove-trailing-whitespace.zsh

There should be no functional changes.

* .ycm_extra_conf.py

* build/generator/gen_win.py

* build/generator/gen_win_dependencies.py

* subversion/bindings/javahl/native/EditorProxy.h

* subversion/bindings/javahl/native/StateReporter.cpp

* subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h

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

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

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

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

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

* subversion/include/private/svn_fs_fs_private.h

* subversion/include/private/svn_packed_data.h

* subversion/include/private/svn_repos_private.h

* subversion/include/private/svn_sorts_private.h

* subversion/include/private/svn_subr_private.h

* subversion/include/private/svn_wc_private.h

* subversion/include/svn_auth.h

* subversion/include/svn_cache_config.h

* subversion/include/svn_client.h

* subversion/include/svn_cmdline.h

* subversion/include/svn_diff.h

* subversion/include/svn_fs.h

* subversion/include/svn_io.h

* subversion/include/svn_ra.h

* subversion/include/svn_repos.h

* subversion/include/svn_string.h

* subversion/libsvn_client/blame.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/update.c

* subversion/libsvn_delta/svndiff.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_fs/fs-loader.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_fs/cached_data.c

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/hotcopy.c

* subversion/libsvn_fs_fs/id.c

* subversion/libsvn_fs_fs/index.c

* subversion/libsvn_fs_fs/index.h

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/low_level.c

* subversion/libsvn_fs_fs/low_level.h

* subversion/libsvn_fs_fs/pack.c

* subversion/libsvn_fs_fs/recovery.c

* subversion/libsvn_fs_fs/rev_file.c

* subversion/libsvn_fs_fs/revprops.c

* subversion/libsvn_fs_fs/revprops.h

* subversion/libsvn_fs_fs/stats.c

* subversion/libsvn_fs_fs/transaction.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_fs_fs/verify.c

* subversion/libsvn_fs_x/cached_data.c

* subversion/libsvn_fs_x/changes.c

* subversion/libsvn_fs_x/dag.h

* subversion/libsvn_fs_x/fs.h

* subversion/libsvn_fs_x/fs_id.c

* subversion/libsvn_fs_x/fs_x.c

* subversion/libsvn_fs_x/hotcopy.c

* subversion/libsvn_fs_x/hotcopy.h

* subversion/libsvn_fs_x/index.c

* subversion/libsvn_fs_x/index.h

* subversion/libsvn_fs_x/lock.c

* subversion/libsvn_fs_x/lock.h

* subversion/libsvn_fs_x/low_level.c

* subversion/libsvn_fs_x/low_level.h

* subversion/libsvn_fs_x/noderevs.c

* subversion/libsvn_fs_x/pack.c

* subversion/libsvn_fs_x/reps.c

* subversion/libsvn_fs_x/rev_file.c

* subversion/libsvn_fs_x/revprops.c

* subversion/libsvn_fs_x/revprops.h

* subversion/libsvn_fs_x/string_table.c

* subversion/libsvn_fs_x/string_table.h

* subversion/libsvn_fs_x/transaction.c

* subversion/libsvn_fs_x/tree.c

* subversion/libsvn_fs_x/util.c

* subversion/libsvn_fs_x/verify.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/ra_serf.h

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_repos/authz_pool.c

* subversion/libsvn_repos/config_pool.c

* subversion/libsvn_repos/dump.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_subr/bit_array.c

* subversion/libsvn_subr/cache-membuffer.c

* subversion/libsvn_subr/config.c

* subversion/libsvn_subr/dirent_uri.c

* subversion/libsvn_subr/fnv1a.c

* subversion/libsvn_subr/gpg_agent.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_subr/object_pool.c

* subversion/libsvn_subr/packed_data.c

* subversion/libsvn_subr/prefix_string.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/sqlite.c

* subversion/libsvn_subr/subst.c

* subversion/libsvn_subr/sysinfo.c

* subversion/libsvn_subr/types.c

* subversion/libsvn_subr/utf.c

* subversion/libsvn_subr/utf8proc/utf8proc_data.c

* subversion/libsvn_subr/x509info.c

* subversion/libsvn_wc/diff.h

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/wc.h

* subversion/libsvn_wc/wc_db.c

* subversion/libsvn_wc/wc_db.h

* subversion/mod_dav_svn/lock.c

* subversion/mod_dav_svn/mod_dav_svn.c

* subversion/mod_dav_svn/status.c

* subversion/svn/auth-cmd.c

* subversion/svn/info-cmd.c

* subversion/svn/mergeinfo-cmd.c

* subversion/svn/notify.c

* subversion/svn/propget-cmd.c

* subversion/svn/svn.c

* subversion/svnadmin/svnadmin.c

* subversion/svnserve/logger.c

* subversion/svnserve/serve.c

* subversion/svnserve/server.h

* subversion/svnserve/svnserve.c

* subversion/tests/cmdline/blame_tests.py

* subversion/tests/cmdline/checkout_tests.py

* subversion/tests/cmdline/commit_tests.py

* subversion/tests/cmdline/export_tests.py

* subversion/tests/cmdline/externals_tests.py

* subversion/tests/cmdline/lock_tests.py

* subversion/tests/cmdline/merge_tests.py

* subversion/tests/cmdline/merge_tree_conflict_tests.py

* subversion/tests/cmdline/move_tests.py

* subversion/tests/cmdline/redirect_tests.py

* subversion/tests/cmdline/stat_tests.py

* subversion/tests/cmdline/svnadmin_tests.py

* subversion/tests/cmdline/switch_tests.py

* subversion/tests/cmdline/update_tests.py

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

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

* subversion/tests/libsvn_fs/fs-test.c

* subversion/tests/libsvn_fs/locks-test.c

* subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c

* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c

* subversion/tests/libsvn_fs_x/fs-x-pack-test.c

* subversion/tests/libsvn_fs_x/string-table-test.c

* subversion/tests/libsvn_ra/ra-test.c

* subversion/tests/libsvn_subr/cache-test.c

* subversion/tests/libsvn_subr/checksum-test.c

* subversion/tests/libsvn_subr/config-test.c

* subversion/tests/libsvn_subr/io-test.c

* subversion/tests/libsvn_subr/packed-data-test.c

* subversion/tests/libsvn_subr/priority-queue-test.c

* subversion/tests/libsvn_subr/sqlite-test.c

* subversion/tests/libsvn_subr/string-test.c

* subversion/tests/libsvn_subr/subst_translate-test.c

* subversion/tests/libsvn_subr/x509-test.c

* subversion/tests/libsvn_wc/op-depth-test.c

* subversion/tests/svn_test_main.c

* tools/dev/benchmarks/RepoPerf/copy_repo.py

* tools/dev/benchmarks/RepoPerf/win_repo_bench.py

* tools/dev/build-svn-deps-win.pl

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

* tools/dev/po-merge.py

* tools/dev/x509-parser.c

* tools/diff/diff.c

* tools/dist/backport.pl

* tools/dist/backport_tests.py

* tools/hook-scripts/mailer/mailer.py

* tools/server-side/svnpubsub/daemonize.py

* win-tests.py

Remove unneeded whitespace via script.

  1. … 184 more files in changeset.
Make svn_ra_get_lock() consistent with svn_fs_get_lock() in not returning an

error when the specified path does not exist on trunk and document this

behavior.

This function is within svn only used for 'svn info', and introducing the

error in the other ra layers would make this function fail in some cases.

* subversion/include/svn_fs.h

(svn_fs_get_lock): Extend documentation.

* subversion/include/svn_ra.h

(svn_ra_get_lock): Extend documentation.

* subversion/libsvn_ra_serf/get_lock.c

(svn_ra_serf__get_lock): Handle SVN_ERR_FS_NOT_FOUND.

* subversion/tests/libsvn_ra/ra-test.c

(expect_error): Update expected result.

  1. … 3 more files in changeset.
Rename svn_ra_dup_session() (public api) to svn_ra__dup_session (private api).

No functional changes.

* subversion/include/private/svn_ra_private.h

(svn_ra__dup_session): New function.

* subversion/include/svn_ra.h

(svn_ra_dup_session): Remove function

* subversion/libsvn_client/diff.c

(includes): Add svn_ra_private.h.

(diff_repos_repos): Update caller.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_dup_session): Rename to...

(svn_ra__dup_session): ... this.

(svn_ra_stat): Update caller (in svnserve fallback code).

  1. … 3 more files in changeset.
Document the specific requirements of commit editors to be given a URL

rather than a relative path in the copyfrom_path argument of their

add_file() and add_directory() methods.

* subversion/include/svn_ra.h

(svn_ra_get_commit_editor3): Add a comment: requires a URL.

* subversion/include/svn_ra_svn.h

(svn_ra_svn_get_editor): Add a comment: passes on either kind, verbatim.

(svn_ra_svn_drive_editor2): Add a comment: canonicalizes either kind.

* subversion/include/svn_repos.h

(svn_repos_get_commit_editor5): Add a comment: requires a URL.

* subversion/libsvn_ra_serf/ra_serf.h

(svn_ra_serf__get_commit_editor): Add a comment: requires a URL.

* subversion/libsvn_repos/commit.c

(add_file_or_directory): Add a comment: requires a URL.

* subversion/svnrdump/load_editor.c

(new_node_record): Add a comment: provides a URL.

  1. … 5 more files in changeset.
Reverting experimental move-related APIs.

For details see http://svn.haxx.se/dev/archive-2014-05/0155.shtml

This effectively reverts revisions 1595600,1572044,1547039,1535341,

1535330,1535080,1535029,1534280,1532200,1527217,1527088,1526057,

1526014,1526013,1525484,1525467,1525464,1525463,1525462,1525460,

1525459,1525453,1525448,1525442,1525432,1525429 and 1525419.

Remove respective entries from CHANGES.

  1. … 43 more files in changeset.
Fix Doxygen mark-up.

* subversion/include/svn_client.h

(svn_client_ctx_t): s/@Since/@since/.

(svn_client_cleanup): Mark the doc string as a Doxygen comment.

* subversion/include/svn_compat.h

(svn_compat_log_revprops_out): Correct a cross-reference.

* subversion/include/svn_config.h

(cached_authentication_data_attributes): Give this Doxygen group a title.

* subversion/include/svn_fs.h

(svn_fs_lock_target_t,

svn_fs_lock_result_t): Mark the doc strings as Doxygen comments.

(svn_fs_lock2): Correct a <tt> closing tag to </tt>.

(svn_fs_lock): Mark the doc string as a Doxygen comment.

(svn_fs_unlock2): Correct cross-references. s/pool/scratch_pool/.

* subversion/include/svn_mergeinfo.h

(SVN_MERGEINFO_NONINHERITABLE_STR): Mark the doc string as a Doxygen

comment.

(svn_rangelist_t, svn_mergeinfo_t, svn_mergeinfo_catalog_t): Give each of

these types its own Doxygen doc string.

* subversion/include/svn_path.h

(svn_path_illegal_path_escape): Mark the doc string as a Doxygen comment.

* subversion/include/svn_ra.h

(svn_ra_get_file_revs2): s/@handler/@a handler/g.

* subversion/include/svn_repos.h

(svn_repos_get_logs4): Correct a cross-reference.

(svn_repos_get_file_revs2): s/@handler/@a handler/g.

* subversion/include/svn_types.h

(svn_move_behavior_t): Mark each member's doc string as a Doxygen comment.

* subversion/include/svn_wc.h

(svn_wc_conflict_description3_t): Mark a member's doc string as a Doxygen

comment.

(svn_wc_conflict_description_create_text2,

svn_wc_conflict_description_create_prop2,

svn_wc_conflict_description_create_tree2): Mark the doc string as a

Doxygen comment, and use () notation for a function cross-reference.

(svn_wc_conflict_resolver_func2_t): Mark the doc string as a Doxygen

comment.

  1. … 9 more files in changeset.
Follow-up to r1572363: Instead of using a "STRICT" parameter, split the

contents comparison functions into the old approximate ones and a new

exact ones.

There seems to be no point in having the boolean option as other code

would always set it to TRUE. Even svn_*_get_file_revs2 will now always

operate in "strict" mode because there is little point in not doing so.

(Adding a "strict" flag svn_*_get_file_revs2 would cause major code churn

just to have the only client-side user, blame(), set it fixed to TRUE).

* subversion/include/svn_fs.h

(svn_fs_props_changed2): Rename to ...

(svn_fs_props_different): ... this and drop the STRICT parameter.

(svn_fs_props_changed): De-deprecate.

(svn_fs_contents_changed2): Rename to ...

(svn_fs_contents_different): ... this and drop the STRICT parameter.

(svn_fs_contents_changed): De-deprecate.

* subversion/include/svn_ra.h

(svn_ra_get_file_revs2): Document that we won't send random empty

deltas anymore.

* subversion/include/svn_repos.h

(svn_ra_get_file_revs2): Ditto.

* subversion/libsvn_fs/fs-loader.c

(svn_fs_props_changed2,

svn_fs_props_different,

svn_fs_contents_changed2,

svn_fs_contents_different): Reflect to API change.

* subversion/libsvn_repos/delta.c

(delta_proplists,

svn_repos__compare_files,

delta_files): Use the newly renamed strict API functions.

* subversion/libsvn_repos/dump.c

(dump_node): Same.

* subversion/libsvn_repos/reporter.c

(delta_proplists): Same.

* subversion/libsvn_repos/rev_hunt.c

(send_path_revision): Same. This enables the new, predictable / strict

behavior of svn_*_get_file_revs2.

  1. … 7 more files in changeset.
Document what we do with negative limits to our log functions.

* subversion/include/svn_repos.h

(svn_repos_get_logs5): update docs to match behavior

* subversion/include/svn_ra.h

(svn_ra_get_log3): ...

* subversion/include/svn_client.h

(svn_client_log6): ...

  1. … 2 more files in changeset.
Extend the ra_svn tunnel setup api with a cancel function to allow

implementations to provide (GUI) clients with timely cancellation on

timeouts. These clients can't depend on the signal handling breaking

blocking IO operations.

* subversion/bindings/javahl/native/OperationContext.cpp

* subversion/bindings/javahl/native/OperationContext.h

(OperationContext::openTunnel): Add cancel callback and baton arguments.

* subversion/include/svn_ra.h

(svn_ra_open_tunnel_func_t): Add cancel callback and baton arguments.

* subversion/libsvn_ra_svn/client.c

(open_session): Update caller.

[Reviewers: Yes, all the common callbacks share a baton value here.]

* subversion/tests/libsvn_ra/ra-test.c

(open_tunnel): Add cancel callback and baton arguments.

  1. … 4 more files in changeset.
Tweak the ra-svn tunnel close api to be more like our other close apis

and to auto-document that the errors returned from the close function

are 100% ignored (like all other errors from pool cleanup handlers).

Both the JavaHL implementation and the test suite had assumptions that

these errors would be properly handled to show their test results, while

any error from a pool cleanup is really just ignored by apr.

(So the assertions in the tests would just be ignored).

Make ra_svn close streams from callbacks at pool cleanup too, to allow

implementations to just implement a proper stream class.

* subversion/bindings/javahl/native/ClientContext.cpp

(ClientContext::ClientContext,

ClientContext::setTunnelCallback): Update caller.

* subversion/bindings/javahl/native/OperationContext.cpp

(TunnelContext::TunnelContext): Add arguments.

(TunnelContext): Add fields.

(OperationContext::openTunnel): Update prototype.

Store data for close callback.

(OperationContext::closeTunnel): Temporarily rename to

(OperationContext::inner_closeTunnel): ... this and update prototype.

(OperationContext::closeTunnel): New function with explicit error clear to

document the true behavior.

* subversion/bindings/javahl/native/OperationContext.h

(openTunnel): Update prototype.

(inner_closeTunnel): Rename and tweak prototype.

(closeTunnel): New function.

* subversion/bindings/javahl/native/RemoteSessionContext.cpp

(RemoteSessionContext::RemoteSessionContext): Update caller.

* subversion/include/svn_client.h

(svn_client_ctx_t): Remove callback. Tweak comment.

* subversion/include/svn_ra.h

(svn_ra_close_tunnel_func_t): Move here (above the open function) and remove

unneeded arguments. Update to return void to make it obvious that errors

can't be handled.

(svn_ra_open_tunnel_func_t): Add close_func output argument.

(svn_ra_callbacks2_t): Remove close func callback.

* subversion/libsvn_client/ra.c

(svn_client__open_ra_session_internal): Update caller.

* subversion/libsvn_ra_svn/client.c

(tunnel_data_t): Store streams in baton. Remove init values.

(close_tunnel_cleanup): Allow NULL callback. Explicitly close streams.

(open_session): Always initialize cleanup.

* subversion/tests/libsvn_ra/ra-test.c

(includes): Add assert.h.

(close_tunnel): Add forward declaration.

(open_tunnel): Update prototype. Update caller. Don't return address of local

variable.

(close_tunnel): Update prototype. Use assert that *will* show errors during

testing.

  1. … 8 more files in changeset.