Checkout Tools
  • last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Add test for reading hash from buffered APR file.

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

(hash_gets_stringt, read_hash_buffered_test): New.

(test_funcs): Add read_hash_buffered_test() to test list.

Revert r1508225, which moved the include of svn_private_config.h before all

includes of our public headers. Public headers shouldn't depend on private

headers and all changes that required this are long reverted on trunk.

This patch excludes all conflicting cases.

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

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

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

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c

* subversion/libsvn_client/add.c

* subversion/libsvn_client/cat.c

* subversion/libsvn_client/changelist.c

* subversion/libsvn_client/cleanup.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/copy_foreign.c

* subversion/libsvn_client/ctx.c

* subversion/libsvn_client/delete.c

* subversion/libsvn_client/deprecated.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/diff_local.c

* subversion/libsvn_client/diff_summarize.c

* subversion/libsvn_client/export.c

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/import.c

* subversion/libsvn_client/info.c

* subversion/libsvn_client/iprops.c

* subversion/libsvn_client/list.c

* subversion/libsvn_client/locking_commands.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/merge.c

* subversion/libsvn_client/mergeinfo.c

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/prop_commands.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/repos_diff.c

* subversion/libsvn_client/resolved.c

* subversion/libsvn_client/revert.c

* subversion/libsvn_client/switch.c

* subversion/libsvn_client/update.c

* subversion/libsvn_client/util.c

* subversion/libsvn_delta/compat.c

* subversion/libsvn_delta/xdelta.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_diff/util.c

* subversion/libsvn_fs/access.c

* subversion/libsvn_fs_base/bdb/changes-table.c

* subversion/libsvn_fs_base/bdb/env.c

* subversion/libsvn_fs_base/dag.c

* subversion/libsvn_fs_base/fs.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_base/revs-txns.c

* subversion/libsvn_fs_base/tree.c

* subversion/libsvn_fs_fs/caching.c

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/temp_serializer.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_ra/compat.c

* subversion/libsvn_ra/deprecated.c

* subversion/libsvn_ra/ra_loader.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/blame.c

* subversion/libsvn_ra_serf/blncache.c

* subversion/libsvn_ra_serf/commit.c

* subversion/libsvn_ra_serf/getlocations.c

* subversion/libsvn_ra_serf/getlocationsegments.c

* subversion/libsvn_ra_serf/getlocks.c

* subversion/libsvn_ra_serf/inherited_props.c

* subversion/libsvn_ra_serf/log.c

* subversion/libsvn_ra_serf/merge.c

* subversion/libsvn_ra_serf/mergeinfo.c

* subversion/libsvn_ra_serf/options.c

* subversion/libsvn_ra_serf/property.c

* subversion/libsvn_ra_serf/replay.c

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_serf/xml.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/editorp.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_repos/authz.c

* subversion/libsvn_repos/commit.c

* subversion/libsvn_repos/delta.c

* subversion/libsvn_repos/deprecated.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/hooks.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_repos/replay.c

* subversion/libsvn_repos/reporter.c

* subversion/libsvn_repos/repos.c

* subversion/libsvn_repos/rev_hunt.c

* subversion/libsvn_subr/auth.c

* subversion/libsvn_subr/cmdline.c

* subversion/libsvn_subr/compat.c

* subversion/libsvn_subr/config.c

* subversion/libsvn_subr/config_auth.c

* subversion/libsvn_subr/deprecated.c

* subversion/libsvn_subr/dso.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_subr/mergeinfo.c

* subversion/libsvn_subr/opt.c

* subversion/libsvn_subr/properties.c

* subversion/libsvn_subr/simple_providers.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/ssl_client_cert_providers.c

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c

* subversion/libsvn_subr/ssl_server_trust_providers.c

* subversion/libsvn_subr/subst.c

* subversion/libsvn_subr/types.c

* subversion/libsvn_subr/username_providers.c

* subversion/libsvn_subr/utf.c

* subversion/libsvn_subr/win32_crypto.c

* subversion/libsvn_wc/adm_crawler.c

* subversion/libsvn_wc/adm_files.c

* subversion/libsvn_wc/conflicts.c

* subversion/libsvn_wc/copy.c

* subversion/libsvn_wc/deprecated.c

* subversion/libsvn_wc/diff_editor.c

* subversion/libsvn_wc/diff_local.c

* subversion/libsvn_wc/entries.c

* subversion/libsvn_wc/externals.c

* subversion/libsvn_wc/info.c

* subversion/libsvn_wc/lock.c

* subversion/libsvn_wc/node.c

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

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/revert.c

* subversion/libsvn_wc/status.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/upgrade.c

* subversion/libsvn_wc/wc_db_update_move.c

* subversion/libsvn_wc/wc_db_wcroot.c

* subversion/mod_dav_svn/repos.c

* subversion/mod_dav_svn/version.c

* subversion/svn/cl-conflicts.c

* subversion/svn/commit-cmd.c

* subversion/svn/conflict-callbacks.c

* subversion/svn/diff-cmd.c

* subversion/svn/help-cmd.c

* subversion/svn/notify.c

* subversion/svn/propedit-cmd.c

* subversion/svn/propget-cmd.c

* subversion/svn/props.c

* subversion/svn/status-cmd.c

* subversion/svn/status.c

* subversion/svn/svn.c

* subversion/svn/util.c

* subversion/svnadmin/svnadmin.c

* subversion/svnlook/svnlook.c

* subversion/svnrdump/dump_editor.c

* subversion/svnrdump/svnrdump.c

* subversion/svnrdump/util.c

* subversion/svnserve/serve.c

* subversion/svnsync/svnsync.c

* subversion/svnsync/sync.c

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

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

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

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

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

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

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

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

* subversion/tests/svn_test_fs.c

* tools/server-side/fsfs-stats.c

Move the svn_string_private.h include back to the original location.

  1. … 162 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.
Fix accidentally-global variables.

[ Changes to libsvn_subr and named_atomic-test-common.h reverted in r1571500 ]

* configure.ac

(CMAINTAINERFLAGS): Add -Wmissing-variable-declarations.

* subversion/libsvn_fs_fs/hotcopy.c

(hotcopy_body_baton):

* subversion/libsvn_fs_x/hotcopy.c

(hotcopy_body_baton):

* subversion/libsvn_repos/hooks.c

(parse_hooks_env_option_baton, parse_hooks_env_section_baton):

* subversion/libsvn_wc/wc_db.c

(struct op_delete_many_baton_t):

* subversion/svn/file-merge.c

(struct file_merge_baton):

Remove accidental declaration of global variables.

* subversion/libsvn_subr/ctype.c

(svn_ctype_table_internal):

* subversion/svndumpfilter/svndumpfilter.c

(filtering_vtable):

* subversion/svnserve/svnserve.c

(connection_pools, threads):

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

(basic_strings):

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

(proplist, new_proplist, review):

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

(test_file_definitions_template):

* subversion/tests/libsvn_subr/named_atomic-test-common.h

(name_namespace, name_namespace1, name_namespace2):

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

(sub_records, test_data_:

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

(test_cases):

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

(numbers, expected_modified):

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

(phrase_1, phrase_2):

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

(test_timestamp, test_timestring, test_old_timestring):

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

(base_origin_subtests):

* subversion/tests/svn_test_main.c

(mode_filter):

Make these variables file-static.

* subversion/tests/svn_test_main.c

(test_argc, test_argv):

* tools/server-side/mod_dontdothat/mod_dontdothat.c

(dontdothat_module):

Make these variables truly global by also declaring them extern.

  1. … 21 more files in changeset.
Add "--parallel" option to our C tests.

Besides shaving off a few seconds off our total test execution time,

parallel execution also stresses our code and the tests themselves

harder. It uncovers things like improperly separated working sets

that make post-failure analysis harder.

Parallel mode is only available with APR 1.3+ and threads enabled.

The option will simply be ignored in other configurations. Further

limitations are cleanups being delayed to after all tests completed

and segfaults not being intercepted.

Some tests can't be executed in parallel. Therefore, we introduce

svn_test_max_threads a simple upper limit to the number of threads

supported that each test must define alongside the test_funcs array.

This patch sets it to "1" in many cases because the tests are so

small that multi-threaded execution is simply not worth it.

* build/run_tests.py

(TestHarness._run_c_test): Pass --parallel option to the individual

test applications.

* subversion/tests/svn_test.h

(svn_test_max_threads): Declare new external setting to be set by

every test application.

* subversion/tests/svn_test_main.c

(parallel): New command line option presence flag.

(parallel_opt,

cl_options): Declare the new "--parallel" option.

(svn_test_add_dir_cleanup): Synchronize shared pool access since

this might be called from multiple

threads at the same time.

(log_results): Result logger function factored out from do_test_num

to be shared between serialized and parallel test

execution code.

(do_test_num): Use that new function.

(test_params_t,

test_thread,

do_tests_concurrently): Threads, their parameter and the thread

starter for thread-pooled test execution.

(main): Handle the new option.

Call concurrent execution when in PARALLEL mode.

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

subversion/tests/libsvn_subr/named_atomic-test.c

(svn_test_max_threads): These tests don't support concurrent execution.

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

subversion/tests/libsvn_delta/window-test.c

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

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

subversion/tests/libsvn_ra/ra-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/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/utf-test.c

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

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

(svn_test_max_threads): These are too small to benefit from multi-threading.

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

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

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/fs-test.c

subversion/tests/libsvn_fs/locks-test.c

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

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

subversion/tests/libsvn_repos/repos-test.c

subversion/tests/libsvn_subr/io-test.c

subversion/tests/libsvn_subr/translate-test.c

subversion/tests/libsvn_wc/db-test.c

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

subversion/tests/libsvn_wc/wc-test.c

(svn_test_max_threads): Set concurrency limit to whatever various test

runs suggested as the most efficient value.

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

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

(svn_test_max_threads): Set concurrency limit to "unbounded".

  1. … 54 more files in changeset.
Fix the #include order such that svn_private_config.h is always

included first before any other svn header - if we also include

svn_hash.h.

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

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

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

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

subversion/libsvn_auth_gnome_keyring/gnome_keyring.c,

subversion/libsvn_client/add.c,

subversion/libsvn_client/cat.c,

subversion/libsvn_client/changelist.c,

subversion/libsvn_client/cleanup.c,

subversion/libsvn_client/commit.c,

subversion/libsvn_client/commit_util.c,

subversion/libsvn_client/copy.c,

subversion/libsvn_client/copy_foreign.c,

subversion/libsvn_client/ctx.c,

subversion/libsvn_client/delete.c,

subversion/libsvn_client/deprecated.c,

subversion/libsvn_client/diff.c,

subversion/libsvn_client/diff_local.c,

subversion/libsvn_client/diff_summarize.c,

subversion/libsvn_client/export.c,

subversion/libsvn_client/externals.c,

subversion/libsvn_client/import.c,

subversion/libsvn_client/info.c,

subversion/libsvn_client/iprops.c,

subversion/libsvn_client/list.c,

subversion/libsvn_client/locking_commands.c,

subversion/libsvn_client/log.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_client/patch.c,

subversion/libsvn_client/prop_commands.c,

subversion/libsvn_client/ra.c,

subversion/libsvn_client/repos_diff.c,

subversion/libsvn_client/resolved.c,

subversion/libsvn_client/revert.c,

subversion/libsvn_client/status.c,

subversion/libsvn_client/switch.c,

subversion/libsvn_client/update.c,

subversion/libsvn_client/util.c,

subversion/libsvn_delta/compat.c,

subversion/libsvn_delta/xdelta.c,

subversion/libsvn_diff/parse-diff.c,

subversion/libsvn_diff/util.c,

subversion/libsvn_fs/access.c,

subversion/libsvn_fs_base/bdb/changes-table.c,

subversion/libsvn_fs_base/bdb/env.c,

subversion/libsvn_fs_base/dag.c,

subversion/libsvn_fs_base/fs.c,

subversion/libsvn_fs_base/lock.c,

subversion/libsvn_fs_base/revs-txns.c,

subversion/libsvn_fs_base/tree.c,

subversion/libsvn_fs_fs/caching.c,

subversion/libsvn_fs_fs/fs_fs.c,

subversion/libsvn_fs/fs-loader.c,

subversion/libsvn_fs_fs/lock.c,

subversion/libsvn_fs_fs/temp_serializer.c,

subversion/libsvn_fs_fs/tree.c,

subversion/libsvn_fs_util/fs-util.c,

subversion/libsvn_ra/compat.c,

subversion/libsvn_ra/deprecated.c,

subversion/libsvn_ra_local/ra_plugin.c,

subversion/libsvn_ra/ra_loader.c,

subversion/libsvn_ra_serf/blame.c,

subversion/libsvn_ra_serf/blncache.c,

subversion/libsvn_ra_serf/commit.c,

subversion/libsvn_ra_serf/getlocations.c,

subversion/libsvn_ra_serf/getlocationsegments.c,

subversion/libsvn_ra_serf/getlocks.c,

subversion/libsvn_ra_serf/inherited_props.c,

subversion/libsvn_ra_serf/log.c,

subversion/libsvn_ra_serf/merge.c,

subversion/libsvn_ra_serf/mergeinfo.c,

subversion/libsvn_ra_serf/options.c,

subversion/libsvn_ra_serf/property.c,

subversion/libsvn_ra_serf/replay.c,

subversion/libsvn_ra_serf/serf.c,

subversion/libsvn_ra_serf/update.c,

subversion/libsvn_ra_serf/util.c,

subversion/libsvn_ra_serf/xml.c,

subversion/libsvn_ra_svn/client.c,

subversion/libsvn_ra_svn/editorp.c,

subversion/libsvn_ra_svn/marshal.c,

subversion/libsvn_repos/authz.c,

subversion/libsvn_repos/commit.c,

subversion/libsvn_repos/delta.c,

subversion/libsvn_repos/deprecated.c,

subversion/libsvn_repos/fs-wrap.c,

subversion/libsvn_repos/hooks.c,

subversion/libsvn_repos/log.c,

subversion/libsvn_repos/replay.c,

subversion/libsvn_repos/reporter.c,

subversion/libsvn_repos/repos.c,

subversion/libsvn_repos/rev_hunt.c,

subversion/libsvn_subr/auth.c,

subversion/libsvn_subr/cmdline.c,

subversion/libsvn_subr/compat.c,

subversion/libsvn_subr/config_auth.c,

subversion/libsvn_subr/config.c,

subversion/libsvn_subr/deprecated.c,

subversion/libsvn_subr/dso.c,

subversion/libsvn_subr/hash.c,

subversion/libsvn_subr/io.c,

subversion/libsvn_subr/mergeinfo.c,

subversion/libsvn_subr/opt.c,

subversion/libsvn_subr/properties.c,

subversion/libsvn_subr/simple_providers.c,

subversion/libsvn_subr/sorts.c,

subversion/libsvn_subr/ssl_client_cert_providers.c,

subversion/libsvn_subr/ssl_client_cert_pw_providers.c,

subversion/libsvn_subr/ssl_server_trust_providers.c,

subversion/libsvn_subr/subst.c,

subversion/libsvn_subr/types.c,

subversion/libsvn_subr/username_providers.c,

subversion/libsvn_subr/utf.c,

subversion/libsvn_subr/win32_crypto.c,

subversion/libsvn_wc/adm_crawler.c,

subversion/libsvn_wc/adm_files.c,

subversion/libsvn_wc/adm_ops.c,

subversion/libsvn_wc/conflicts.c,

subversion/libsvn_wc/copy.c,

subversion/libsvn_wc/deprecated.c,

subversion/libsvn_wc/diff_editor.c,

subversion/libsvn_wc/diff_local.c,

subversion/libsvn_wc/entries.c,

subversion/libsvn_wc/externals.c,

subversion/libsvn_wc/info.c,

subversion/libsvn_wc/lock.c,

subversion/libsvn_wc/node.c,

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

subversion/libsvn_wc/props.c,

subversion/libsvn_wc/revert.c,

subversion/libsvn_wc/status.c,

subversion/libsvn_wc/translate.c,

subversion/libsvn_wc/update_editor.c,

subversion/libsvn_wc/upgrade.c,

subversion/libsvn_wc/wc_db.c,

subversion/libsvn_wc/wc_db_update_move.c,

subversion/libsvn_wc/wc_db_wcroot.c,

subversion/libsvn_wc/workqueue.c,

subversion/mod_dav_svn/activity.c,

subversion/mod_dav_svn/deadprops.c,

subversion/mod_dav_svn/lock.c,

subversion/mod_dav_svn/merge.c,

subversion/mod_dav_svn/mod_dav_svn.c,

subversion/mod_dav_svn/reports/update.c,

subversion/mod_dav_svn/repos.c,

subversion/mod_dav_svn/version.c,

subversion/svnadmin/svnadmin.c,

subversion/svnauth/svnauth.c,

subversion/svn/cl-conflicts.c,

subversion/svn/commit-cmd.c,

subversion/svn/conflict-callbacks.c,

subversion/svn/diff-cmd.c,

subversion/svn/help-cmd.c,

subversion/svnlook/svnlook.c,

subversion/svnmucc/svnmucc.c,

subversion/svn/notify.c,

subversion/svn/propedit-cmd.c,

subversion/svn/propget-cmd.c,

subversion/svn/props.c,

subversion/svnrdump/dump_editor.c,

subversion/svnrdump/svnrdump.c,

subversion/svnrdump/util.c,

subversion/svnserve/serve.c,

subversion/svn/status.c,

subversion/svn/status-cmd.c,

subversion/svn/svn.c,

subversion/svnsync/svnsync.c,

subversion/svnsync/sync.c,

subversion/svn/util.c,

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

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

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

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

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

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

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

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

subversion/tests/svn_test_fs.c,

tools/dev/fsfs-reorg.c,

tools/server-side/fsfs-stats.c): #include svn_private_config.h first

  1. … 180 more files 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.
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.
Replace deprecated test func macros in the C tests. This eliminates the need

to do the following dance in every test function:

*msg = "foo";

if (msg_only)

return SVN_NO_ERROR;

This does not remove the deprecated symbols from svn_test.h; I plan to do it

in a follow up commit.

[ in subversion/tests ]

* libsvn_client/client-test.c,

libsvn_delta/random-test.c,

libsvn_delta/range-index-test.h,

libsvn_delta/window-test.c,

libsvn_diff/diff-diff3-test.c,

libsvn_diff/parse-diff-test.c,

libsvn_fs/fs-test.c,

libsvn_fs/locks-test.c,

libsvn_fs_base/changes-test.c,

libsvn_fs_base/fs-base-test.c,

libsvn_fs_base/key-test.c,

libsvn_fs_base/strings-reps-test.c,

libsvn_fs_fs/fs-pack-test.c,

libsvn_ra_local/ra-local-test.c,

libsvn_repos/repos-test.c,

libsvn_subr/auth-test.c,

libsvn_subr/cache-test.c,

libsvn_subr/checksum-test.c,

libsvn_subr/compat-test.c,

libsvn_subr/config-test.c,

libsvn_subr/dirent_uri-test.c,

libsvn_subr/error-test.c,

libsvn_subr/hashdump-test.c,

libsvn_subr/mergeinfo-test.c,

libsvn_subr/opt-test.c,

libsvn_subr/path-test.c,

libsvn_subr/revision-test.c,

libsvn_subr/skel-test.c,

libsvn_subr/stream-test.c,

libsvn_subr/string-test.c,

libsvn_subr/target-test.c,

libsvn_subr/time-test.c,

libsvn_subr/translate-test.c,

libsvn_subr/utf-test.c,

libsvn_wc/tree-conflict-data-test.c:

Do the above described transformation.

  1. … 34 more files in changeset.
* Makefile.in

(check-clean): Delete subversion/tests/libsvn_fs_fs/test-repo-* directories.

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

(test2):

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

(test12): Delete temporary files after using them.

  1. … 2 more files in changeset.
Disable deprecation warnings during compilation of tests.

* subversion/tests/svn_test.h

  (SVN_DEPRECATED): Define as empty definition when

SVN_ENABLE_DEPRECATION_WARNINGS_IN_TESTS isn't defined.

* subversion/tests/libsvn_delta/random-test.c:

* subversion/tests/libsvn_delta/svndiff-test.c:

* subversion/tests/libsvn_delta/vdelta-test.c:

* subversion/tests/libsvn_diff/diff-diff3-test.c:

* subversion/tests/libsvn_fs_base/changes-test.c:

* subversion/tests/libsvn_fs_base/fs-base-test.c:

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

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

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

* subversion/tests/libsvn_subr/hashdump-test.c:

* subversion/tests/libsvn_subr/opt-test.c:

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

* subversion/tests/libsvn_subr/translate-test.c:

* subversion/tests/svn_test_fs.c: Include svn_test.h before other Subversion

   headers.

Suggested by: hwright

  1. … 14 more files in changeset.
Revert r32829 and r32830 in subversion/tests.

Suggested by: hwright

  1. … 6 more files in changeset.
Use svn_stream_from_aprfile2() instead of deprecated svn_stream_from_aprfile().

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

* subversion/tests/libsvn_diff/diff-diff3-test.c:

* subversion/tests/libsvn_subr/hashdump-test.c:

* subversion/tests/libsvn_delta/svndiff-test.c:

* subversion/tests/libsvn_delta/vdelta-test.c:

* subversion/tests/libsvn_delta/random-test.c: Use svn_stream_from_aprfile2()

instead of deprecated svn_stream_from_aprfile().

  1. … 5 more files in changeset.
Channeling Erik Hülsmann, remove all trailing whitespace within our source

tree:

for extsn in c h cpp java py pl rb; do

sed -i -e 's/[ \t]*$//' `find . -name "*.$extsn" | xargs grep '[ \t]$' -l`

done

Inspired by: ehu

  1. … 449 more files in changeset.
Reformat the code to use a consistent no-space-before-param-list-paren style.

See here for the vote that decided this:

http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=111877

From: "Peter N. Lundblad" <peter@famlundblad.se>

To: "Peter N. Lundblad" <peter@famlundblad.se>

cc: dev@subversion.tigris.org

Subject: Results of: [VOTE] New space-before-parens style

Date: Wed, 8 Feb 2006 12:00:35 +0100 (CET)

Message-ID: <Pine.LNX.4.55.0602080918350.10805@localhost.localdomain>

I took the opportunity to make spacing among all parens in SVN_ERR

macro calls consistent. But I did not address consistency of casts,

nor whether a function name should always appear below its return type

in declarations and definitions, nor whether there should be a space

before/after the "*" when declaring pointer return types.

* www/hacking.html

(coding-style): Document that we are no-space-before-paren now.

* everywhere: Reformat.

  1. … 365 more files in changeset.
Reorganization of the C test libraries and includes.

Move the misplaced svn_test.h file out of subversion/include/.

Merge libsvn_test_fs into libsvn_test.

* build.conf (libsvn_test): Tweak sources and libs, merging in values from

libsvn_test_fs.

(libsvn_test_fs): Remove.

* subversion/include/svn_test.h: Move...

* subversion/tests/svn_test.h: ...to here.

* subversion/tests/fs-helpers.c: Rename...

* subversion/tests/svn_test_fs.c: ...to this.

* subversion/tests/fs-helpers.h: Rename...

* subversion/tests/svn_test_fs.h: ...to this.

* subversion/tests/svn_tests_main.c: Rename...

* subversion/tests/svn_test_main.c: ...to this.

* subversion/tests/libsvn_delta/random-test.c:

* subversion/tests/libsvn_diff/diff-diff3-test.c:

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

* subversion/tests/libsvn_fs_base/changes-test.c:

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

* subversion/tests/libsvn_fs_base/key-test.c:

* subversion/tests/libsvn_fs_base/skel-test.c:

* subversion/tests/libsvn_fs_base/strings-reps-test.c:

* subversion/tests/libsvn_ra_local/ra-local-test.c:

* subversion/tests/libsvn_repos/dir-delta-editor.c:

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

* subversion/tests/libsvn_subr/compat-test.c:

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

* subversion/tests/libsvn_subr/hashdump-test.c:

* subversion/tests/libsvn_subr/opt-test.c:

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

* subversion/tests/libsvn_subr/stream-test.c:

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

* subversion/tests/libsvn_subr/time-test.c:

* subversion/tests/libsvn_subr/utf-test.c:

* subversion/tests/libsvn_wc/translate-test.c:

Change #includes appropriately.

  1. … 29 more files in changeset.
Merge locking branch to trunk, by comparing trunkURL with branchURL.

This is not a test. This is an actual addition of a very large feature.

This merge passes 'make check' over all three RA implementations.

To see commit logs for this feature, examine /branches/locking, r11749:13570.

  1. … 183 more files in changeset.
Rev the svn_hash_read and svn_hash_write APIs, and add new APIs to

read and write hashes incrementally.

* include/svn_hash.h

(SVN_HASH_TERMINATOR): New symbol for conventional hash

terminator.

(svn_hash_read2, svn_hash_write2): New revs of the hash APIs. the

new APIs accept streams instead of files, and accept a variable

terminator. svn_hash_read2 is more restrictive than svn_hash_read;

it does not accept empty files as an empty hash if a terminator is

given, and it cannot be told to accept both "END" and "PROPS-END".

(svn_hash_read_incremental, svn_hash_write_incremental): New

functions to read and write hashes incrementally relative to

another hash.

* libsvn_subr/hash.c:

(hash_read, hash_write): Utility functions to implement the new

interfaces.

(svn_hash_read2, svn_hash_read_incremental): Implement in terms of

hash_read.

(svn_hash_write2, svn_hash_write_incremental, svn_hash_write):

Implement in terms of hash_write.

(svn_hash_read): Preserve old implementation, since it's quirky.

* subversion/tests/libsvn_subr/hashdump-test.c: Use new interfaces.

  1. … 2 more files in changeset.
Update copyright notices for 2004, resolving issue #1651.

(See also revision 8019, which fixed a couple of missed spots.)

  1. … 361 more files in changeset.
Make public API consistently return svn_error_t's. Also move

svn_io_read_length_line() from hash.c to io.c; it's already

declared in svn_io.h.

* subversion/include/svn_hash.h

* subversion/libsvn_subr/hash.c

(svn_io_read_length_line): Moved implementation to io.c

(svn_hash_write,svn_hash_read): Change return value type from

apr_status_t to svn_error_t *. Change implementation to use svn_io_file_*.

* subversion/include/svn_io.h

* subversion/libsvn_subr/io.c (svn_io_read_length_line):

Changed to use svn_io_file_getc as well as return svn_error_t *.

Moved implementation from hash.c.

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

Adapted to new return value type of svn_hash_read and svn_hash_write.

(check): Removed.

* subversion/libsvn_subr/config_auth.c

* subversion/libsvn_wc/props.c

Adapted to new return value type of svn_hash_read and svn_hash_write.

  1. … 6 more files in changeset.
* Just about everything else that wasn't test output, a binary file,

or already to set to CRLF: Set svn:eol-style to native.

  1. … 658 more files in changeset.
Touch every file in the repository :) 2003 is here, update all the

copyright statements. Also, update the sample `svn --version' output

to be consistent with the current client.

  1. … 443 more files in changeset.
Remove src_err field of errors; it wasn't getting enough use to

justify its existence. (And it was getting used inconsistently.)

* include/svn_error.h, libsvn_subr/error.c

(svn_error_create, svn_error_createf): Remove src_err argument. All

call sites changed.

* include/svn_types.h (svn_error_t): Remove src_err field.

* include/svn_error_codes.h, libsvn_fs/err.c, libsvn_fs/trail.c

(SVN_ERR_FS_BERKELEY_DEADLOCK): New error code for deadlocks.

(db_err_to_apr_err): New helper function to decide when to use

new error code.

(svn_fs__dberr, svn_fs__dberrf): Return new apr error code for

deadlocks.

(svn_fs__retry_txn): Check for new apr error code instead of

checking src_err. Don't leak error memory when aborting trail.

  1. … 140 more files in changeset.
Just be glad you're not updating over libsvn_ra_pigeons...

* everywhere: Remove "local variables:" eval blocks.

* subversion/libsvn_repos/hooks.c: But leave the vim stuff here.

* tools/dev/svn-dev.el, doc/book/tools/svnbook.el:

Get rid of obsolete loading instructions.

* HACKING: Describe how to load the elisp files from .emacs.

* doc/book/HACKING: Add querulous comment.

  1. … 338 more files in changeset.
Simplify error interface by allocating errors in a subpool of the

global pool, since they must be freed explicitly anyway.

* libsvn_subr/svn_error.c: Split into error.c and pool.c, since errors

are no longer especially related to pools. (And since svn_error.c

was an anachronistic name.)

* include/svn_error.h, libsvn_subr/error.c

(svn_error_create, svn_error_createf, svn_error_clear): Remove pool

argument. Allocate errors in a subpool of the global pool. All

call sites changed. Also, collect file and line information in

all cases; it's useful for debugging with gdb even if we don't

display it.

(svn_error_clear_all): Replace with svn_error_clear. All call sites

changed.

(svn_error_init_error_pool, svn_error__set_error_pool,

svn_error__get_error_pool): Remove.

* libsvn_subr/pool.c

(svn_pool__inherit_error_pool): Remove.

(svn_pool_create, svn_pool_clear): Remove all the error pool stuff.

Use SVN_POOL_ROOTED_HERE to distinguish the top-level svn pool so

we can reallocate the allocator mutex on clear. Abort with

abort(), not abort_on_pool_failure().

* libsvn_fs/tree.c (conflict_err),

libsvn_fs/fs_skels.c (skel_err),

libsvn_fs/err.c, libsvn_fs/err.h (svn_fs__dberr, svn_fs__dberrf),

libsvn_repos/load.c (stream_ran_dry, stream_malformed),

libsvn_repos/commit.c (out_of_date),

libsvn_repos/delta.c (not_a_dir_error),

libsvn_delta/svndiff.c (count_and_verify_instructions),

libsvn_ra_dav/ra_dav.h, libsvn_ra_dav/util.c (svn_ra_dav__convert_error),

tests/libsvn_fs/fs-test.c (check_no_fs_error, verify_entry),

tests/libsvn_subr/hashdump-test.c (check),

tests/libsvn_delta/random-test.c (compare_files):

Remove pool argument. All call sites changed.

* mod_dav_svn/mod_dav_svn.c (dav_svn_header_parser): Remove; no need

to init error pool now.

* mod_dav_svn/repos.c (dav_svn_get_resource): No need to init error

pool now.

* libsvn_ra_dav/commit.c (put_baton_t): Don't need pool field any more.

* libsvn_ra_dav/util.c (parser_ctx_t): Don't need pool field any more,

and since this gets us down to just an svn_error_t *, just use an

svn_error_t **. All usage sites changed accordingly.

  1. … 137 more files in changeset.
Tangent to Issue #737 -- I'm sick of seeing properties with anything

but const char * names and svn_string_t * values. Oh, looks like

this is issue #909. Coolio.

* subversion/include/svn_hash.h

(svn_hash_read, svn_hash_write): Remove callback params and update

the docstrings.

(svn_unpack_bytestring, svn_pack_bytestring): Removed.

* subversion/include/svn_wc.h

(svn_wc_get_local_propchanges, svn_wc_prop_list,

svn_wc_diff_callbacks_t->props_changed): Update docstring.

* subversion/include/svn_client.h

(svn_client_proplist_item_s, svn_client_revprop_list): Update docstring.

* subversion/libsvn_wc/props.c

(svn_wc_get_local_propchanges, svn_wc__merge_prop_diffs,

svn_wc__wcprop_set, svn_wc_prop_get, svn_wc_prop_set,

svn_wc__wcprop_get): Update use of property hashes to expect

svn_string_t * prop values. Update calls to changed functions.

* subversion/libsvn_wc/update_editor.c

(svn_wc_install_file): Expect svn_string_t * property values.

* subversion/libsvn_wc/diff.c

(reverse_propchanges): Expect svn_string_t * property values.

* subversion/libsvn_client/diff.c

(display_prop_diffs): Expect svn_string_t * property values.

* subversion/libsvn_client/prop_commands.c

(svn_client_revprop_list): Expect svn_string_t * property values.

* subversion/clients/cmdline/props.c

(svn_cl__print_prop_hash): Expect svn_string_t * property values.

* subversion/clients/cmdline/cl.h

(svn_cl__print_prop_hash, svn_cl__print_prop_names): Update docstring.

* subversion/libsvn_subr/hash.c

(svn_unpack_bytestring, svn_pack_bytestring): Removed.

(svn_hash_read, svn_hash_write): Remove callback params and start

using svn_string_t * values.

* subversion/libsvn_repos/dump.c

(write_hash_to_stringbuf): Remove 'pack_func', and just use svn_string_t's.

(dump_node, write_revision_record): Update calls to write_hash_to_stringbuf.

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

(test1): Update calls to svn_hash_read/svn_hash_write. Use

svn_string_t's for property values.

(test2): Update calls to svn_hash_read/svn_hash_write.

(test3): Use svn_string_t's for property values.

  1. … 12 more files in changeset.
Add XFAIL support to the C testing framework.

* subversion/include/svn_test.h (svn_test_driver_t, svn_test_descriptor_t,

test_funcs, SVN_TEST_NULL, SVN_TEST_PASS, SVN_TEST_XFAIL): New declarations.

(svn_test_rand): Moved here from subversion/tests/svn_tests.h.

* subversion/tests/svn_tests.h: Removed, all uses changed to use

subversion/include/svn_test.h instead.

* subversion/tests/svn_tests_main.c: (test_funcs): Removed, use

declaration from header.

(do_test_num): Change msg_only and test output, and return code to match

that of the Python tests, and add support for XFAIL.

* subversion/tests/libsvn_fs/key-test.c,

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

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

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

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

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

subversion/tests/libsvn_subr/stringtest.c,

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

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

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

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

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

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

subversion/tests/libsvn_delta/random-test.c: Update the implementation

of the test_funcs array, include "svn_test.h" where necessary, and remove

all references to subversion/tests/svn_tests.h.

* subversion/tests/libsvn_fs/fs-test.c (link_test): Mark as XFAIL.

  1. … 16 more files in changeset.
Fixed a bunch of spurious whitespace in copyright notices.

Revert change to check-license.py that attempted to compensate for the

slightly different style in the Ruby bindings licenses.

Change all the Ruby binding file licences to be the same as the rest

of Subversion.

  1. … 333 more files in changeset.
Sigh. Hadn't updated the new license in check-license.py for the

previous commit. Here we go again...

  1. … 334 more files in changeset.
Move svn-dev.el to tools/dev/, then update copyright notice and

svn-dev.el loader for all files.

[Note: see next commit. I'd forgotten to update the license in

check-license.py, so not all copyright notices were updated in

the way they should have been.]

  1. … 339 more files in changeset.