Checkout Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Bump calls to svn_wc_revert5() to svn_wc_revert6() following r1822534.

* subversion/libsvn_client/conflicts.c

(resolve_incoming_move_dir_merge): Bump.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_revert): Bump.

  1. … 1 more file in changeset.
Following up on r1807584, remove unnecessary SQL statements from

the WC schema definition and simplify a step in the upgrade process.

* subversion/libsvn_wc/wc-metadata.sql

(STMT_CREATE_NODES): Remove and include into STMT_CREATE_SCHEMA.

(STMT_CREATE_NODES_TRIGGERS): Likewise.

(STMT_CREATE_EXTERNALS): Likewise.

(STMT_UPGRADE_TO_31_ALTER_TABLE, STMT_UPGRADE_TO_31_FINALIZE):

Combine these statements into a single ...

(STMT_UPGRADE_TO_31): ... which is new.

(STMT_UPGRADE_TO_32): Remove as unused.

(-- format: YYY): Remove as unused, it converted to a comment anyway.

* subversion/libsvn_wc/wc_db.c

(init_db): Remove use of deleted SQL statements.

* subversion/libsvn_wc/upgrade.c

(bump_to_31): Remove the manual check for the existence of the

NODES.inherited_props column since we no longer support the

unreleased formats prior to format 20 that did not have

a NODES table.

* subversion/tests/libsvn_wc/utils.c

(svn_test__create_fake_wc): Remove use of deleted SQL statements.

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

(schema_statements): Remove use of deleted SQL statements.

  1. … 4 more files in changeset.
Apply the 'incoming add ignore' conflict resolver option to update and switch,

and add a regression test for the update case.

It is currently impossible to create an add vs add update tree conflict with

the 'svn' command line client because it sets 'adds_as_modifications' to TRUE

when calling svn_client_update(). The new test relies on the fact that the test

suite sets it to FALSE instead.

* subversion/include/svn_client.h

(svn_client_conflict_option_merge_incoming_add_ignore): Rename to ...

(svn_client_conflict_option_incoming_add_ignore): ... this, because the option

does not only apply to merge anymore.

* subversion/libsvn_client/conflicts.c

(resolve_merge_incoming_add_ignore): Rename to ...

(resolve_incoming_add_ignore): ... this.

(configure_option_merge_incoming_add_ignore): Track renames. Allow this option

for update and switch, too.

* subversion/svn/conflict-callbacks.c

(builtin_resolver_options): Track renames.

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

(test_option_merge_incoming_added_file_ignore,

test_option_merge_incoming_added_dir_ignore): Track renames.

(create_wc_with_file_add_vs_file_add_update_conflict): New helper function.

(test_option_update_incoming_added_file_ignore): New test.

(test_funcs): Adjust a docstring and add new test.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_update_depth): Add a comment pointing out the dependency of the

newly added test on this function passing FALSE for adds_as_modifications.

  1. … 4 more files in changeset.
Following up on r1663338, enable resolving individual property conflicts

via svn_wc__resolve_conflicts(). This allows accessing a feature that was

already available when passing a callback, but not directly.

Use this to add a regression test for the problems fixed in r1663338.

* subversion/libsvn_wc/conflicts.c

(svn_wc__resolve_conflicts): Remove limitation.

* subversion/tests/libsvn_wc/conflict-data-test.c

(test_prop_conflict_resolving): New function

(test_list): Add test_prop_conflict_resolving.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_resolve_prop): New function.

* subversion/tests/libsvn_wc/utils.h

(sbox_wc_resolve_prop): New function.

  1. … 3 more files in changeset.
Expose the metadataOnly option that is already implemented in libsvn_client's

copy support through the api.

This should have been added when revving the api, as this api has been

available at the libsvn_wc level since 1.8 (and at least used by AnkhSVN

since then).

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

(Java_org_apache_subversion_javahl_SVNClient_copy): Pass metadataOnly.

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

(SVNClient::copy): Pass metadataOnly.

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

(SVNClient::copy): Pass metadataOnly.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java

(copy): Add and document metadataOnly argument.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java

(copy): Add and document metadataOnly argument.

(copy): Update caller.

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

(testCopy,

testCopyPinExternals_wc2wc,

testCopyPinExternals_wc2repo,

testCopyPinExternals_repo2wc,

testCopyPinExternals_repo2repo,

testCopyPinExternals_repo2repo_explicit,

setupAndPerformMerge): Update caller.

* subversion/include/svn_client.h

(svn_client_copy7): Add argument.

* subversion/libsvn_client/copy.c

(svn_client_copy7): Add argument. Update caller.

* subversion/libsvn_client/deprecated.c

(svn_client_copy6): Update caller.

* subversion/svn/copy-cmd.c

(svn_cl__copy): Update caller.

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

(test_copy_pin_externals): Update caller.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_copy_url): Update caller.

  1. … 11 more files in changeset.
Convert db-tests.c's initial state generation to a similar C struct as used

in op-depth-tests.c, to allow handling future database format updates

without rewriting all sql manually.

* subversion/libsvn_wc/wc-checks.sql

(STMT_STATIC_VERIFY): Extend further. This time to fix some NULL cases

caused by joining.

* subversion/tests/libsvn_wc/db-test.c

(TESTING_DATA): Remove NODES and ACTUAL init.

(NOT_MOVED,

NO_COPY_FROM): New defines.

(nodes_init_data,

actual_init_data): New variables, manually extracted from TESTING_DATA.

(create_open): Update caller.

* subversion/tests/libsvn_wc/entries-compat.c

(create_fake_wc): Update caller.

* subversion/tests/libsvn_wc/utils.c

(includes): Add token-map.h.

(svn_test__create_fake_wc): Use db queries to fill wc.db if data

provided.

* subversion/tests/libsvn_wc/utils.h

(svn_test__nodes_data_t,

svn_test__actual_data_t): New types.

(svn_test__create_fake_wc): Add arguments to pass initial nodes and

actual rows.

  1. … 4 more files in changeset.
* subversion/tests/libsvn_wc/utils.c

(sbox_wc_copy_url): Resolve deprecation warning by calling updated function.

Make sbox_file_write() use proper error handling. Update all callers.

* subversion/tests/libsvn_wc/conflict-data-test.c

(test_read_write_tree_conflicts): Update caller.

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

(wc_wc_copies,

test_deletes,

test_adds_change_kind,

test_shadowed_update,

commit_file_external,

revert_file_externals,

copy_file_externals,

move_update,

update_prop_mod_into_moved,

nested_move_update,

nested_move_commit,

move_update_conflicts,

move_update_delete_mods,

finite_move_update_bump,

move_delete_file_externals): Update caller.

* subversion/tests/libsvn_wc/utils.c

(sbox_file_write): Use svn_io functions and return svn_error_t *.

* subversion/tests/libsvn_wc/utils.h

(sbox_file_write): Return svn_error_t *.

  1. … 3 more files in changeset.
As we are revving svn_client_revert() for 1.9 anyway, now is the time to

give it a 'metadata_only' flag, like we have on copy and move.

This helps gui clients that should record changes after they occured, who

don't want to revert local changes just to re-apply them using the Subversion

function. (And thereby avoiding file lock challenges on Windows)

Note that some of the refactoring in this patch is preparation for a

followup performance patch for reverting huge trees (like entire WC).

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

(Java_org_apache_subversion_javahl_SVNClient_revert): Add another boolean.

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

(SVNClient::revert): Forward metadata_only.

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

(SVNClient::revert): Add metadata_only boolean.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java

(revert): Add and document argument.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java

(revert): Add argument (3*)

* subversion/include/svn_client.h

(svn_client_revert3): Add and document argument.

(svn_client_revert2): Document behavior of new argument.

* subversion/include/svn_wc.h

(svn_wc_revert5): Add and document argument.

(svn_wc_revert4): Document behavior of new argument.

* subversion/libsvn_client/deprecated.c

(svn_client_revert2): Update caller.

* subversion/libsvn_client/revert.c

(revert_with_write_lock_baton): Add flag.

(revert): Update caller. Pass error to notify.

(svn_client_revert3): Add argument. Properly use iterpool.

Update caller.

* subversion/libsvn_wc/deprecated.c

(svn_wc_revert4): Update caller.

* subversion/libsvn_wc/revert.c

(revert_wc_data): Add prototype.

(revert_restore): Add argument. Extract the non metadata work

code to revert_wc_data.

(revert_wc_data): New function. Placed below revert_restore to

minimize changes to this file in this patch.

* subversion/svn/revert-cmd.c

(svn_cl__revert): Update caller.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_revert): Update caller.

  1. … 12 more files in changeset.
Make the MTCC tests use the current ra layer. Add a bit of plumbing

to make it easier to setup ra usage.

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

(make_greek_tree,

test_mkdir,

test_mkgreek,

test_swap,

test_propset,

test_update_files,

test_overwrite,

test_anchoring,

test_replace_tree): Create test ra agnostic.

* subversion/tests/libsvn_wc/utils.c

(svn_test__create_client_ctx):

Extract some code to svn_cmdline_create_auth_baton.

* subversion/tests/svn_test.h

(includes): Add svn_auth.h.

(svn_test__init_auth_baton): New function.

* subversion/tests/svn_test_main.c

(svn_test__init_auth_baton): New function.

  1. … 3 more files in changeset.
Following up on r1656778 and r1656779, start using the current ra layer

in the tests that use the standard C sbox infrastructure, like op-depth-test.

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

(repo_wc_copies): Use helper function that sets up authz.

(repo_wc_copy): Use new information to avoid file:// assumption.

* subversion/tests/libsvn_wc/utils.c

(includes): Add svn_cmdline.h.

(svn_test__create_client_ctx): New function.

(create_repos_and_wc): Add argument and use new functions to work

with other ra layers.

(svn_test__sandbox_create): Update caller.

(sbox_wc_copy_url,

sbox_wc_commit_ex,

sbox_wc_update_depth,

sbox_wc_switch,

sbox_wc_move,

sbox_wc_propset,

sbox_wc_relocate): Create ctx using helper.

* subversion/tests/libsvn_wc/utils.h

(svn_test__sandbox_t): Add repos_dir member.

(svn_client_ctx_t): Add prototype.

(svn_test__create_client_ctx): New function.

  1. … 2 more files in changeset.
Eliminate a deprecation warning from within our test suite.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_revert): Switch to svn_wc_revert5().

Allow clients to configure the working copy SQLite busy

timeout, this can be useful when exclusive locking is

enabled.

* subversion/include/private/svn_sqlite.h

(svn_sqlite__open): Add timeout parameter.

* subversion/include/svn_config.h

(SVN_CONFIG_OPTION_SQLITE_TIMEOUT): New.

* subversion/libsvn_subr/config_file.c

(svn_config_ensure): Describe new config option.

* subversion/libsvn_subr/sqlite.c

(internal_open, svn_sqlite__open): Add timeout parameter.

(svn_sqlite__hotcopy): Pass default timeout.

* subversion/libsvn_wc/wc_db_private.h

(struct svn_wc__db_t): Add timeout member.

(svn_wc__db_util_open_db): Add timeout parameter.

* subversion/libsvn_wc/wc_db_util.c

(svn_wc__db_util_open_db): Add timeout parameter.

* subversion/libsvn_wc/wc_db_wcroot.c

(svn_wc__db_open): Get timeout from config.

(svn_wc__db_wcroot_parse_local_abspath): Pass timeout.

* subversion/libsvn_wc/wc_db.c

(create_db): Add timeout parameter.

(svn_wc__db_init, svn_wc__db_upgrade_begin,

svn_wc__db_bump_format): Pass default timeout.

* subversion/libsvn_fs_fs/rep-cache.c

* subversion/libsvn_fs_x/rep-cache.c

(open_rep_cache): Pass default timeout.

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

(open_db): Pass default timeout.

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

(open_wc_db): Pass default timeout.

* subversion/tests/libsvn_wc/utils.c

(svn_test__create_fake_wc): Pass default timeout.

  1. … 12 more files in changeset.
* subversion/tests/libsvn_wc/utils.c

(sbox_wc_commit_ex): Introduce scratch pool to avoid error when testing

the repo_wc_copy test on BDB.

Following up on r1560690 (backported in 1.8.8 and 1.7.16), obtain the

copyfrom_id a bit earlier to not only record the copy with the right

information but also at the right op-depth.

This resolves an issue I just found myself while performing a URL WC copy

on a working copy that was relocated. Both 1.8.8 and trunk would show

all nodes (except the copy root) as incomplete because each descendant

would be stored at its own op-root.

* subversion/libsvn_wc/wc_db.c

(get_info_for_copy): Calculate the right copyfrom_id here

(db_op_copy): Instead of here... because this value is used in more

places than just when inserting the node. Most importantly for

op_depth_for_copy().

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

(repo_wc_copy): New test.

(test_funcs): Add test.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_copy_url,

sbox_wc_relocate): New functions.

* subversion/tests/libsvn_wc/utils.h

(sbox_wc_copy_url,

sbox_wc_relocate): New functions.

  1. … 3 more files in changeset.
Don't canonicalize properties when doing a foreign copy.

Presumably if you're doing a foreign copy you don't have control over the

remote repo and you need to pull in whatever it has so as to be useful.

* subversion/include/svn_wc.h

(svn_wc_add_from_disk2): deprecate in favor of ...

(svn_wc_add_from_disk3): which lets you skip property canonicalization

* subversion/libsvn_wc/adm_ops.c

(svn_wc_add_from_disk2): Replace with ...

(svn_wc_add_from_disk3): new version of function with skip_checks arg.

* subversion/libsvn_wc/deprecated.c

(svn_wc_add_from_disk2): Deprecated function moved here.

* subversion/libsvn_client/copy_foreign.c

(ensure_added, file_close, svn_client__copy_foreign): Update

svn_wc_add_from_disk2() call to svn_wc_add_from_disk3() with TRUE

for skip_checks arg

(dir_change_prop, file_change_prop): Update comments to match new function

* subversion/libsvn_client/add.c

(add_file, add_dir_recursive, add): Update svn_wc_add_from_disk2() call to

svn_wc_add_from_disk3() with FALSE for the skip_checks arg

* subversion/libsvn/client/merge.c

(merge_dir_opened): ...

* subversion/libsvn/client/patch.c

(create_missing_parents, install_patched_target,

install_patched_prop_targets): ...

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_add): ...

  1. … 7 more files in changeset.
In the C tests: When we create a wc.db file containing test data, we should

close it before running the tests on it using another db instance.

* subversion/libsvn_wc/wc_db.c

(init_db): Accidental change, reverted in r1558573.

* subversion/tests/libsvn_wc/db-test.c

(create_open): Update caller.

* subversion/tests/libsvn_wc/entries-compat.c

(create_fake_wc): Update caller.

* subversion/tests/libsvn_wc/utils.c

(svn_test__create_fake_wc): Remove result pool. There are no output

arguments. Install statistics.

* subversion/tests/libsvn_wc/utils.h

(svn_test__create_fake_wc): Update prototype.

  1. … 4 more files in changeset.
Cleanup test infrastructure creation a bit.

* subversion/tests/libsvn_wc/db-test.c

(create_open): Remove tree before creating new data.

* subversion/tests/libsvn_wc/utils.c

(svn_test__create_fake_wc): Remove single file DB delete right before

creating the new database.

  1. … 1 more file in changeset.
* subversion/tests/libsvn_wc/utils.c

(sbox_wc_update_depth): Handle revision -1 as HEAD.

Introduce a null-pointer constant that we can use as a termination sentinel

in variable argument lists. This avoids the ugliness of writing

"(char *) NULL" all over the place.

* subversion/include/svn_types.h (SVN_VA_NULL): New symbol.

* subversion/include/svn_dirent_uri.h (svn_dirent_join_many),

subversion/include/svn_path.h (svn_path_join_many),

subversion/include/svn_xml.h (svn_xml_make_open_tag):

Update docstrings, mentioning SVN_VA_NULL as the argument list terminator.

[Lots of implementation files]: Replace typecast-NULL with SVN_VA_NULL in

function calls with variable argument lists.

  1. … 89 more files in changeset.
Following up on r1455881, make sbox_wc_update_depth behave like it is supposed

to and fix the new test.

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

(move_depth_expand): Update caller.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_update_depth): Pass the new sticky argument to svn_client_update4()

instead of always passing true.

  1. … 1 more file in changeset.
Add initial regression test playing with depth expansion during update/move

handling. This somehow caused a segfault.

The scenarios that I intended to test here looks a lot like the cases that

would needed to be handled for mixed revision moves, but I didn't get that

far.

* subversion/libsvn_wc/wc_db_update_move.c

(mark_tree_conflict): Add assertion right before the segfault.

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

(finite_move_update_bump): Update caller.

(move_depth_expand): New function.

(test_list): Add move_depth_expand as XFail.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_update_depth): Add argument (equivalent to --set-depth)

(sbox_wc_update): Update caller. Pass depth unknown, like 'svn' does.

* subversion/tests/libsvn_wc/utils.h

(sbox_wc_update_depth): Add argument.

  1. … 3 more files in changeset.
Add more cases to a move-update test.

* subversion/tests/libsvn_wc/utils.h

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_switch): Add path and depth parameters.

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

(move_update_conflicts, switch_move, move_back): Adjust switch call.

(move_update_subtree): Extend to test switch and bump.

  1. … 2 more files in changeset.
Ensure both move source and destination are locked when resolving

conflicts.

* subversion/include/private/svn_wc_private.h

* subversion/libsvn_wc/lock.c

(svn_wc__acquire_write_lock_for_resolve): New.

* subversion/libsvn_client/resolved.c

(svn_client_resolve): Use new lock acquire function.

* subversion/libsvn_wc/wc-queries.sql

(STMT_SELECT_MOVED_OUTSIDE): Select moved_to.

* subversion/libsvn_wc/wc_db.h

(svn_wc__required_lock_for_resolve): New.

* subversion/libsvn_wc/wc_db_update_move.c

(update_moved_away_conflict_victim): Verify that lock is held on

destination.

(svn_wc__db_update_moved_away_conflict_victim): Verify that lock is held

on source.

(required_lock_for_conflict, required_lock_for_resolve,

svn_wc__required_lock_for_resolve): New.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_resolve): Acquire and release locks.

  1. … 6 more files in changeset.
Raise tree-conflicts for finite depth move-updates that don't

modify but only bump the move source. At present these conflicts

can only be resolved to 'working' thus breaking the move.

* subversion/libsvn_wc/wc_db_private.h

(svn_wc__db_bump_moved_away): Add db parameter.

* subversion/libsvn_wc/wc_db.c

(bump_revisions_post_update): Pass db.

* subversion/libsvn_wc/wc_db_update_move.c

(mark_tree_conflict): Add comment.

(svn_wc__db_read_conflict_internal): Trace error.

(depth_sufficient_to_bump, bump_mark_tree_conflict): New.

(bump_moved_away): Add depth and db parameters, raise conflict.

(svn_wc__db_bump_moved_away): Add db parameter, raise conflict.

* subversion/libsvn_wc/wc-queries.sql

(STMT_SELECT_MOVED_PAIR3): Select kind.

(STMT_SELECT_HAS_NON_FILE_CHILDREN): New.

(STMT_SELECT_HAS_GRANDCHILDREN): New.

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

(finite_move_update_bump): New test.

(test_funcs): Add new test.

* subversion/tests/libsvn_wc/utils.h

(sbox_wc_update_depth): New.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_update): Make into a wrapper calling ...

(sbox_wc_update_depth): ... this, don't set sticky flag.

  1. … 6 more files in changeset.
Do non-recursive resolving in op-depth-tests to allow

layered_moved_to to PASS.

* subversion/tests/libsvn_wc/utils.h

(sbox_wc_resolve): Add depth parameter.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_resolve): Add depth parameter.

(sbox_wc_resolved): Adjust call.

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

(move_update, update_prop_mod_into_moved, nested_move_update,

move_update_conflicts, move_update_delete_mods, move_in_delete,

switch_move, move_replace, layered_moved_to): Adjust call.

(test_funcs): Mark layered_moved_to PASS.

  1. … 2 more files in changeset.
Move updating is relying on a non-Ev2, depth-first, drive to raise

the right tree-conflicts so make it explicit, also test that we are

generating conflicts with the correct repository path.

* subversion/libsvn_wc/wc_db_update_move.c

(struct tc_editor_baton): Add conflict_root_relpath member.

(mark_tree_conflict): Remove conflict_root_relpath parameter, store

conflict path.

(check_tree_conflict): Check most recent tree-conflict, correct

old kind when moving to the parent, adjust call to mark_tree_conflict.

(tc_editor_add_directory, tc_editor_add_file): Adjust call to

mark_tree_conflict.

(tc_editor_alter_file, update_moved_away_dir,

update_moved_away_subtree): Tweak comments.

* subversion/tests/libsvn_wc/utils.h

(sbox_wc_switch): New.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_switch): New.

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

(check_tree_conflict_repos_path): New helper.

(move_update_conflicts): New test.

(test_funcs): Add new test.

  1. … 3 more files in changeset.
Add a new op-depth test, verifying move behavior before and after an

op_root only commit.

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

(nested_move_commit): New test.

(test_list): Add test as XFail.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_commit_ex): New function, allowing multiple targets and

an explicit depth.

(sbox_wc_commit): Implement on top of sbox_wc_commit_ex.

* subversion/tests/libsvn_wc/utils.h

(sbox_wc_commit_ex): New function.

  1. … 2 more files in changeset.
In the working copy C tests: use the common wc_ctx to avoid keeping

additional sqlite instances open. Switch to non deprecated functions.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_commit,

sbox_wc_update): Set wc_ctx in baton.

(sbox_wc_move): Use a wc move.

(sbox_wc_propset): Set wc_ctx in baton.

Teach some WC and client 'add' functions to take the properties as a

parameter so that the whole addition including any properties can be done

all at once. This makes 'svn add' into a single DB operation per node and

makes the APIs ready for similar usage by code such as merge and patch.

* subversion/libsvn_client/add.c

(add_file): Simplify greatly by passing the props to svn_wc_add_from_disk()

instead of adding them one by one afterwards and trying to revert the

add if that fails. Delegate sending the notification too.

(add_dir_recursive, add): Track the API changes.

* subversion/libsvn_client/patch.c

(create_missing_parents,

install_patched_target,

install_patched_prop_targets): Track the API changes.

* subversion/include/svn_wc.h

(svn_wc_add_from_disk2): New revision of svn_wc_add_from_disk(), taking a

'props' parameter.

(svn_wc_add_from_disk): Deprecate.

* subversion/libsvn_wc/adm_ops.c

(add_from_disk): Take a 'props' parameter, pass them on, and install and

run a work queue item if necessary to set the on-disk executable and

read-only bits.

(svn_wc_add4): Track the API changes.

(svn_wc_add_from_disk2): Rename from 'svn_wc_add_from_disk'. Take a new

'props' parameter, check and canonicalize the props, and pass them on.

Adjust the notification to include the value of any mime-type property,

as that is what libsvn_client used to do.

* subversion/libsvn_wc/deprecated.c

(svn_wc_add_from_disk): New function, wrapping svn_wc_add_from_disk2().

* subversion/libsvn_wc/props.h

(svn_wc__canonicalize_props): New function.

* subversion/libsvn_wc/props.c

(ensure_prop_is_regular_kind, svn_wc__canonicalize_props): New functions.

* subversion/libsvn_wc/wc_db.h,

subversion/libsvn_wc/wc_db.c

(svn_wc__db_op_add_directory,

svn_wc__db_op_add_file,

svn_wc__db_op_add_symlink): Take a 'props' parameter and pass it on.

* subversion/tests/libsvn_wc/conflict-data-test.c

(test_read_write_tree_conflicts): Track the API changes.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_add): Track the API changes.

  1. … 10 more files in changeset.