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

* tests/cmdline/externals_tests.py, tests/cmdline/lock_tests.py,

tests/cmdline/log_tests.py, tests/cmdline/merge_authz_tests.py,

tests/cmdline/merge_tests.py, tests/cmdline/move_tests.py,

tests/cmdline/svnadmin_tests.py, tests/cmdline/switch_tests.py,

tests/libsvn_client/conflicts-test.c, tests/libsvn_client/mtcc-test.c,

tests/libsvn_fs/fs-test.c, tests/libsvn_fs_x/fs-x-pack-test.c,

tests/svn_test_main.c:

(): Spelling fixes

  1. … 12 more files in changeset.
Resolve issue #4666 "svnmucc fails to delete directories that contain

just deletes", by handling this special corner case.

* subversion/libsvn_client/mtcc.c

(mtcc_op_contains_non_delete): New function.

(svn_client__mtcc_add_delete): Rename to...

(mtcc_add_delete): ... and allow deleting directories that contain

just deletes.

(svn_client__mtcc_add_delete): New function around mtcc_add_delete.

(svn_client__mtcc_add_move): Keep old behavior to avoid regression in

case we move something that contains deletes. (Unsupported scenario

in current implementation).

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

(test_funcs): Remove XFail from test_move_and_delete_ancestor.

  1. … 1 more file in changeset.
Add XFail test for issue #4666 "svnmucc fails to delete directories that

contain just deletes"

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

(test_move_and_delete_ancestor): New function.

(test_list): Add test_move_and_delete_ancestor as XFail.

Write regression test for inherited property issue I just discovered.

Currently this test passes for ra_local... and fails for ra_serf and ra_svn.

And our code doesn't notice any of this because

svn_path_url_add_component2() doesn't care which of the two forms is used.

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

(test_iprops_path_format): New test.

(test_list): Add test_iprops_path_format.

Improve upon r1686478:

We only need to apply the path comparison hack for 'svn blame' in -g mode;

standard blame does the Right Thing even when mixing renames and changes.

Therefore, inform the hack when it needs to be applied and when not.

* subversion/libsvn_repos/rev_hunt.c

(send_baton): Add a flag for the -g mode.

(send_path_revision): Only apply the hack in -g mode.

(get_file_revs_backwards,

svn_repos_get_file_revs2): Initialize the new baton field.

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

(handle_rev): Adapt - reverting the r1686478 change here.

  1. … 1 more file in changeset.
Workaround for 'svn blame' -g with old clients.

Old clients rely on receiving a callback whenever the path changes, e.g.

when switching from one branch to another. So, for now, we unconditionally

send a text delta in that case. Future releases should make that backward

compatibility behavior an option that will be controlled be e.g. client

capabilities.

Found by: philip

* subversion/libsvn_repos/rev_hunt.c

(send_path_revision): Always send a text delta when the path changes.

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

(handle_rev): Update the expectations.

  1. … 1 more file in changeset.
Extend the mtcc test_file_revs_both_ways test function to reconstruct the

full texts.

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

(handle_rev_baton): Extend.

(handle_rev_delta): New function.

(handle_rev): Setup delta handler.

(test_file_revs_both_ways): Update caller.

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

(handle_rev): Following up on r1660463, remove stray SVN_DBG().

Make svn_ra_get_file_revs2() capable of handling SVN_INVALID_REVNUM as head

revision.

* subversion/libsvn_repos/rev_hunt.c

(svn_repos_get_file_revs2): Convert invalid revisions to HEAD.

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

(handle_rev): Support bigger range.

(test_file_revs_both_ways): Extend test.

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

tools/dev/remove-trailing-whitespace.zsh

There should be no functional changes.

* .ycm_extra_conf.py

* build/generator/gen_win.py

* build/generator/gen_win_dependencies.py

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

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

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

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

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

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

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

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

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

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

* subversion/include/private/svn_fs_fs_private.h

* subversion/include/private/svn_packed_data.h

* subversion/include/private/svn_repos_private.h

* subversion/include/private/svn_sorts_private.h

* subversion/include/private/svn_subr_private.h

* subversion/include/private/svn_wc_private.h

* subversion/include/svn_auth.h

* subversion/include/svn_cache_config.h

* subversion/include/svn_client.h

* subversion/include/svn_cmdline.h

* subversion/include/svn_diff.h

* subversion/include/svn_fs.h

* subversion/include/svn_io.h

* subversion/include/svn_ra.h

* subversion/include/svn_repos.h

* subversion/include/svn_string.h

* subversion/libsvn_client/blame.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/update.c

* subversion/libsvn_delta/svndiff.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_fs/fs-loader.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_fs/cached_data.c

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/hotcopy.c

* subversion/libsvn_fs_fs/id.c

* subversion/libsvn_fs_fs/index.c

* subversion/libsvn_fs_fs/index.h

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/low_level.c

* subversion/libsvn_fs_fs/low_level.h

* subversion/libsvn_fs_fs/pack.c

* subversion/libsvn_fs_fs/recovery.c

* subversion/libsvn_fs_fs/rev_file.c

* subversion/libsvn_fs_fs/revprops.c

* subversion/libsvn_fs_fs/revprops.h

* subversion/libsvn_fs_fs/stats.c

* subversion/libsvn_fs_fs/transaction.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_fs_fs/verify.c

* subversion/libsvn_fs_x/cached_data.c

* subversion/libsvn_fs_x/changes.c

* subversion/libsvn_fs_x/dag.h

* subversion/libsvn_fs_x/fs.h

* subversion/libsvn_fs_x/fs_id.c

* subversion/libsvn_fs_x/fs_x.c

* subversion/libsvn_fs_x/hotcopy.c

* subversion/libsvn_fs_x/hotcopy.h

* subversion/libsvn_fs_x/index.c

* subversion/libsvn_fs_x/index.h

* subversion/libsvn_fs_x/lock.c

* subversion/libsvn_fs_x/lock.h

* subversion/libsvn_fs_x/low_level.c

* subversion/libsvn_fs_x/low_level.h

* subversion/libsvn_fs_x/noderevs.c

* subversion/libsvn_fs_x/pack.c

* subversion/libsvn_fs_x/reps.c

* subversion/libsvn_fs_x/rev_file.c

* subversion/libsvn_fs_x/revprops.c

* subversion/libsvn_fs_x/revprops.h

* subversion/libsvn_fs_x/string_table.c

* subversion/libsvn_fs_x/string_table.h

* subversion/libsvn_fs_x/transaction.c

* subversion/libsvn_fs_x/tree.c

* subversion/libsvn_fs_x/util.c

* subversion/libsvn_fs_x/verify.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/ra_serf.h

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_repos/authz_pool.c

* subversion/libsvn_repos/config_pool.c

* subversion/libsvn_repos/dump.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_subr/bit_array.c

* subversion/libsvn_subr/cache-membuffer.c

* subversion/libsvn_subr/config.c

* subversion/libsvn_subr/dirent_uri.c

* subversion/libsvn_subr/fnv1a.c

* subversion/libsvn_subr/gpg_agent.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_subr/object_pool.c

* subversion/libsvn_subr/packed_data.c

* subversion/libsvn_subr/prefix_string.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/sqlite.c

* subversion/libsvn_subr/subst.c

* subversion/libsvn_subr/sysinfo.c

* subversion/libsvn_subr/types.c

* subversion/libsvn_subr/utf.c

* subversion/libsvn_subr/utf8proc/utf8proc_data.c

* subversion/libsvn_subr/x509info.c

* subversion/libsvn_wc/diff.h

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/wc.h

* subversion/libsvn_wc/wc_db.c

* subversion/libsvn_wc/wc_db.h

* subversion/mod_dav_svn/lock.c

* subversion/mod_dav_svn/mod_dav_svn.c

* subversion/mod_dav_svn/status.c

* subversion/svn/auth-cmd.c

* subversion/svn/info-cmd.c

* subversion/svn/mergeinfo-cmd.c

* subversion/svn/notify.c

* subversion/svn/propget-cmd.c

* subversion/svn/svn.c

* subversion/svnadmin/svnadmin.c

* subversion/svnserve/logger.c

* subversion/svnserve/serve.c

* subversion/svnserve/server.h

* subversion/svnserve/svnserve.c

* subversion/tests/cmdline/blame_tests.py

* subversion/tests/cmdline/checkout_tests.py

* subversion/tests/cmdline/commit_tests.py

* subversion/tests/cmdline/export_tests.py

* subversion/tests/cmdline/externals_tests.py

* subversion/tests/cmdline/lock_tests.py

* subversion/tests/cmdline/merge_tests.py

* subversion/tests/cmdline/merge_tree_conflict_tests.py

* subversion/tests/cmdline/move_tests.py

* subversion/tests/cmdline/redirect_tests.py

* subversion/tests/cmdline/stat_tests.py

* subversion/tests/cmdline/svnadmin_tests.py

* subversion/tests/cmdline/switch_tests.py

* subversion/tests/cmdline/update_tests.py

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* subversion/tests/svn_test_main.c

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

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

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

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

* tools/dev/po-merge.py

* tools/dev/x509-parser.c

* tools/diff/diff.c

* tools/dist/backport.pl

* tools/dist/backport_tests.py

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

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

* win-tests.py

Remove unneeded whitespace via script.

  1. … 184 more files in changeset.
Extend regression tests around svn_ra_get_file_revs2, and walking through

history with it. Add additional boolean to JavaHL api for this function.

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

(callback): Pass information on whether there is a delta.

(call): Pass boolean.

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

(FileRevision.FileRevision): Add textDelta argument. Fill field.

(FileRevision.hasTextDelta): New function.

(FileRevision.textDelta): New field.

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

(testGetFileRevisions): Extend test.

* subversion/libsvn_repos/rev_hunt.c

(send_path_revision): Avoid doing work that is ignored.

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

(handle_rev_baton): New struct.

(handle_rev,

test_file_revs_both_ways): New function.

(test_funcs): Add test_file_revs_both_ways.

  1. … 4 more files in changeset.
* subversion/tests/libsvn_client/mtcc-test.c

(test_replace_tree): Remove invalid comment (copied from another test).

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.
Move 'svn_client_mtcc.h' into the 'private' subdirectory, so we don't make

it public in 1.9.

It's not considered stable enough in its current form. See the email thread

"The new svn_client_mtcc API" started on 2014-07-29 by Julian Foad, archived

at e.g. <http://svn.haxx.se/dev/archive-2014-07/0138.shtml>.

* subversion/include/svn_client_mtcc.h

Move ...

* subversion/include/private/svn_client_mtcc.h

... to here, and rename all symbols: s/svn_client_mtcc/svn_client__mtcc/.

* subversion/libsvn_client/mtcc.c,

subversion/svnmucc/svnmucc.c,

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

subversion/tests/libsvn_client/mtcc-test.c

Adjust the '#include', and track the renamed symbols.

  1. … 5 more files in changeset.
Make the C tests work with the --enable-optimize configure option.

Because the main() function used to be defined in libsvn_test,

the -flto option (which performs rather aggressive link-time

optimizations) would cause the linker to remove all "unreferenced"

static functions ... which includes all the actual tests.

Which this change, main() is now defined in each test driver.

* subversion/tests/svn_test.h

(test_funcs, svn_test_max_threads): Remove external declarations.

(svn_test_main): New prototype for the (existing-but-renamed) test driver.

(SVN_TEST_MAIN): Bolierplate macro that generates a main() implementation.

* subversion/tests/svn_test_main.c

(svn_test_main): Renamed from 'main', and takes two extra parameters,

'max_threads' and 'test_funcs'. Propagates test_funcs to get_array_size,

do_test_num and do_tests_concurrently.

(get_array_size, do_test_num,

test_params_t, test_thread, do_tests_concurrently): Require a test_funcs

parameter. All uses updated.

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

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

subversion/tests/libsvn_delta/random-test.c,

subversion/tests/libsvn_delta/window-test.c,

subversion/tests/libsvn_diff/diff-diff3-test.c,

subversion/tests/libsvn_diff/parse-diff-test.c,

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

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

subversion/tests/libsvn_fs_base/

subversion/tests/libsvn_fs_base/changes-test.c,

subversion/tests/libsvn_fs_base/fs-base-test.c,

subversion/tests/libsvn_fs_base/strings-reps-test.c,

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

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

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

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

subversion/tests/libsvn_ra_local/ra-local-test.c,

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

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

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

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

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

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

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

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

subversion/tests/libsvn_subr/error-code-test.c,

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

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

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

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

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

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

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

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

subversion/tests/libsvn_subr/prefix-string-test.c,

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

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

subversion/tests/libsvn_subr/root-pools-test.c,

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

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

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

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

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

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

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

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

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

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

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

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

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

subversion/tests/libsvn_wc/pristine-store-test.c,

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

subversion/tests/libsvn_wc/wc-test.c:

(max_threads): Renamed from svn_test_max_threads and made static.

(test_funcs): Made static.

(SVN_TEST_MAIN): Expanded boilerplate main() function.

  1. … 54 more files in changeset.
* subversion/tests/libsvn_client/mtcc-test.c

(verify_mtcc_commit): Remove spurious semi-colon.

Extract the mtcc public api to its own header.

* build.conf

(libsvn_client): Export functions in svn_client_mtcc.h.

* subversion/include/svn_client.h

(svn_client_mtcc_t,

svn_client_mtcc_create,

svn_client_mtcc_add_add_file,

svn_client_mtcc_add_copy,

svn_client_mtcc_add_delete,

svn_client_mtcc_add_mkdir,

svn_client_mtcc_add_move,

svn_client_mtcc_add_propset,

svn_client_mtcc_add_update_file,

svn_client_mtcc_check_path,

svn_client_mtcc_commit): Move to svn_client_mtcc.h

* subversion/include/svn_client_mtcc.h

New header.

* subversion/libsvn_client/mtcc.c

(includes): Add svn_client_mtcc.h.

* subversion/svnmucc/svnmucc.c

(includes): Add svn_client_mtcc.h. Remove a few unused headers.

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

(SVN_DEPRECATED): Remove unneeded define.

(includes): Add svn_client_mtcc.h and remove a few unused headers.

  1. … 5 more files in changeset.
Implement the full 'svn:*' property validation and conicalization for 'svnmucc'

in the mtcc api.

* subversion/libsvn_client/mtcc.c

(get_origin): If a node is added and has no recorded origin, report the

node as without origin.

(mtcc_prop_get_baton): New struct.

(mtcc_prop_getter): New function.

(svn_client_mtcc_add_propset): Use the result of svn_subst_translate_string2

instead of ignoring it. Call svn_wc_canonicalize_svn_prop() for further

canonicalizations and verifications.

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

(includes): Add svn_props.h.

(test_propset): Extend testcase with some explicit failure cases.

  1. … 1 more file in changeset.
Properly handle tree replacements in the existance checking of the 'mtcc' api.

* subversion/libsvn_client/mtcc.c

(SVN_PATH_IS_EMPTY): New define. Copied from path.c.

(mtcc_op_find): Search children backwards to find adds before deletes.

Properly bail on non directories.

(get_origin): Return doesn't exist information for new nodes.

(svn_client_mtcc_get_origin): Rename to...

(mtcc_get_origin): ... this. Add boolean to define no origin handling.

(svn_client_mtcc_create): Obtain and store head revision. Verify base

revision using head revision.

(mtcc_verify_create): Use standard error messages to ease translation.

(svn_client_mtcc_add_add_file): Use check in standard form.

(svn_client_mtcc_add_copy): Verify copy revision using head revision.

(svn_client_mtcc_add_delete): Use check in standard form, fixing bug.

(svn_client_mtcc_add_mkdir): Use check in standard form.

(svn_client_mtcc_add_move): Update caller, asking for error message.

(svn_client_mtcc_add_propset): Use check in standard form.

(svn_client_mtcc_check_path): Use check in standard form. Properly

check for replacements, etc.

* subversion/libsvn_client/mtcc.h

(MTCC_UNMODIFIED): Handle unmodified file open as unmodified.

(svn_client_mtcc_t): Add boolean.

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

(test_replace_tree): New test.

(test_funcs): Add test.

  1. … 2 more files in changeset.
Following up on r1550848 and r1550938, automatically anchor the mtcc handling

on an ancestor when that is needed for certain operations.

* subversion/include/svn_client.h

(svn_client_mtcc_get_relpath): Remove function.

(svn_client_mtcc_check_path): Add argument.

* subversion/libsvn_client/mtcc.c

(svn_client_mtcc_get_relpath): Rename to ...

(mtcc_reparent): ... this function. Make static and make the new url

an argument instead of calculating it.

(mtcc_verify_create): Allow creating the "" path if there is no operation

recorded yet. Update caller.

(svn_client_mtcc_add_add_file,

svn_client_mtcc_add_delete,

svn_client_mtcc_add_mkdir,

svn_client_mtcc_add_propset,

svn_client_mtcc_add_update_file): Support adding "" when no operation is

recorded yet.

(svn_client_mtcc_check_path): Allow verifying the recorded node kind with

the repository kind.

* subversion/libsvn_client/mtcc.h

(svn_client_mtcc_op_t): Add boolean.

(MTCC_UNMODIFIED): New macro.

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

(cstr_stream): New helper function.

(make_greek_tree,

test_update_files): Update caller.

(test_anchoring): New test.

(test_funcs): Add test_anchoring.

  1. … 3 more files in changeset.
Revert r1550848. Instead of passing the responsibility to the caller we can

just handle the reparenting right before committing.

* subversion/include/svn_client.h

* subversion/libsvn_client/mtcc.c

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

Revert anchor change behavior of r1550848.

  1. … 2 more files in changeset.
[Reverted in r1550938]

Allow gracefull handling of the case where an 'mtcc' is opened on a file or

not existing node, by automatically reparenting one level up when allowed.

* subversion/include/svn_client.h

(svn_client_mtcc_create): Update api to allow anchoring higher.

(svn_client_mtcc_get_relpath): Update api to allow anchoring higher.

* subversion/libsvn_client/mtcc.c

(svn_client_mtcc_create): Check if the anchor exist and handle the case where

it doesn't.

(svn_client_mtcc_get_relpath): Allow requesting at least one level higher than

the passed url. (needed for things like mkdir)

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

(make_greek_tree,

test_mkdir,

test_mkgreek,

test_swap,

test_propset,

test_update_files,

test_overwrite): Update caller.

  1. … 2 more files in changeset.
Implement the mod_dav_svn overwrite protection of 'svnmucc' in the mtcc api.

Also add several verifications for properties. Use specific fs error codes

instead of the same illegal target error everywhere.

* subversion/include/svn_client.h

(svn_client_mtcc_check_path): New function.

* subversion/libsvn_client/mtcc.c

(mtcc_op_find): Use better error code.

(get_origin): New function.

(svn_client_mtcc_get_origin): New function.

(mtcc_verify_create): New function.

(svn_client_mtcc_add_add_file,

svn_client_mtcc_add_copy,

svn_client_mtcc_add_delete,

svn_client_mtcc_add_mkdir): Verify target location before scheduling a

possible replacement.

(svn_client_mtcc_add_move): Move from the mtcc location instead of from the

repository location.

(svn_client_mtcc_add_propset): Verify property names and values.

(svn_client_mtcc_add_update_file): Verify target location.

(svn_client_mtcc_check_path): New function.

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

(make_greek_tree): Assume that the base revision is 0.

(test_overwrite): New function.

(test_funcs): Add test_overwrite.

  1. … 2 more files in changeset.
Extend the mtcc tests to change a few files remotely and fix a few more

issues found using this testcase.

* subversion/libsvn_client/mtcc.c

(commit_file): Use the stream read checksum. Explicitly close the used

files in all cases or we won't get a checksum.

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

(test_update_files): New test.

(test_list): Add test_update_files.

  1. … 1 more file in changeset.
Add regression test for the property handling via the new mtcc api.

* subversion/libsvn_client/mtcc.c

(mtcc_op_find): Don't segfault when created is NULL.

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

(test_swap): Fix whitespace.

(test_propset): New test.

(test_list): Add test_propset.

  1. … 1 more file in changeset.
Following up on r1550799 add more commit verification logic to the mtcc tests.

* subversion/libsvn_client/mtcc.c

(add_commit_items): Store more information in the commit items.

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

(verify_commit_baton): New struct.

(verify_commit_callback): New function.

(verify_mtcc_commit): Use verify_commit_callback to check the commit result.

Add revision argument.

(make_greek_tree,

test_mkdir,

test_mkgreek,

test_swap): Update caller.

  1. … 1 more file in changeset.
Make the recently added mtcc libsvn_client api properly obtain a log message

via the svn_client_ctx_t callbacks.

* subversion/libsvn_client/mtcc.c

(add_commit_items): New function.

(svn_client_mtcc_commit): Call log function.

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

(verify_mtcc_commit): Update caller.

(test_swap): Add a new test.

(test_list): Add test.

  1. … 1 more file in changeset.
Following up on r1550765, don't pull in the working copy support to test

svnmucc like operations. Use more of the new api instead.

* build.conf

(mtcc-test): Remove dependency. This fixes the Windows shared library build.

* subversion/libsvn_client/mtcc.c

(commit_directory): Add session url argument and use it to construct full

urls to copy from.

(svn_client_mtcc_commit): Update caller.

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

(includes): Remove libsvn_wc/utils.h.

(verify_mtcc_commit): New helper function.

(create_greek_repos): Remove copy&pasted function.

(make_greek_tree): New function.

(test_mkdir): Don't create a wc sandbox. Use a few other names.

(test_mkgreek): New test.

(test_funcs): Add test_mkgreek.

  1. … 2 more files in changeset.
Following up on r1550758, add an initial testcase for the svn_client_mtcc

api and fix the first few issues found by running this test.

* build.conf

(mtcc-test): New test.

* subversion/libsvn_client/mtcc.c

(mtcc_op_find): Calculate basename correctly. Set output argument.

(svn_client_mtcc_create): Allocate enough memory.

(commit_directory,

svn_client_mtcc_commit): Fix constness.

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

New file.

  1. … 2 more files in changeset.