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

Changeset 1424557 is being indexed.

* subversion/libsvn_client/commit.c

(svn_client_commit5): Move this function...

* subversion/libsvn_client/deprecated.c

(svn_client_commit5): ... to this file.

  1. … 1 more file in changeset.
Fix issue #4225, "Add '--include-externals' option to svn list".

* subversion/include/svn_client.h

(svn_client_list_func2_t): New type used to notify externals information.

(svn_client_list_func_t): Deprecate type.

(svn_client_list3): New function, which has a new argument

include_externals.

(svn_client_list2): Deprecate it.

* subversion/libsvn_client/client.h

(svn_client__list_internal): New function.

(svn_client__list_externals): New function.

* subversion/libsvn_client/deprecated.c

(list_func_wrapper_baton): New struct to deprecate svn_client_list2().

(list_func_wrapper, wrap_list_func): Helper functions to deprecate

svn_client_list2().

(svn_client_list2): Call svn_client_list3 with include_externals set to

FALSE, and use svn_client_list_func2_t as callback implemented by

list_func_wrapper().

* subversion/libsvn_client/externals.c

(list_external_items): New static function that walks through all the

externals under list target recursively and list them using

svn_client_list3().

(svn_client__list_externals): New function to parse externals description

and list it using list_external_items().

* subversion/libsvn_client/list.c

(get_dir_contents): Populate the hash table 'externals'. Use

svn_client_list_func2_t instead of svn_client_list_func_t to report file

and directory entries. Use external_parent_url and external_target when

external items are being listed.

(svn_client__list_internal): New function. Same as svn_client_list3(), it

accepts few additional parameters that carries external information.

If include_externals is set, process all the externals which are populated

by get_dir_contents() using svn_client__list_externals().

(svn_client_list3): New function, thin wrapper around

svn_client__list_internal().

* subversion/svn/list-cmd.c

(print_baton): Add few structure members to keep track of last seen external

information.

(print_dirent): Implement svn_client_list_func2_t to control the output when

used with externals.

(print_dirent_xml): Implement svn_client_list_func2_t. Enclose the external

items in the element <external parent_url=.. target= ..><..></external>

(svn_cl__list): Call svn_client_list3(). Handle if there are any errors

during externals processing.

* subversion/svn/main.c

(svn_cl__cmd_table): Enable include_externals for 'list' and give a short

description about the option.

* subversion/tests/cmdline/externals_tests.py

(include_externals): Rename it to 'commit_include_externals'.

(list_include_externals): New test.

(test_list): Add a reference to the new test. Rename 'include_externals' to

'commit_include_externals'.

Patch by: Vijayaguru G <vijay{_AT_}collab.net>

Review by: stsp

julianfoad

  1. … 7 more files in changeset.
Make the --no-ignore and --no-auto-props options disregard the

svn:global-ignores and svn:auto-props properties respectively.

As per the discussion here

http://svn.haxx.se/dev/archive-2012-11/0155.shtml

* subversion/include/svn_client.h

(svn_client_add5): New.

(svn_client_add4): Deprecated.

(svn_client_import5): Add an argument tracking the --no-auto-props option.

* subversion/libsvn_client/add.c

*** Note from the future: Not all The functionality promised

by this commit was made in this change. Specifically,

'svn add --no-ignore' does not disregard svn:global-ignores.

This we rectified in r1418017. ***

(svn_client__get_paths_auto_props): Allow for null AUTOPROPS argument.

(add_file): Add a new argument NO_AUTOPORPS signaling if we want to

consider autoprops or not and set applicable autoprops if we do.

(add_dir_recursive): Add a new argument NO_AUTOPORPS signaling if we

want to consider autoprops or not. Pass it along to recursive calls

and to add_file().

(add): Add a new argument NO_AUTOPORPS signaling if we want to consider

autoprops or not. Pass this arg to add_dir_recursive() and add_file().

(svn_client_add4): Revved to...

(svn_client_add5): ...this. Most of the change here is just the name

change of the POOL arg to SCRATCH_POOL. Functional bit is accepting

the new NO_AUTOPROPS arg and passing it down add().

(svn_client__make_local_parents): Replace call to svn_client_add4 with

svn_client_add5.

* subversion/libsvn_client/client.h

(svn_client__get_paths_auto_props): Better explain what this function does.

* subversion/libsvn_client/commit.c

(import_ctx_t): Note that the autoprops member may be null.

(get_filtered_children): Rename the 'mandatory_ignores' argument to

'global_ignores' since it isn't mandatory anymore. Also handle a null

value for this argument, which which claimed to do already but didn't.

(import_dir): Rename the 'mandatory_ignores' argument to 'global_ignores'.

Add a new argument tracking the --no-auto-props option. Don't grab

the runtime ignores every time we import a dir, rather let the caller

do it once and pass it in as part of the global_ignores.

(import_children): Rename the 'mandatory_ignores' argument to

'global_ignores'. Add a new argument tracking the --no-auto-props

option.

(import): Same as import_dir. Also account for the change to

get_filtered_children.

(svn_client_import5): Add the aforementioned new argument. Either get all

ignores/autoprops or none, as per the --no-ignore and --no-auto-props

options.

* subversion/libsvn_client/deprecated.c

(svn_client_add4): New wrapper around svn_client_add5.

* subversion/svn/add-cmd.c

(svn_cl__add): Use svn_client_add5 instead of svn_client_add4, passing

along the new arg tracking the --no-auto-props option.

* subversion/svn/import-cmd.c

(svn_cl__import): Pass along the new arg tracking the --no-auto-props

option.

* subversion/svn/main.c

(svn_cl__options): Tweak help text for --no-ignore option.

* subversion/tests/cmdline/autoprop_tests.py

(check_inheritable_autoprops,

inheritable_autoprops_test): Adjust to reflect new behavior; we might

have all types of autoprops, just svn:auto-props, or no autoprops at all.

(svn_prop_inheritable_autoprops_add_versioned_target): Expand test to

cover some new scenarios.

* subversion/tests/cmdline/import_tests.py

(import_inherited_ignores): Fix a mistake where a path name pointed to a

non-existent file in the import_tests_data import tree -- this wasn't a

problem with the old behavior because this path was never referenced.

Adjust the test expectations to agree with the new behavior.

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

(test_16k_add): Use latest version of svn_client_add*

  1. … 10 more files in changeset.
Silence signedness mismatch in overflow checks.

* subversion/libsvn_client/deprecated.c

(info_from_info2): fix signedness mismatch in overflow check

* subversion/libsvn_delta/svndiff.c

(write_handler,

read_window_header): ditto

  1. … 1 more file in changeset.
Merge the inheritable-props branch back to trunk.

See http://svn.haxx.se/dev/archive-2012-09/0177.shtml

  1. … 68 more files in changeset.
Forbid WC->WC moves of mixed-revision subtrees by default.

The reasoning behind this is that conflicts involving mixed-revision moves

are harder to resolve than conflicts involving single-revision moves.

Subversion does not yet support interactive resolution of tree conflicts,

and it is not yet clear whether this feature will be available in 1.8.

We will need to handle mixed-revision moves as part of interactive tree

conflict resolution eventually, but until that is the case refusing to

create mixed-revision moves will help users avoid unnecessary conflicts

that need to be resolved manually.

The API is fully backwards compatible and will allow mixed-revision moves

by default unless a new-in-1.8 interface is used.

The --allow-mixed-revision option has been added to 'svn move' to allow

scripts written for Subversion <= 1.7 to run with minor modifications.

The same was done for 'svn merge' in 1.7 and nobody complained, so this

approach seems viable.

* subversion/include/private/svn_wc_private.h

(svn_wc__move2): Declare. Successor of svn_wc_move(), made private since

we've been slowly moving libsvn_wc APIs into the private API space since

the inception of wc-ng (the equivalent API functions at the libsvn_client

interface remain public).

* subversion/include/svn_client.h

(svn_client_move7): Declare.

(svn_client_move6): Deprecate.

* subversion/include/svn_error_codes.h

(SVN_ERR_WC_MIXED_REVISIONS): New error code.

* subversion/include/svn_wc.h

(svn_wc_move): Deprecate.

* subversion/libsvn_client/copy.c

(do_wc_to_wc_moves_with_locks1,

do_wc_to_wc_moves_with_locks2): Add allow_mixed_revisions parameter and

call svn_wc__move2().

(do_wc_to_wc_moves, try_copy): Add allow_mixed_revisions parameter.

(svn_client_copy6): Allow try_copy() to use mixed-revisions (this is

actually a no-op since is_move is FALSE).

(svn_client_move7): Bumped version of svn_client_move6(), with a new

allow_mixed_revisions parameter.

* subversion/libsvn_client/deprecated.c

(svn_client_move6): Implement as wrapper around svn_client_move7().

* subversion/libsvn_wc/copy.c

(copy_versioned_dir): Add allow_mixed_revisions parameter. If this parameter

is FALSE, reject attempts to move mixed-revision subtrees.

(copy_or_move): Add allow_mixed_revisions parameter.

(svn_wc_copy3): Allow copy_or_move() to use mixed revisions.

(svn_wc__move2): Bumped version of svn_wc_move(), and moved into the

private API namespace. Add allow_mixed_revisions parameter.

* subversion/libsvn_wc/deprecated.c

(svn_wc_move): Reimplement as wrapper around svn_wc__move2().

* subversion/svn/main.c

(svn_cl__cmd_table): Document new behaviour in 'svn help move' and add the

--allow-mixed-revisions option to 'svn move'.

* subversion/svn/move-cmd.c

(svn_cl__move): Call svn_client_move7().

  1. … 9 more files in changeset.
Finish issue #4199 ("Add real support for the --revision (-r) option

to the 'svn mergeinfo' command"). Prior to this change, 'svn

mergeinfo' accepted the --revision (-r) option, but did nothing with

it. Oops!

* subversion/include/svn_client.h

(svn_client_mergeinfo_log2): New iteration (adding an operative

revision range) of ...

(svn_client_mergeinfo_log): ... this now-deprecated function.

* subversion/libsvn_client/deprecated.c

(svn_client_mergeinfo_log): Move this here, and make it a mere

wrapper around svn_client_mergeinfo_log2().

* subversion/libsvn_client/mergeinfo.c

(svn_client_mergeinfo_log2): Replaces svn_client_mergeinfo_log(),

adding 'source_start_revision' and 'source_end_revision'

parameters and handling. The core of this change was really

straightforward -- we just needed to provide the resolved

start/end revisions to the existing invocation of

svn_client__get_history_as_mergeinfo().

* subversion/svn/main.c

(main): Add svn_cl__mergeinfo to the set of functions which may

accept a revision range.

* subversion/svn/mergeinfo-cmd.c

(svn_cl__mergeinfo): Upgrade to svn_client_mergeinfo_log2(), passing

the revision range provided by the user.

  1. … 4 more files in changeset.
Add a blank line between declarations and statements where r1352068 didn't.

* subversion/libsvn_client/deprecated.c,

subversion/libsvn_client/info.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_fs_fs/fs_fs.c,

subversion/libsvn_wc/adm_ops.c,

subversion/libsvn_wc/props.c,

subversion/libsvn_wc/upgrade.c,

subversion/libsvn_wc/wc_db.c,

subversion/libsvn_wc/wc_db_util.c,

subversion/tests/libsvn_subr/named_atomic-test.c,

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

Add blank lines.

  1. … 10 more files in changeset.
Do not use non-constant initializers in struct variables, since this

violates C'89 and C'90. Although most compilers used for Subversion support

non-constant initializers, some do not, such as Solaris SunPRO.

Patch by: Daniel Richard G. <skunk{_AT_}iSKUNK.ORG>

(tweaked by me: added a similar change in auth.c)

* subversion/libsvn_client/deprecated.c

(svn_client_propset3, svn_client_status4): Initialize struct variable

fields separately when they are non-constant.

* subversion/libsvn_client/info.c

(svn_client_info3): Same.

* subversion/libsvn_client/merge.c

(merge_locked, do_symmetric_merge_locked): Same.

* subversion/libsvn_diff/diff_file.c

(svn_diff_file_options_parse): Same.

* subversion/libsvn_fs_fs/fs_fs.c

(set_cached_window, svn_fs_fs__set_entry): Same.

* subversion/libsvn_fs_fs/lock.c

(walk_locks): Same.

* subversion/libsvn_subr/auth.c

(svn_auth_get_platform_specific_provider): Same.

* subversion/libsvn_subr/sqlite.c

(wrapped_func): Same.

* subversion/libsvn_wc/adm_ops.c

(svn_wc_get_changelists): Same.

* subversion/libsvn_wc/props.c

(svn_wc__prop_list_recursive, svn_wc_prop_set4): Same.

* subversion/libsvn_wc/upgrade.c

(svn_wc__upgrade_sdb): Same.

* subversion/libsvn_wc/wc_db.c

(svn_wc__db_op_set_changelist, svn_wc__db_revert_list_read, read_url,

svn_wc__db_revision_status): Same.

* subversion/libsvn_wc/wc_db_util.c

(svn_wc__db_with_txn): Same.

* subversion/svn/merge-cmd.c

(merge_reintegrate): Same.

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

(proc_found, run_procs): Same.

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

(wc_update, check_db_rows, copy_subtest_t, wc_wc_copies, repo_wc_copies):

Same.

  1. … 15 more files in changeset.
Add a new --properties-only option to 'svn diff' to show only property changes.

This is the inverse of --ignore-properties. The two options are mutually

exclusive.

* subversion/svn/diff-cmd.c

(svn_cl__diff): Pass the properties_only option to the client layer.

* subversion/svn/main.c

(svn_cl__longopt_t, svn_cl__options, svn_cl__cmd_table): Add a new

--properties-only option. The internal flag is called opt_properties_only".

* subversion/svn/log-cmd.c

(log_entry_receiver): When showing diffs, set properties_only to FALSE.

* subversion/svn/cl.h

(svn_cl__opt_state_t): New properties_only option.

* subversion/libsvn_client/diff.c

(diff_cmd_baton): Add properties_only flag.

(diff_content_changed): Do nothing if properties_only is set.

(svn_client_diff6, svn_client_diff_peg6): New properties_only parameter.

Raise an error if both ignore_properties and properties_only are set.

* subversion/libsvn_client/deprecated.c

(svn_client_diff5, svn_client_diff_peg5): Pass FALSE for properties_only.

* subversion/include/svn_client.h

(svn_client_diff6, svn_client_diff_peg6): Update declarations and docstring.

  1. … 6 more files in changeset.
Deprecate svn_client_import4() and introduce svn_client_import5() to allow

clients that directly interact with our client api to pass a filter function.

* subversion/include/svn_client.h

(svn_client_import_filter_func_t): New typedef.

(svn_client_import5): New function.

(svn_client_import4): Deprecate function.

* subversion/libsvn_client/commit.c

(send_file_contents): Rename argument to local_abspath to match usage.

(import_file): Rename argument to local_abspath and existing dirent to avoid

more filestats.

(import_dir): Rename argument to local_abspath. Add filter support. Use newer

struct type for dirent to allow passing it.

(svn_client_import4): Renamed to ...

(svn_client_import5): ... this and add filter argument. Pass abspath to

helper functions instead of making them generate abspaths everywhere.

Remove unneeded comment.

* subversion/libsvn_client/deprecated.c

(svn_client_import4): New function. Simple wrapper around svn_client_import5.

  1. … 2 more files in changeset.
Add --no-diff-properties and --patch options to 'svn diff'.

The --patch option implies --no-diff-properties and --show-copies-as-adds.

These options are useful when creating patches for consumers that

do not understand or do not care about Subversion properties.

Patch by: Alexey Neyman <stilor@att.net>

* subversion/svn/cl.h

* subversion/svn/main.c

New options, --no-diff-properties and --patch for svn diff.

* subversion/include/svn_client.h

(svn_client_diff6,svn_client_diff_peg6): New argument, ignore_prop_diff.

(svn_client_diff5,svn_client_diff_peg5): Update comments.

* subversion/libsvn_client/deprecated.c

(svn_client_diff5,svn_client_diff_peg5): Pass FALSE as ignore_prop_diff.

* subversion/libsvn_client/diff.c

(diff_cmd_baton): New field, ignore_prop_diff.

(diff_props_changed): Do nothing if diff_cmd_baton->ignore_prop_diff is set.

(svn_client_diff6,svn_client_diff_peg6): Pass ignore_prop_diff downstream

via diff_cmd_baton.

* subversion/svn/diff-cmd.c

(svn_cl__diff): Handle --patch and --no-diff-properties.

* subversion/svn/log-cmd.c

(log_entry_receiver): Request property changes from svn_client_diff6.

  1. … 6 more files in changeset.
Provide constructor functions for svn_opt_revision_range_t to simplify

usage.

* subversion/include/private/svn_opt_private.h

subversion/libsvn_subr/opt.c

(svn_opt__revision_range_create, svn_opt__revision_range_from_revnums):

New functions.

* subversion/libsvn_client/deprecated.c

(svn_client_log4, svn_client_merge_peg2): Use them.

* subversion/libsvn_client/merge.c

(merge_cousins_and_supplement_mergeinfo, merge_locked): Use them.

* subversion/libsvn_client/mergeinfo.c

(logs_for_mergeinfo_rangelist): Use them.

* subversion/svn/main.c

(main): Use them.

  1. … 5 more files in changeset.
Update calls to three deprecated APIs to use svn_client_get_repos_root()

instead, mark the deprecated APIs as such and move their implementations to

'deprecated.c'. A follow-up to r1186244.

* subversion/include/svn_client.h

(svn_client_get_repos_root): Mention that it may open a temporary RA

session.

(svn_client_root_url_from_path, svn_client_uuid_from_url,

svn_client_uuid_from_path2): Mark as deprecated.

* subversion/libsvn_client/ra.c

(svn_client_uuid_from_url, svn_client_uuid_from_path2): Move these ...

* subversion/libsvn_client/url.c

(svn_client_root_url_from_path): ... and this ...

* subversion/libsvn_client/deprecated.c

(svn_client_uuid_from_url, svn_client_uuid_from_path2,

svn_client_root_url_from_path): ... to here.

* subversion/libsvn_client/cmdline.c

(svn_client_args_to_target_array2): Update calls.

* subversion/libsvn_client/copy.c

(repos_to_wc_copy_locked): Update calls.

* subversion/libsvn_client/merge.c

(merge_cousins_and_supplement_mergeinfo): Update calls.

* subversion/libsvn_client/relocate.c

(relocate_externals, svn_client_relocate2): Update calls.

  1. … 7 more files in changeset.
Make the client diff output streamy, rather than requiring an APR file.

(Our own consumer of this API just uses stdout, so this doesn't have much

effect there.)

* subversion/include/svn_client.h

(svn_client_diff6): New.

(svn_client_diff5): Deprecate.

(svn_client_diff_peg6): New.

(svn_client_diff_peg5): Deprecate.

* subversion/svn/diff-cmd.c

(svn_cl__diff): Update callers.

* subversion/libsvn_client/deprecated.c

(svn_client_diff5, svn_client_diff_peg5): New deprecation wrappers.

* subversion/libsvn_client/diff.c

(file_printf_from_utf8): Remove.

(display_mergeinfo_diff, display_prop_diffs): Accept and use a stream

instead of a file.

(diff_cmd_baton): Change file handles to streams.

(diff_content_changed): Use streams, and create a temp file for interfacing

with an external diff tool.

(diff_file_deleted): Update params.

(svn_client_diff6): Renamed and updated from svn_client_diff5().

(svn_client_diff_peg6): Renamed and updated from svn_client_diff_peg5().

  1. … 3 more files in changeset.
Fix a warning about a loss of const-qualifiers, due to change in r1146492.

Found by: danielsh

* subversion/libsvn_client/deprecated.c:

(info_from_info2): add a cast and a comment

Fix a doc string and move some related deprecated functions.

* subversion/include/svn_client.h

(svn_proplist_receiver_t): Correct and improve the doc string.

* subversion/libsvn_client/util.c

(string_hash_dup, svn_client_proplist_item_dup): Move these deprecated

functions from here ...

* subversion/libsvn_client/deprecated.c

(string_hash_dup, svn_client_proplist_item_dup): ... to here.

  1. … 2 more files in changeset.
Make the 'info' apis capable of returning excluded paths. Do this by

adding two boolean arguments for api users to make the retrieval of

actual only (tree conflicts) and excluded nodes optional.

* subversion/include/private/svn_wc_private.h

(svn_wc__get_info): Add two arguments and order arguments following the

wc standard argument ordering.

* subversion/include/svn_client.h

(svn_client_info3): Add two arguments. Order arguments following the new

standard.

* subversion/libsvn_client/deprecated.c

(svn_client_info2): Filter excluded nodes.

* subversion/libsvn_client/info.c

(svn_client_info3): Update caller.

* subversion/libsvn_wc/info.c

(build_info_for_entry): Rename to ...

(build_info_for_node): ... this. Return a NULL info for server excluded and

not-present nodes, to avoid breaking out of the loop.

Remove two unneeded db calls for calling info on a deleted node.

(found_entry_baton): Add two booleans and a result pool for the hash table.

(info_found_node_callback): Make actual only check optional and fix

pool usage. (Paths were stored in an iterpool). Skip

(svn_wc__get_info): Update caller. Pass the right kind to depth_includes.

* subversion/svn/info-cmd.c

(svn_cl__info): Update caller.

Partially based on a few patches from Noorul Islam.

(I'll commit his new testcase in a separate commit)

  1. … 5 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.
* subversion/libsvn_client/deprecated.c

(status4_wrapper_baton): Move the 'old_func' field next to the 'old_baton'

field, because they're a logical pair.

(svn_client_status4): Adjust an initializer accordingly.

Replace the new global 'svn_info2_t' structure with two library-specific

structures, one in libsvn_wc and one in libsvn_client, to remove a circular

dependency among the libraries. The two new structures currently have

the same fields as each other and as before, but their logical purposes are

not quite identical so they may diverge in future. One is private and the

other public.

Add a 'dup' function for the public structure. This could not be done

before, at least not cleanly.

* subversion/include/svn_types.h

(svn_info2_t, svn_info_receiver2_t): Remove.

* subversion/include/private/svn_wc_private.h

(svn_wc__info2_t): New structure.

(svn_wc__info_receiver2_t): New function type.

(svn_wc__get_info): Rename svn_info2_t/svn_info_receiver2_t to svn_wc__*.

* subversion/libsvn_wc/info.c

(build_info_for_entry, build_info_for_unversioned, found_entry_baton,

info_found_node_callback, svn_wc__get_info): Rename

svn_info2_t/svn_info_receiver2_t to svn_wc__*.

* subversion/include/svn_client.h

(svn_client_info2_t): New structure.

(svn_client_info2_dup): New function.

(svn_client_info_receiver2_t): New function type.

(svn_client_info3): Rename svn_info2_t/svn_info_receiver2_t to svn_client_*.

(svn_client_info2): Update doc string accordingly.

* subversion/libsvn_client/info.c

(svn_client_info2_dup): New function.

(build_info_from_dirent, push_dir_info): Rename

svn_info2_t/svn_info_receiver2_t to svn_client_*.

(wc_info_receiver_baton_t, wc_info_receiver): New structure and function.

(svn_client_info3): Rename svn_info2_t/svn_info_receiver2_t to svn_client_*.

Use wc_info_receiver() to convert the WC results from svn_wc__info2_t to

svn_client_info2_t.

* subversion/libsvn_client/deprecated.c

(info_from_info2, info_receiver_relpath_wrapper): Rename

svn_info2_t/svn_info_receiver2_t to svn_client_*.

* subversion/svn/info-cmd.c

(print_info_xml, print_info, svn_cl__info): Same.

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

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

(CreateJ::Info): Same.

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

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

(InfoCallback::callback, InfoCallback::singleInfo): Same.

  1. … 11 more files in changeset.
Deprecate svn_info_dup(), as the svn_info_t structure is deprecated.

* subversion/include/svn_client.h

(svn_info_dup): Mark as deprecated.

* subversion/libsvn_client/info.c

(svn_info_dup): Move from here ...

* subversion/libsvn_client/deprecated.c

(svn_info_dup): ... to here.

  1. … 2 more files in changeset.
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java

(testBasicInfo2): Expect depth unknown on files via the new api.

* subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java

(testBasicInfo2): Expect depth unknown on files via the new api.

* subversion/libsvn_client/deprecated.c

(info_from_info2): Restore old value for the old api, but watch out not to

override excluded.

  1. … 2 more files in changeset.
* subversion/libsvn_client/deprecated.c

(info_from_info2): Set depth to unknown when no working copy information

is provided, to match 1.5 and 1.6 behavior.

Reduce the typical number of database transactions for filling the svn_wc_info_t

structure to 1 by using one call to svn_wc__db_read_info() to obtain most of

the information we need in the rest of the function.

Instead of fixing all cases at once, fall back to the old code in the less

common code paths.

* subversion/include/svn_wc.h

(svn_wc_info_t): Rename two fields to document their real purpose.

* subversion/libsvn_client/deprecated.c

(info_from_info2): Update caller.

* subversion/libsvn_wc/info.c

(build_info_for_entry): Start with a call to svn_wc__db_read_info and use that

to avoid calls to several calls that would just call read_info again.

* subversion/svn/info-cmd.c

(print_info__xml,

print_info): Update users.

  1. … 3 more files in changeset.
Fill the checksum of the deprecated svn_info_t structure with the expected

md5 instead of leaving it NULL.

* subversion/include/private/svn_wc_private.h

(svn_wc__node_get_md5_from_sha1): New function.

* subversion/libsvn_client/deprecated.c

(info_from_info2): Return svn_error_t and fetch md5 checksum.

(info_to_relpath_baton): Add wc_ctx.

(info_receiver_relpath_wrapper): Update caller.

(svn_client_info2): Update caller.

* subversion/libsvn_wc/node.c

(svn_wc__node_get_md5_from_sha1): New function.

  1. … 2 more files in changeset.
Document and reintroduce the (old) error behavior of svn_client_propget. While

technically undocumented at least two clients (svn and AnkhSVN) relied on this

error behavior.

* subversion/include/svn_client.h

(svn_client_propget4): Document new error code.

(svn_client_propget3): Document old error code.

* subversion/libsvn_client/deprecated.c

(svn_client_propget3): Convert new error to old error.

  1. … 1 more file in changeset.
Fix issue #3702 'Unable to perform case-only rename on windows' by adding a

new flag to svn_client_args_to_target_array (revving it in the process), so

it can perform specialized case-canonicalization behavior for supporting

case-only renames.

* subversion/tests/cmdline/copy_tests.py

(case_only_rename): Remove XFail marker. Fix issue description according

to the changed summary of issue #3702.

* subversion/include/svn_client.h

(svn_client_args_to_target_array): Deprecate, succeeded by ...

(svn_client_args_to_target_array2): ... new function, carrying a new

argument KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.

* subversion/libsvn_client/cmdline.c

(svn_client_args_to_target_array2): Make use of new flag

KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION to undo truepath-conversion of

the last of 2 targets if they both have the same 'truepath'.

* subversion/libsvn_client/deprecated.c

(svn_client_args_to_target_array): Implement deprecated wrapper.

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

(test_args_to_target_array): Adjust caller, passing FALSE for

KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.

[in subversion/svn]

* add-cmd.c, blame-cmd.c, cat-cmd.c, changelist-cmd.c, checkout-cmd.c,

cleanup-cmd.c, commit-cmd.c, copy-cmd.c, delete-cmd.c, diff-cmd.c,

export-cmd.c, import-cmd.c, info-cmd.c, list-cmd.c, lock-cmd.c, log-cmd.c,

merge-cmd.c, mergeinfo-cmd.c, mkdir-cmd.c, patch-cmd.c, propdel-cmd.c,

propedit-cmd.c, propget-cmd.c, proplist-cmd.c, propset-cmd.c,

relocate-cmd.c, resolve-cmd.c, resolved-cmd.c, revert-cmd.c, status-cmd.c,

switch-cmd.c, unlock-cmd.c, update-cmd.c, upgrade-cmd.c:

Adjust callers, passing FALSE for KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.

* move-cmd.c: Adjust caller, passing TRUE for

KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.

* cl.h

(svn_cl__args_to_target_array_print_reserved): Add new parameter

KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.

* util.c

(svn_cl__args_to_target_array_print_reserved): Add new parameter

KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION, passing it to

svn_client_args_to_target_array2.

  1. … 41 more files in changeset.
Fix the ignore_content_type flag for users of the deprecated libsvn_client

diff functions.

(Found via the SharpSvn test suite).

* subversion/libsvn_client/deprecated.c

(svn_client_diff4,

svn_client_diff_peg4): Following up on r958881, fix the argument ordering

in a deprecated function wrapper to fix the ignore_content_type flag.