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

Changeset 1367113 is being indexed.

Add an 'svn_rangelist_t' typedef for use with the existing 'svn_rangelist_*'

APIs, instead of using 'apr_array_header_t' directly.

The immediate reason is to improve the debugging experience: I can make

GDB display 'svn_rangelist_t' values in a simple human-readable form, whereas

the best it can do with 'apr_array_header_t', not knowing the type of the

elements, is print something like 'array of 2 items'.

Beyond that, it makes sense from a coding abstraction point of view, filling

a gap in this hierarchy:

svn_mergeinfo_catalog_t is a collection of

svn_mergeinfo_t is a collection of

svn_rangelist_t is a collection of

svn_merge_range_t

This type has public visibility. Because it is just a typedef, the C API

will be backward-compatible and the ABI won't change. Therefore all uses,

even in deprecated functions, are being changed.

Using such a typedef doesn't provide any additional static type-checking.

Unlike svn_mergeinfo_t and svn_mergeinfo_catalog_t, svn_rangelist_t is not a

pointer type.

* subversion/include/svn_mergeinfo.h

(svn_rangelist_t): New typedef.

(...everywhere...): Use it.

* subversion/include/private/svn_mergeinfo_private.h

(...everywhere...): Use it.

* subversion/include/svn_client.h

(svn_client_mergeinfo_get_merged): Update doc string to refer to this.

* subversion/bindings/javahl/native/CreateJ.cpp,

subversion/bindings/javahl/native/CreateJ.h,

subversion/bindings/javahl/native/SVNClient.cpp,

subversion/bindings/swig/core.i,

subversion/bindings/swig/include/svn_containers.swg,

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

(...everywhere...): Update the bindings.

subversion/libsvn_client/diff.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_client/mergeinfo.h,

subversion/libsvn_client/ra.c,

subversion/libsvn_fs_util/fs-util.c,

subversion/libsvn_repos/load-fs-vtable.c,

subversion/libsvn_repos/log.c,

subversion/libsvn_repos/rev_hunt.c,

subversion/libsvn_subr/deprecated.c,

subversion/libsvn_subr/mergeinfo.c,

subversion/svndumpfilter/main.c,

subversion/svnrdump/load_editor.c,

subversion/tests/libsvn_subr/mergeinfo-test.c

(...everywhere...): Use it.

  1. … 22 more files in changeset.
Prevent path-handling related deprecation warnings. Since they happen

in code of functons that are deprecated themselves, we need a workaround

here: move the actual code to a static *_internal function and let

the public deprecated API as well as its users call that internal

(non-deprecated) function.

* subversion/libsvn_subr/deprecated.c

(svn_path_is_canonical): move from here to the next file

* subversion/libsvn_subr/path.c

(svn_path_is_canonical_internal,

svn_path_is_canonical): make the function body available internally

without deprecation warning

(svn_path_join_internal,

svn_path_join): do a similar split; call svn_path_is_canonical_internal

to prevent deprecation warnings

(svn_path_join_many,

svn_path_dirname,

svn_path_basename,

svn_path_decompose): call *_internal functions

  1. … 1 more file in changeset.
Follow-up to r1239841: Fix many crashes and test failures (ooops!)

* subversion/libsvn_subr/deprecated.c

(svn_io_start_cmd2): Properly pass arguments on to svn_io_start_cmd3().

Allow callers of svn_io_start_cmd() to specify custom environments the

child process should inherit.

This commit enhances the svn_io_start_cmd() API, but nothing uses the

new functionality yet.

* subversion/include/svn_io.h

(svn_io_start_cmd3): Declare.

(svn_io_start_cmd2): Deprecate.

* subversion/libsvn_subr/deprecated.c

(svn_io_start_cmd2): Re-implement as wrapper around svn_io_start_cmd3().

* subversion/libsvn_subr/io.c

(svn_io_start_cmd3): New. Like svn_io_start_cmd2(), but with a new

ENV parameter that can be used to inherit a custom environment to

the child process.

  1. … 2 more files in changeset.
For issue #2487, "mod_dav_svn and locales fail to play nicely together",

add a new configuration option which allows Subversion libraries called

from mod_dav_svn to process UTF-8 strings, instead of just ASCII strings.

Because httpd is not locale-aware, we cannot assume that a native character

set other than ASCII is present in the environment that mod_dav_svn runs in.

UTF-8 is backward compatible to ASCII, and all paths within Subversion

repositories are already encoded in UTF-8. Thus, we can safely allow UTF-8

without running into character set conversion issues in code called from

mod_dav_svn.

Basic testing shows that httpd is prepared to tolerate non-ASCII characters,

even though it doesn't seem to interpret them. E.g. it logs such characters

as hex codes preceded by a backslash.

The new configuration option is called SVNUseUTF8 and can be set to

"On" or "Off" (the default is "Off"). It is a global option that takes

effect for all repository locations defined in the configuration file.

When the option is "On", files that contain UTF-8 characters in their

names can be processed by the pre-lock hook, hooks are able to write

UTF-8 characters to stdout and stderr, and filesystem paths to Subversion

repositories may contain UTF-8 characters.

* subversion/mod_dav_svn/mod_dav_svn.c

(server_conf_t): Add use_utf8 boolean.

(init): Initialise the native character set of Subversion's UTF-8

conversion routines to either ASCII (default) or UTF-8.

(SVNUseUTF8_cmd): New option command processor.

(cmds): Add new "SVNUseUTF8" option.

* subversion/include/svn_utf.h

(svn_utf_initialize2): Declare. Includes the ablity to force the native

character set to UTF-8, regardless of locale.

(svn_utf_initialize): Deprecate.

* subversion/libsvn_subr/deprecated.c

(svn_utf_initialize): Re-implement as wrapper around svn_utf_initialize2().

* subversion/libsvn_subr/cmdline.c

(svn_cmdline_init): Update funtion call to svn_utf_initialize2(), keeping

the native character set based on the current locale.

* subversion/libsvn_subr/utf.c

(svn_utf_initialize2): New.

(assume_native_charset_is_utf8): New global boolean variable. Defaults

to FALSE, and may be set to TRUE by svn_utf_initialize2() (which, like

its predecessor, is documented to not be thread-safe).

(get_ntou_xlate_handle_node, get_uton_xlate_handle_node): If the native

character set has been forced to UTF-8, use SVN_APR_UTF8_CHARSET instead

of SVN_APR_LOCALE_CHARSET.

  1. … 4 more files in changeset.
Rev svn_mergeinfo_diff() to allow it to take a scratch_pool.

* subversion/include/svn_mergeinfo.h

(svn_mergeinfo_diff2): New.

(svn_mergeinfo_diff): Deprecated.

* subversion/libsvn_subr/deprecated.c

(svn_mergeinfo_diff): New wrapper function.

* subversion/libsvn_subr/mergeinfo.c

(svn_mergeinfo_diff2): New, now with better pool management!

(svn_mergeinfo__equals): Use the updated API.

  1. … 2 more files in changeset.
Move some deprecated API implementations to deprecated.c.

* subversion/libsvn_subr/mergeinfo.c

(svn_mergeinfo_intersect,

svn_mergeinfo_remove): Move these from here to...

* subversion/libsvn_subr/deprecated.c

(svn_mergeinfo_intersect,

svn_mergeinfo_remove): here...

(svn_rangelist_merge,

svn_mergeinfo_merge): Move these up to the 'From mergeinfo.c' group.

  1. … 1 more file in changeset.
Rev svn_mergeinfo_merge API to use the two-pool paradigm.

* subversion/include/svn_mergeinfo.h

(svn_mergeinfo_merge2): New.

(svn_mergeinfo_merge): Deprecated.

* subversion/libsvn_subr/mergeinfo.c

(svn_mergeinfo_merge2): New.

(svn_mergeinfo_merge): Move to deprecated.c.

(svn_mergeinfo_catalog_merge): Use the new API.

* subversion/libsvn_subr/deprecated.c

(svn_mergeinfo_merge): Move svn_mergeinfo_merge implementation to here.

* subversion/libsvn_client/merge.c

(update_wc_mergeinfo,

log_find_operative_revs):

* subversion/libsvn_repos/log.c

(get_combined_mergeinfo_changes,

store_search,

get_paths_history_as_mergeinfo):

Update all callers of svn_mergeinfo_merge, with access to a scratch pool,

to the new API.

  1. … 4 more files in changeset.
Add svn_rangelist_merge2() which modifies the rangelist in-place to produce

its result, instead of allocating a new rangelist, and also uses the dual-pool

paradigm. The previous svn_rangelist_merge() implementation was awkward

to call from within a loop without potentially using a lot of memory (see

r1148566 for an example).

Suggested by: philip

* subversion/include/svn_mergeinfo.h

(svn_rangelist_merge2): Declare.

(svn_rangelist_merge): Deprecate.

* subversion/libsvn_subr/deprecated.c

(svn_rangelist_merge): Implement as a wrapper around svn_rangelist_merge2().

* subversion/libsvn_subr/mergeinfo.c

(svn_rangelist_merge): Rename to ...

(svn_rangelist_merge2): ... this. Change the RANGELIST parameter to

an apr_array_header_t* (rather than apr_array_header_t**). Replace

the POOL parameter with RESULT_POOL and SCRATCH_POOL parameters.

Produce the merged rangelist in place, allocating any elements newly

added to the array in RESULT_POOL.

  1. … 2 more files in changeset.
Followup to r1140505. Fix indentation.

* [everywhere]: Fix indentation fallout from the

svn_error_return() -> svn_error_trace() rename.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>

  1. … 37 more files in changeset.
Rename the 'svn_error_return' macro to 'svn_error_trace'.

See email thread "[RFC] Rename 'svn_error_return' to 'svn_error_trace'?" on

2011-06-23, <http://svn.haxx.se/dev/archive-2011-06/0708.shtml>.

* subversion/include/svn_error.h

(svn_error_return): Rename to svn_error_trace.

(SVN_ERR, svn_error_purge_tracing): Track the rename.

* [everywhere]: Track the rename.

  1. … 120 more files in changeset.
Make it possible to add encoding information to XML headers.

* subversion/include/svn_xml.h

(svn_xml_make_header2): Declare.

(svn_xml_make_header): Deprecate.

* subversion/libsvn_subr/deprecated.c

(svn_xml_make_header): Moved to here from libsvn_subr/xml.c.

* subversion/libsvn_subr/xml.c

(svn_xml_make_header2): New. Like svn_xml_make_header() but also accepts

an ENCODING parameter which, if not NULL, specifies the name of the

encoding of the document and causes an 'encoding' attribute in the header.

  1. … 2 more files in changeset.
Remove svn_io_file_create2() which is unused.

* subversion/include/svn_io.h

(svn_io_file_create2): Remove.

(svn_io_file_create): Stop refering to it.

* subversion/libsvn_subr/deprecated.c

(svn_io_file_create): Remove here.

* subversion/libsvn_subr/io.c

(svn_io_file_create): Rename from svn_io_file_create2(), adjusting.

  1. … 2 more files in changeset.
Reinstate the one function that is needed for the 1.6 commmand

line client to use the 1.7 libraries. This is only active when

configured with --disable-full-version-match for testing.

Remove the code that allowed 1.6 libsvn_client to use the other

1.7 libraries as it has suffered bit-rot and no longer works.

Several other functions would have to be provided for this to

work.

* subversion/libsvn_subr/deprecated.c

(svn_opt__eat_peg_revisions): Add.

* subversion/libsvn_wc/deprecated.c

(svn_wc__entry_versioned_internal): Remove.

  1. … 1 more file in changeset.
Allocate a struct on the stack.

Suggested by: gstein

* subversion/libsvn_subr/deprecated.c

(svn_io_file_create): Shallow copy the C string to a stack svn_string_t.

Revv the svn_io_file_create() API to take non-NUL-terminated strings.

* subversion/include/svn_io.h

(svn_io_file_create2): New.

(svn_io_file_create): Deprecate.

* subversion/libsvn_subr/io.c

(svn_io_file_create2): Renamed from svn_io_file_create().

* subversion/libsvn_subr/deprecated.c

(svn_io_file_create): New wrapper.

  1. … 2 more files in changeset.
Remove the unused pool argument from svn_relpath_is_canonical(). I can't

think of a reason why we are ever going to use that later with our

current definition of what is and isn't a valid relpath.

No functional changes.

* subversion/include/svn_dirent_uri.h

(svn_relpath_is_canonical): Remove argument.

* subversion/libsvn_subr/deprecated.c

* subversion/libsvn_subr/dirent_uri.c

* subversion/libsvn_subr/mergeinfo.c

* subversion/libsvn_wc/old-and-busted.c

* subversion/libsvn_wc/relocate.c

* subversion/libsvn_wc/util.c

* subversion/libsvn_wc/wc_db.c

* subversion/mod_dav_svn/util.c

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

(*): Update callers.

  1. … 9 more files in changeset.
Merge all changes (r1068684, r1072297) from the

integrate-io-improvements branch.

These patches reduce the calling overhead in various I/O-related functions.

  1. … 8 more files in changeset.
Fix Issue #3781 (Case sensitive authz).

* subversion/tests/cmdline/authz_tests.py

(case_sensitive_authz): Removed XFail decorator.

* subversion/include/svn_config.h

(svn_config_create) : Documented new parameter.

(svn_config_read) : Deprecated.

(svn_config_read2) : New function prototype, updated documentation.

* subversion/libsvn_subr/config_impl.h

(svn_config_t): Added a new boolean called section_names_case_sensitive.

* subversion/libsvn_subr/deprecated.c

(svn_config_read): New function that calls svn_config_read2

with section_names_case_sensitive as FALSE.

* subversion/libsvn_subr/config.c

(svn_config_create): Added a parameter section_names_case_sensitive

which is used to initialize the config.

(find_option,

svn_config_set) : Added logic to make section names case sensitive.

(svn_config_read) : Deprecated.

(svn_config_read2) : New function that deprecates svn_config_read.

Accepts a boolean section_names_case_sensitive,

and populates the section names case sensitively

if TRUE.

* subversion/libsvn_repos/authz.c

(svn_repos_authz_read) : Fixed the caller with

section_names_case_sensitive as TRUE.

* subversion/tests/cmdline/atomic-ra-revprop-change.c

(construct_config) : Fixed call of svn_config_create.

Patch by: Arwin Arni <arwin{_AT_}collab.net>

  1. … 6 more files in changeset.
Extend svn_subst_translate_string2() with another parameter, REPAIR, to allow

the caller to customize whether line ending repairs are performed.

As discussed at:

http://thread.gmane.org/gmane.comp.version-control.subversion.devel/125050

* subversion/include/svn_subst.h

(svn_subst_translate_string2): Add a REPAIR parameter. Update the

documentation of the function.

* subversion/libsvn_subr/subst.c

(svn_subst_translate_string2): Add a REPAIR parameter. Pass the value through

to translate_cstring().

* subversion/libsvn_subr/deprecated.c

(svn_subst_translate_string): Call svn_subst_translate_string2() with REPAIR

set to FALSE.

* subversion/svn/util.c

(svn_cl__edit_string_externally, svn_cl__get_log_message): Call

svn_subst_translate_string2() with REPAIR set to FALSE.

* subversion/svn/propset-cmd.c

(svn_cl__propset): Call svn_subst_translate_string2() with REPAIR set to

FALSE.

* subversion/svn/lock-cmd.c

(get_comment): Call svn_subst_translate_string2() with REPAIR set to FALSE.

* subversion/svnadmin/main.c

(set_revprop): Call svn_subst_translate_string2() with REPAIR set to FALSE.

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

(test_svn_subst_translate_string2): Call svn_subst_translate_string2() with

REPAIR set to FALSE. Also test that inconsistent line endings result in

SVN_ERR_IO_INCONSISTENT_EOL when REPAIR is FALSE.

(test_repairing_svn_subst_translate_string2): New test case that tests a

repairing translation.

(test_funcs): Add test_repairing_svn_subst_translate_string2.

Patch by: Danny Trebbien <dtrebbien{_AT_}gmail.com>

  1. … 7 more files in changeset.
Add a public API function, svn_subst_translate_string2(), an extension of

svn_subst_translate_string(), that has two additional output parameters for

determining whether re-encoding and/or line ending translation were performed.

As discussed at:

<http://thread.gmane.org/gmane.comp.version-control.subversion.devel/122550>

<http://thread.gmane.org/gmane.comp.version-control.subversion.devel/123020>

The essential changes are to the translate_newline() function, which now takes

an svn_boolean_t pointer, the value at which is set to TRUE if the pointer is

non-NULL and a different newline is written out. Most other changes are to pass

the svn_boolean_t pointer through to translate_newline().

* build.conf

Configure subversion/tests/libsvn_subr/subst_translate-test

* subversion/include/svn_subst.h

(svn_subst_translate_string2): New function.

(svn_subst_translate_string): Deprecate in favor of

svn_subst_translate_string2().

* subversion/libsvn_subr/subst.c

(STRING_IS_EOL): New macro that tests whether a string is an end-of-line

string ("\n", "\r", "\r\n").

(DIFFERENT_EOL_STRINGS): New macro that tests whether two end-of-line strings

are different.

(translate_newline): Add the TRANSLATED_EOL parameter. If the function

writes out a different newline, then it sets TRANSLATED_EOL to TRUE.

(translation_baton): Add the TRANSLATED_EOL field.

(create_translation_baton): Add a new parameter TRANSLATED_EOL that is

passed to the resulting translation_baton.

(translate_chunk): When calling translate_newline(), pass TRANSLATED_EOL from

the translation_baton.

(stream_translated): New static function. Its implementation is the old

implementation of svn_subst_stream_translated(), but accepting another

parameter, TRANSLATED_EOL, that is passed to the in/out translation batons

that it creates.

(svn_subst_stream_translated): Now a wrapper for stream_translated().

(translate_cstring): New static function. Its implementation is the old

implementation of svn_subst_translate_cstring2(), but modified to accept

another parameter, TRANSLATED_EOL, that is passed to stream_translated().

(svn_subst_translate_cstring2): Now a wrapper for translate_cstring().

(svn_subst_translate_string): Move to deprecated.c.

(svn_subst_translate_string2): New function. It takes three additional

parameters: TRANSLATED_TO_UTF8, TRANSLATED_LINE_ENDINGS, and another pool

parameter. The task of recording whether it translates a line ending is

delegated to translate_cstring().

* subversion/libsvn_subr/deprecated.c

(svn_subst_translate_string): Now a wrapper for svn_subst_translate_string2().

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

New test suite for the svn_subst_translate_* functions.

Patch by: Danny Trebbien <dtrebbien{_AT_}gmail.com>

  1. … 4 more files in changeset.
Rev the svn_io_start_cmd() API, adding pipe support.

* subversion/libsvn_subr/io.c

(svn_io_start_cmd2): New revision of svn_io_start_cmd(), adding

booleans to indicate where pipes should be used instead of file

handles.

(svn_io_start_cmd): Moved to deprecated.c.

* subversion/libsvn_subr/deprecated.c

(svn_io_start_cmd): Moved here from io.c, and reduced to a mere

wrapper around svn_io_start_cmd2().

* subversion/include/svn_io.h

(svn_io_start_cmd2): New revision of svn_io_start_cmd2().

(svn_io_start_cmd): Deprecate this function.

Patch by: Martin Furter <mf@rola.ch>

(Tweaked by cmpilato.)

  1. … 2 more files in changeset.
Tighten variable scope in many locations.

Found by: Philipp Kloke <philipp.kloke@web.de>

* subversion/libsvn_diff/diff_file.c,

subversion/libsvn_subr/error.c,

subversion/libsvn_subr/opt.c,

subversion/libsvn_subr/dirent_uri.c,

subversion/libsvn_subr/deprecated.c,

subversion/libsvn_subr/io.c,

subversion/libsvn_ra_local/ra_plugin.c,

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

subversion/mod_dav_svn/reports/update.c,

subversion/tests/svn_test_main.c,

subversion/svndumpfilter/main.c,

subversion/libsvn_ra_svn/cyrus_auth.c,

subversion/libsvn_ra_svn/marshal.c,

subversion/svn/propdel-cmd.c,

subversion/svn/propget-cmd.c,

subversion/svn/log-cmd.c,

subversion/svn/propset-cmd.c,

subversion/svn/switch-cmd.c,

subversion/svn/proplist-cmd.c,

subversion/svn/propedit-cmd.c,

subversion/libsvn_fs_base/tree.c,

subversion/libsvn_fs_base/revs-txns.c,

subversion/libsvn_wc/deprecated.c,

subversion/libsvn_wc/update_editor.c,

subversion/libsvn_wc/old-and-busted.c,

subversion/libsvn_wc/wc_db.c,

subversion/svnlook/main.c,

subversion/libsvn_client/export.c,

subversion/libsvn_client/patch.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_ra_neon/mergeinfo.c,

subversion/libsvn_ra_serf/mergeinfo.c,

subversion/libsvn_repos/reporter.c,

subversion/libsvn_repos/fs-wrap.c,

subversion/libsvn_repos/delta.c,

subversion/svnserve/serve.c:

Tighten variable scope.

  1. … 36 more files in changeset.
r950445 changed the semantics of svn_io_dir_walk() to also pass

APR_LNK filetypes to the provided callback function. After some list

discussion, I think this violates our compatability promises. So I'm

effectively reverting svn_io_dir_walk() to its original behavior, and

revving the API to include the new behavior.

### NOTE: Had to fix the recursion in svn_io_dir_walk2() in r967198. ###

* subversion/include/svn_io.h

(svn_io_dir_walk2): New.

(svn_io_dir_walk): Deprecate this.

* subversion/libsvn_subr/io.c

(svn_io_dir_walk2): Renamed from svn_io_dir_walk().

* subversion/libsvn_subr/deprecated.c

(walk_func_filter_baton_t, walk_func_filter_func): New callback

function and baton.

(svn_io_dir_walk): Recreate here as just a wrapper around

svn_io_dir_walk2() which uses a filtering callback function to

ensure the promised semantics.

* subversion/libsvn_repos/repos.c

(svn_repos_hotcopy): Use svn_io_dir_walk2() instead of svn_io_dir_walk().

  1. … 3 more files in changeset.
To allow improving the svn status performance, allow retrieving the size

and mtime of files directly when retrieving the dirents inside a directory.

Performing a stat of every file individually will never be as fast as per

directory. Especially if we open the directory for reading anyway.

* subversion/include/svn_io.h

(svn_io_dirent2_t): New struct.

(svn_io_dirent2_create): New function.

(svn_io_dirent2_dup): New function.

(svn_io_dirent_t): Update documentation.

(svn_io_get_dirents3): New function.

(svn_io_get_dirents2): Deprecate function.

(svn_io_stat_dirent): New function. (Helper for wc status walker)

* subversion/libsvn_subr/deprecated.c

(svn_io_get_dirents2): New function.

(svn_io_get_dirents): Move function here from io.c

* subversion/libsvn_subr/io.c

(svn_io_remove_dir2): Use svn_io_get_dirents3 and avoid casts.

(svn_io_dirent2_create): New function.

(svn_io_dirent2_dup): New function.

(svn_io_get_dirents2): Rename to ...

(svn_io_get_dirents3): ... this, update struct for hash. Retrieve

additional values only if required.

  1. … 2 more files in changeset.
Minor optimization in svn_io_file_lock2(). Move deprecated function.

* subversion/libsvn_subr/deprecated.c

(svn_io_file_lock): Move file from io.c to here.

* subversion/libsvn_subr/io.c

(svn_io__file_clear_and_close): Rename to ...

(file_clear_locks): ... this as this function is not shared between files

and apr will take care of closing the file anyway. And comment on

Windows and OS/2, because closing a file takes care of clearing the

locks on these systems.

(svn_io_file_lock): Move to deprecated.c.

(svn_io_file_lock2): Don't register a cleanup handler on Windows and

OS/2, as the locks will be freed by just closing the handle from the

file cleanup.

  1. … 1 more file in changeset.
Deprecate svn_subst_copy_and_translate3() in favor of a version that has a

cancellation function.

* subversion/include/svn_subst.h:

(svn_subst_copy_and_translate4): new function, like the translate3

version, but with CANCEL_FUNC/BATON.

(svn_subst_copy_and_translate3): mark as deprecated

* subversion/libsvn_subr/subst.c:

(detranslate_special_file): take a CANCEL_FUNC/BATON param pair and pass

it along to svn_stream_copy3(). add an svn_error_return

(svn_subst_copy_and_translate3): renamed to ...

(svn_subst_copy_and_translate4): ... this, and take a CANCEL_FUNC/BATON

pair. pass CANCEL_FUNC/BATON to detranslate_special_file and

svn_stream_copy3.

* subversion/libsvn_subr/deprecated.c:

(svn_subst_copy_and_translate3): new. call svn_subst_copy_and_translate4

with NULL for the CANCEL_FUNC/BATON.

(...): add some svn_error_return love

  1. … 2 more files in changeset.
Update svn_stream_contents_same() to close the streams before exit. If a

stream is read to the end, then it may as well be closed (and, thus,

simplifying the work for the caller).

* subversion/include/svn_io.h:

(svn_stream_contents_same2): new function

(svn_stream_contents_same): deprecated

* subversion/libsvn_subr/stream.c:

(svn_stream_contents_same): renamed to ...

(svn_stream_contents_same2): ... this. the streams are now closed before

exit (regardless or result or error).

* subversion/libsvn_subr/deprecated.c:

(svn_stream_contents_same): new function. the two streams are disowned

before passing to same2() so they won't be closed

  1. … 2 more files in changeset.
Following up on r924797, move the svn_stream_from_aprfile() function I

accidentally removed to deprecated.c.

* subversion/libsvn_subr/deprecated.c

(svn_stream_from_aprfile): Move this function here from stream.c.

Add "const" to all "apr_array_header_t *" input parameters in public and

private APIs.

(Note that we are allowed to add "const" to a pointer parameter of a public

API, and have done so before, because that is a backward-compatible API

change and doesn't change the ABI at all.)

The public functions whose prototypes are changed are listed individually

below; the private functions are not.

* subversion/include/svn_auth.h

(svn_auth_open)

* subversion/include/svn_client.h

(svn_client_get_commit_log_t,

svn_client_copy5,

svn_client_copy4,

svn_client_move5,

svn_client_patch)

* subversion/include/svn_delta.h

(svn_delta_path_driver,

svn_file_rev_handler_t,

svn_file_rev_handler_old_t)

* subversion/include/svn_fs.h

(svn_fs_change_txn_props)

* subversion/include/svn_mergeinfo.h

(svn_rangelist_diff,

svn_rangelist_merge,

svn_rangelist_remove,

svn_rangelist_intersect,

svn_rangelist_inheritable2,

svn_rangelist_inheritable,

svn_rangelist_dup)

* subversion/include/svn_opt.h

(svn_opt_args_to_target_array3,

svn_opt_args_to_target_array2,

svn_opt_args_to_target_array,

svn_opt_eat_peg_revisions)

* subversion/include/svn_ra.h

(svn_ra_file_rev_handler_t,

svn_ra_get_locations,

svn_ra_plugin_t.get_locations)

* subversion/include/svn_ra_svn.h

(svn_ra_svn_command_handler,

svn_ra_svn_set_capabilities,

svn_ra_svn_parse_tuple,

svn_ra_svn_parse_proplist)

* subversion/include/svn_repos.h

(svn_repos_file_rev_handler_t,

svn_repos_trace_node_locations,

svn_repos_fs_get_mergeinfo,

svn_repos_fs_change_txn_props,

svn_repos_remember_client_capabilities)

* subversion/include/svn_sorts.h

(svn_sort__bsearch_lower_bound)

* subversion/include/svn_string.h

(svn_cstring_match_glob_list)

* subversion/include/svn_wc.h

(svn_wc_get_status_editor3,

svn_wc_get_update_editor4,

svn_wc_get_update_editor3,

svn_wc_get_switch_editor4,

svn_wc_get_switch_editor3,

svn_wc_match_ignore_list)

* subversion/include/private/svn_cmdline_private.h

* subversion/include/private/svn_opt_private.h

* subversion/libsvn_client/blame.c

* subversion/libsvn_client/client.h

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/deprecated.c

* subversion/libsvn_client/merge.c

* subversion/libsvn_client/mergeinfo.c

* subversion/libsvn_client/mergeinfo.h

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_delta/compat.c

* subversion/libsvn_delta/path_driver.c

* subversion/libsvn_fs_base/reps-strings.c

* subversion/libsvn_fs_base/revs-txns.c

* subversion/libsvn_fs_base/revs-txns.h

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/fs_fs.h

* subversion/libsvn_fs/fs-loader.c

* subversion/libsvn_fs/fs-loader.h

* subversion/libsvn_ra/compat.c

* subversion/libsvn_ra/ra_loader.c

* subversion/libsvn_ra/ra_loader.h

* subversion/libsvn_ra/wrapper_template.h

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_neon/get_locations.c

* subversion/libsvn_ra_neon/props.c

* subversion/libsvn_ra_neon/ra_neon.h

* subversion/libsvn_ra_serf/getlocations.c

* subversion/libsvn_ra_serf/ra_serf.h

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/cyrus_auth.c

* subversion/libsvn_ra_svn/editorp.c

* subversion/libsvn_ra_svn/internal_auth.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_ra_svn/ra_svn.h

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_repos/repos.c

* subversion/libsvn_repos/repos.h

* subversion/libsvn_repos/rev_hunt.c

* subversion/libsvn_subr/auth.c

* subversion/libsvn_subr/cmdline.c

* subversion/libsvn_subr/deprecated.c

* subversion/libsvn_subr/mergeinfo.c

* subversion/libsvn_subr/opt.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/svn_string.c

* subversion/libsvn_wc/adm_ops.c

* subversion/libsvn_wc/deprecated.c

* subversion/libsvn_wc/diff.c

* subversion/libsvn_wc/status.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/util.c

* subversion/mod_dav_svn/dav_svn.h

* subversion/mod_dav_svn/reports/file-revs.c

* subversion/mod_dav_svn/util.c

* subversion/svn/cl.h

* subversion/svn/props.c

* subversion/svn/switch-cmd.c

* subversion/svn/util.c

* subversion/svndumpfilter/main.c

* subversion/svnserve/serve.c

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

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

  1. … 78 more files in changeset.