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

Changeset 1069791 is being indexed.

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.
Move two deprecated functions to 'deprecated.c'.

* subversion/libsvn_subr/deprecated.c

(svn_mergeinfo_inheritable, svn_rangelist_inheritable): Move from ...

* subversion/libsvn_subr/mergeinfo.c

(svn_mergeinfo_inheritable, svn_rangelist_inheritable): ... here.

  1. … 1 more file in changeset.
Test out my new and fancy ASF commit priviledges by changing the copyright

wording in our license headers to reflect ownership by the ASF.

* NOTICE:

Change terminology to ASF, and update a link.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the ASF, and update the project website.

* everywhere:

Change license text to reflect ASF ownership.

  1. … 891 more files in changeset.
Following up on r39958, move 2 deprecated path functions to deprecated.c and

update test results for a small change in results on Windows.

The change in result on Windows allows old code using svn_path_canonicalize()/

svn_path_internal_style() to produce canonical dirents after the drive letter

casing restrictions were updated.

* subversion/libsvn_subr/deprecated.c

(svn_path_canonicalize): New function; wrapper around uri/dirent support.

(svn_path_is_canonical): New function wrapper around uri/dirent support.

* subversion/libsvn_subr/path.c

(svn_path_internal_style,

svn_path_local_style): Remove functions. These functions were

added to deprecated.c in r39958.

(svn_path_canonicalize,

svn_path_is_canonical): Remove functions.

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

(test_path_local_style,

test_path_internal_style): Expect upper case driveletters on Windows.

  1. … 2 more files in changeset.
Mark two deprecated functions as SVN_DEPRECATED and move their

implementations to deprecated.c

* subversion/libsvn_client/deprecated.c

(svn_client_mergeinfo_log_merged,

svn_client_mergeinfo_log_eligible): Move here from mergeinfo.c

* subversion/libsvn_client/mergeinfo.c

(svn_client_mergeinfo_log_merged,

svn_client_mergeinfo_log_eligible): Move to deprecated.c

* subversion/include/svn_client.h

(svn_client_mergeinfo_log_merged,

svn_client_mergeinfo_log_eligible): Add missing SVN_DEPRECATED markings.

* subversion/libsvn_subr/deprecated.c

(svn_path_internal_style,

svn_path_local_style): New functions, replacing their versions in path.c

[Note from the future: this needs the removement of these functions

in path.c, which was committed in r39959.]

  1. … 3 more files in changeset.
Relicense Subversion under the Apache License, Version 2.0.

* NOTICE: New.

* LICENSE: New.

* COPYING,

subversion/LICENSE: Remove.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the SVN Corp, and that it contains contributions from

many people, as referenced in NOTICE.

* subversion/bindings/swig/python/LICENSE_FOR_PYTHON_BINDINGS:

Relicense the SVN parts under Apache 2.0.

* everywhere:

Change copyright notices in file headers to reflect the Apache 2.0 license.

  1. … 882 more files in changeset.
Add a MISSING_OK parameter to svn_io_remove_file(). A lot of our calls

actually are okay with the file not being present. We have many places

that catch this error, and ignore it.

This revision introduces the new function, and deprecates the old. Future

revisions will start updating invocations.

* subversion/include/svn_io.h:

(svn_io_remove_file): deprecate, in favor of ...

(svn_io_remove_file2): ... this new function, which adds MISSING_OK

* subversion/libsvn_subr/io.c:

(svn_io_remove_file): renamed to ...

(svn_io_remove_file2): ... this, and a MISSING_OK param added. the POOL

parameter was renamed. internal logic switched around to check the new

flag, and also to early-out.

(reown_file, svn_io_remove_dir2, svn_io_file_move): switch to use the

new svn_io_remove_file2 call, all passing MISSING_OK=FALSE.

* subversion/libsvn_subr/deprecated.c:

(svn_io_remove_file): new function, invokes svn_io_remove_file2.

  1. … 2 more files in changeset.
Shuffle a couple of deprecated functions.

* subversion/libsvn_subr/stream.c

(svn_stream_copy2, svn_stream_copy): Move from here...

* subversion/libsvn_subr/deprecated.c

(svn_stream_copy2, svn_stream_copy): ...to here.

  1. … 1 more file in changeset.
Following up on r36221: (and part of issue #1711 and #2556)

* subversion/include/svn_path.h

(svn_path_split_if_file): Deprecate function.

(Never used in our libraries since at least 1.0)

* subversion/libsvn_subr/deprecated.c

(SVN_EMPTY_PATH): Copy #define here

(svn_path_split, svn_path_split_if_file): Move here from path.c

* subversion/libsvn_subr/io.c

(global): Include svn_dirent_uri.h,

(svn_io_copy_file, svn_io_file_move): Use svn_dirent_dirname().

(svn_io_dir_walk): Use svn_dirent_basename().

(svn_io_write_version_file): Use svn_dirent_dirname().

* subversion/libsvn_subr/opt.c

(global): Include svn_dirent_uri.h

(svn_opt__args_to_target_array): Use svn_dirent_basename instead

of svn_path_basename.

* subversion/libsvn_subr/path.c

(svn_path_split, svn_path_split_if_file): Move to deprecated.c

* subversion/libsvn_subr/subst.c

(global): Include svn_dirent_uri.h

(keyword_printf): Use svn_uri_basename().

(detranslate_special_file, create_special_file_from_stream,

svn_subst_copy_and_translate3): Use svn_dirent_dirname().

  1. … 5 more files in changeset.
Following up on r35746, deprecate public diff apis that use apr internal

encoding for passing the diff tool.

* subversion/include/svn_io.h

(svn_io_run_diff2): New function.

(svn_io_run_diff): Deprecate function.

(svn_io_run_diff3_3): New function.

(svn_io_run_diff3_2): Deprecate function.

* subversion/libsvn_subr/deprecated.c

(svn_io_run_diff): Reimplement here using svn_io_run_diff2.

(svn_io_run_diff3_2): Reimplement here using svn_io_run_diff3_3.

(svn_io_run_diff3): Moved deprecated function here (from io.c).

* subversion/libsvn_subr/io.c

(svn_io_run_diff2): New function, based on svn_io_run_diff, but without

apr internal charset assumption.

(svn_io_run_diff): Move to deprecated.c.

(svn_io_run_diff3_3): New function, based on svn_io_run_diff_3_2, but

without apr internal charset assumption.

(svn_io_run_diff3_2, svn_io_run_diff3): Move to deprecated.c.

Suggested by: gstein

  1. … 2 more files in changeset.
Stop recanonicalizing the base url on every call of svn_path_url_add_component

by introducing svn_path_url_add_component2 that assumes the caller already did

this.

(Our working copy library guarantees all url entries are canonicalized for

new (tested) and old (recanonicalize on load) working copy formats, but

we are recanonicalizing every single path continuously during svn update even

without changes).

This change reduces the user time of svn update time by about 3 or 4% here.

(about 1% wallclock time in my experiment. ra_neon, remote repository)

Update all callers except for the RA layers that currently

might assume the canonicalization.

* subversion/include/svn_path.h

(svn_path_url_add_component2): New function

(svn_path_url_add_component): Deprecate function.

* subversion/libsvn_subr/path.c

(svn_path_url_add_component2): New function.

(svn_path_url_add_component): Move to ...

* subversion/libsvn_subr/deprecated.c

(svn_path_url_add_component): ... here.

* subversion/svn/util.c

(svn_cl__node_description):

* subversion/libsvn_wc/crop.c

(svn_wc_crop_tree):

* subversion/libsvn_wc/util.c

(svn_wc__path_switched):

* subversion/libsvn_wc/adm_ops.c

(tweak_entries, svn_wc_add3):

* subversion/libsvn_wc/status.c

(tweak_statushash, find_dir_url, make_file_baton, close_file):

* subversion/libsvn_wc/update_editor.c

(make_dir_baton, make_file_baton, delete_entry, add_directory,

svn_wc_get_switch_editor3, check_wc_root, svn_wc_add_repos_file3):

* subversion/libsvn_wc/entries.c

(take_from_entry, write_entry, write_entry_xml):

* subversion/libsvn_wc/adm_crawler.c

(report_revisions_and_depths, svn_wc_crawl_revisions4):

* subversion/libsvn_client/externals.c

(handle_externals_desc_change):

* subversion/libsvn_client/merge.c

(tree_conflict, filter_self_referential_mergeinfo, merge_file_added

merge_dir_added, populate_remaining_ranges, get_mergeinfo_walk_cb,

combine_range_with_segments, normalize_merge_sources, svn_client_merge3,

ensure_all_missing_ranges_are_phantoms, calculate_left_hand_side):

* subversion/svn/util.c

(svn_cl__node_description): Update callers.

  1. … 13 more files in changeset.
* subversion/libsvn_subr/ssl_client_cert_pw_providers.c

(svn_auth_get_ssl_client_cert_pw_file_provider): Move this and ...

* subversion/libsvn_subr/simple_providers.c

(svn_auth_get_simple_provider): ... this function ...

* subversion/libsvn_subr/deprecated.c

(svn_auth_get_ssl_client_cert_pw_file_provider,

svn_auth_get_simple_provider): To this file.

  1. … 2 more files in changeset.
* subversion/libsvn_subr/prompt.c

(svn_cmdline_prompt_user): Move deprecated function to ...

* subversion/libsvn_subr/deprecated.c

(svn_cmdline_prompt_user): ... this file.

  1. … 1 more file in changeset.
* subversion/libsvn_subr/deprecated.c

(global): Following up on r35621, add missing header.

* subversion/libsvn_subr/dso.c

(svn_dso_initialize): Move deprecated function to ...

* subversion/libsvn_subr/deprecated.c

(svn_dso_initialize): ... this file.

  1. … 1 more file in changeset.
* subversion/libsvn_subr/cmdline.c

(svn_cmdline_setup_auth_baton): Move deprecated function to ...

* subversion/libsvn_subr/deprecated.c

(svn_cmdline_setup_auth_baton): ... deprecated.c

  1. … 1 more file in changeset.
Various cleanups after all the subst work.

* subversion/include/svn_subst.h:

(SVN_SUBST_NATIVE_EOL_STR): new definition for the EOL format used in

the repository ("Normal Form")

* subversion/libsvn_subr/subst.c:

(SVN_SUBST__DEFAULT_EOL_STR): removed in favor of above

(svn_subst_translation_required): use SVN_SUBST_NATIVE_EOL_STR

(svn_subst_copy_and_translate3): fold old svn_subst_create_translated

into this function.

* subversion/libsvn_subr/deprecated.c:

(svn_subst_stream_translated_to_normal_form,

svn_subst_translate_to_normal_form): use SVN_SUBST_NATIVE_EOL_STR

* subversion/libsvn_wc/questions.c:

(compare_and_verify): use SVN_SUBST_NATIVE_EOL_STR

* subversion/libsvn_wc/translate.c:

(svn_wc_translated_stream, svn_wc_translated_file2): use

SVN_SUBST_NATIVE_EOL_STR

* subversion/libsvn_wc/merge.c:

(detranslate_wc_file): use SVN_SUBST_NATIVE_EOL_STR

* subversion/libsvn_wc/copy.c:

(copy_file_administratively): use SVN_SUBST_NATIVE_EOL_STR

* subversion/libsvn_client/export.c:

(close_file): simplify via ternary operator removal

* subversion/libsvn_client/commit.c:

(send_file_contents): use SVN_SUBST_NATIVE_EOL_STR

Suggestion (of SVN_SUBST_NATIVE_EOL_STR) by: rhuijben

  1. … 8 more files in changeset.
Deprecate svn_subst_stream_translated_to_normal_form() and remove the

newly-added (in 1.6) svn_subst_create_translated() function.

* subversion/include/svn_subst.h:

(svn_subst_stream_translated_to_normal_form): deprecate

(svn_subst_create_translated): removed

* subversion/libsvn_subr/subst.c:

(svn_subst_stream_translated_to_normal_form): move to deprecated.c

(svn_subst_copy_and_translate3): remove the SPECIAL parameter in our

call to svn_subst_create_translated.

(svn_subst_create_translated): mark as "static" since this is used by

another function within subst.c. remove the SPECIAL parameter since it

is a constant.

* subversion/libsvn_subr/deprecated.c:

(svn_subst_stream_translated_to_normal_form): moved from subst.c

* subversion/libsvn_client/export.c:

(copy_one_versioned_file): adjust logic to early-exit for special files,

and to use svn_subst_create_specialfile() for them. rewrite code to

use svn_subst_stream_translated instead of create_translated. do the

extra fiddly on the temp file before renaming it into place.

* subversion/libsvn_wc/questions.c:

(compare_and_verify): use svn_subst_stream_translated

* subversion/libsvn_wc/translate.c:

(svn_wc_translated_stream): use svn_subst_stream_translated

* subversion/libsvn_wc/copy.c:

(copy_file_administratively): use svn_subst_stream_translated

  1. … 6 more files in changeset.
Adjust a bunch of our public header files:

- make sure everything the header needs is included

- make sure nothing is included which is NOT needed

Added an exception to svn_types.h: it now explicitly includes svn_error.h

since Everybody needs that thing. We go ahead and make it easy for them,

even though that is counter-philosophy.

After altering the header files, some .c files in our codebase would not

compile -- they used stuff that they did not explicitly include. Thus, a

goodly number of .c files were updated, too.

* subversion/libsvn_ra/wrapper_template.h:

* subversion/libsvn_ra/deprecated.c:

* subversion/libsvn_ra/compat.c:

* subversion/libsvn_subr/iter.c:

* subversion/libsvn_subr/cmdline.c:

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c:

* subversion/libsvn_subr/error.c:

* subversion/libsvn_subr/auth.c:

* subversion/libsvn_subr/opt.c:

* subversion/libsvn_subr/checksum.c:

* subversion/libsvn_subr/compat.c:

* subversion/libsvn_subr/sha1.c:

* subversion/libsvn_subr/deprecated.c:

* subversion/libsvn_subr/ssl_server_trust_providers.c:

* subversion/mod_dav_svn/activity.c:

* subversion/mod_dav_svn/reports/log.c:

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

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

* subversion/svn/list-cmd.c:

* subversion/svn/changelist-cmd.c:

* subversion/svn/log-cmd.c:

* subversion/svn/conflict-callbacks.c:

* subversion/libsvn_fs_base/dag.c:

* subversion/libsvn_fs_base/util/fs_skels.c:

* subversion/include/svn_dirent_uri.h:

* subversion/include/svn_error_codes.h:

* subversion/include/svn_fs.h:

* subversion/include/svn_diff.h:

* subversion/include/svn_sorts.h:

* subversion/include/svn_mergeinfo.h:

* subversion/include/svn_base64.h:

* subversion/include/svn_dso.h:

* subversion/include/svn_ra_svn.h:

* subversion/include/svn_repos.h:

* subversion/include/svn_delta.h:

* subversion/include/svn_path.h:

* subversion/include/svn_subst.h:

* subversion/include/svn_xml.h:

* subversion/include/svn_props.h:

* subversion/include/svn_iter.h:

* subversion/include/svn_types.h:

* subversion/include/svn_config.h:

* subversion/include/svn_string.h:

* subversion/include/svn_io.h:

* subversion/include/svn_wc.h:

* subversion/include/svn_cmdline.h:

* subversion/include/svn_client.h:

* subversion/include/svn_user.h:

* subversion/include/svn_hash.h:

* subversion/include/svn_md5.h:

* subversion/include/svn_error.h:

* subversion/include/svn_pools.h:

* subversion/include/private/svn_log.h:

* subversion/include/svn_time.h:

* subversion/include/svn_utf.h:

* subversion/include/svn_auth.h:

* subversion/include/svn_ra.h:

* subversion/include/svn_opt.h:

* subversion/include/svn_checksum.h:

* subversion/libsvn_wc/deprecated.c:

* subversion/libsvn_wc/util.c:

* subversion/libsvn_wc/merge.c:

* subversion/libsvn_wc/tree_conflicts.c:

* subversion/libsvn_client/list.c:

* subversion/libsvn_client/log.c:

* subversion/libsvn_ra_neon/util.c:

* subversion/libsvn_ra_neon/log.c:

* subversion/libsvn_repos/deprecated.c:

* subversion/libsvn_fs_fs/tree.c:

* subversion/libsvn_fs_fs/fs_fs.c:

(): adjust #include statements appropriately

  1. … 69 more files in changeset.