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

Changeset 1424780 is being indexed.

Merge the in-repo-authz branch back to trunk.


  1. … 23 more files in changeset.
Refactor some test code to make it easier to extend.

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

(nls_receiver_baton, format_segment, nls_receiver, check_location_segments):

Add doc strings and constify the expected result pointers.

(location_segment_test_t): New struct.

(node_location_segments): Move the test data into an array and iterate

over it.

Make the unit test for svn_repos_node_location_segments() stronger.

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

(strcmp_null): New function.

(nls_receiver): Check 'range_end' and 'path' as well as 'range_start'.

(node_location_segments): Fix two typos in the expected paths.

Merge the remainder of the 10Gb branch into /trunk.

This patch revs APIs and touches the UI. For a detailed

description of each merged revision see the respective

log entry.

* Implement zero-copy code path

r1388102: extend the FS vtable. Add a function that allows for

processing file content in-situ.

r1388195: Rev reporter API and attempt zero-copy reporting for

files contents below a given threshold

r1388202: Add --zero-copy-limit parameter to svnserve and pass it

down to the reporter

r1388205: update remaining callers to use svn_repos_begin_report3.

r1388211: rename *_try_process_file_content *_try_process_file_contents.

r1388362: Bugfix: try_process_file_contents code plus a handful of bugs

masked by the first.

r1388640: Bugfix: off-by-one in contents size.

* Implement delayed checking for client-side abortion

r1388375: Extend aready rev'ed APIs and add --error-check-internal

option to svnserve.

* Tune ra_svn TX buffer handling

r1388643: tune ra_svn TX buffer usage by reducing the number of copy

operations etc.

r1388807: page-aligned I/O buffers.

* Finalize APIs and UI

r1390409: replace --zero-copy-limit and --error-check-internal with a

single option (--client-speed) at UI level but keep internal

APIs as they are

r1390414: replace help string for the --client-speed parameter.

r1390419: UI typo

r1390955: Schedule API changes for 1.8 instead of 1.9.

  1. … 25 more files in changeset.
Silence GCC warnings when assigning to chars (-Wconversion).

In all these cases, the value may never exceed the [-128,127]

range for char.

* subversion/libsvn_delta/svndiff.c

(window_handler): explicitly cast to char

* subversion/libsvn_fs_fs/key-gen.c

(svn_fs_fs__next_key): prevent conversion to int

* subversion/libsvn_fs_fs/temp_serializer.c

(encode_number): explicitly cast to char

* subversion/libsvn_ra_svn/marshal.c

(svn_ra_svn_write_string, svn_ra_svn_write_cstring): ditto

* subversion/libsvn_subr/base64.c

(decode_group): ditto

* subversion/libsvn_subr/checksum.c

(svn_checksum_parse_hex): same here

* subversion/libsvn_subr/dirent_uri.c

(canonicalize_to_lower, canonicalize_to_upper): here

* subversion/mod_dav_svn/repos.c

(get_entry): and here

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

(prop_validation): char

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

(generate_test_bytes): explicitly cast to char

  1. … 9 more files in changeset.
Merge all changes (-r1298521-1326293) from branches/revprop-cache to trunk

and resolve minor conflicts.

  1. … 25 more files in changeset.
Add a regression test for issue 4060, spurious authz denied when

svnserve root is a repository.

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

(issue_4060): New test.

(test_funcs): Add new test.

One more attempt to fix the Windows build in followup to r1197217.

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

(action_t): Change enum values, to avoid a possible previously defined symbol


(test_path_authz, commit_editor_authz): Update references.

Make the windows compiler happy.

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

(action_t): New, broken out of...

(authz_path_action_t): ...this.

Rewrite repos test 8 to adhere to the proper editor semantics, namely not

reusing a delta editor once it has emitted an error, and accounting for the

possibilities of delayed errors.

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

(authz_path_action_t): New.

(get_dir_baton, get_file_baton): New.

(test_path_authz): New.

(commit_editor_authz): Largely gut, and replace with a table of actions

and outcomes, and then iterate over that table.

Path-based authz: error out on non-canonical fspaths in the input. (We

already canonicalize fspaths passed to the API for access testing.)

This is an incompatible change: some previously-accepted authz files

will now cause visible errors. However, before this change the semantics

of such authz files might have been different from what a casual gloss

over them would have suggested.

Found by: Malte Schirmacher

(thana on IRC)

* subversion/libsvn_repos/authz.c

(authz_validate_section): Validate the fspath part of the section name.

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

(authz): Add a basic regression test for this.

  1. … 1 more file in changeset.
Adjust references to pre-ASF-migration revisions by the +840074 offset.

Did *.h, *.c, and *.py files this go-round. Was thinking of doing everything

in five minutes, until I saw CHANGES (which needs a conversion script unless

you enjoy grunt work).

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/repos_diff.c

* subversion/libsvn_delta/compose_delta.c

* subversion/libsvn_subr/error.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_wc/diff.c

* subversion/svnserve/serve.c

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

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

* tools/buildbot/master/

* tools/dev/

  1. … 16 more files in changeset.
Remove deprecation warnings in various tests. We explicitly allow tests

to use deprecated APIs as a way of spot-testing the backward compat wrappers.

* subversion/tests/libsvn_subr/target-test.c,





Define SVN_DEPRECATED before including any Subversion headers.

  1. … 4 more files in changeset.
Once and for all, name all our anonymous struct/enum typedefs.

Follows up on r1040058, and with thanks to Danny Trebbien.

* everywhere:

Change 'typedef struct {} foo_t;' to 'typedef struct foo_t {} foo_t;'.

* subversion/libsvn_ra_serf/fake_sspi.h

(PSecurityFunctionTable, SecurityFunctionTable):

Manually effect the same change in the single pointer-to-struct typedef.

  1. … 95 more files in changeset.
Follow up to r1053174, replace all SVN_ERR_ASSERT() with SVN_TEST_ASSERT()

so assertions do not cause core dumps.

Suggested by: danielsh

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

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

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

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

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

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


  1. … 5 more files in changeset.
Add assertions in all tests that all the commits done with

svn_fs_commit_txn() and svn_repos_fs_commit_txn() return a valid

revision number, per their contract that this is the true indicator of

a commits success.

The only code not touched is test_commit_txn() in fs-test.c, which is

handled in the next commit.

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

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

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

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

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

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

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

* subversion/tests/svn_test_fs.c:

Follow any call to svn_fs_commit_txn() and svn_repos_fs_commit_txn()

that is expected to succeed with an assertion that the returned

revision number is valid, likewise, assert the reverse, that a

failed commit returns an invalid revision number.

  1. … 7 more files in changeset.
Ensure the correct type of NULL pointer is passed as a sentinel to the

variadic function apr_pstrcat().

Starting with version 4, gcc has been printing irritating warnings about

"missing sentinels in function call" for virtually every call to apr_pstrcat().

There is an issue about this in the APR bug tracker:

The fix proposed there is to include stddef.h in apr.h, in order to make

sure that NULL is defined as a pointer type, such as (void *)0.

Unfortunately, this doesn't work for all systems, since some (e.g. OpenBSD)

define NULL as 0L, rather than (void *)0.

So in spite of regrets about churn, I whipped up a sed script that changed

all places triggering the warning to use (char *)NULL instead of NULL as

sentinel, and adjusted the result to fix overlong lines and other minor

formatting issues. This fixes all current instances of the warning for me,

making it much easier to spot important warnings. No functional change.

* subversion/mod_authz_svn/mod_authz_svn.c

(get_access_conf, req_check_access, req_check_access): Use (char *)NULL

as sentinel for apr_pstrcat(), instead of NULL.

* subversion/libsvn_fs_base/lock.c

(svn_fs_base__generate_lock_token): Same.

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

(svn_fs_bdb__locks_get): Same.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__reparent): Same.

* subversion/libsvn_ra_svn/cyrus_auth.c

(try_auth, svn_ra_svn__get_addresses, svn_ra_svn__do_cyrus_auth): Same.

* subversion/libsvn_ra_svn/client.c

(ra_svn_get_locks): Same.

* subversion/mod_dav_svn/mirror.c

(static void proxy_request_fixup, dav_svn__proxy_request_fixup,

dav_svn__location_header_filter): Same.

* subversion/mod_dav_svn/reports/update.c

(malformed_element_error): Same.

* subversion/mod_dav_svn/reports/replay.c

(malformed_element_error): Same.

* subversion/mod_dav_svn/mod_dav_svn.c

(dav_svn__get_special_uri): Same.

* subversion/mod_dav_svn/lock.c

(svn_lock_to_dav_lock, unescape_xml): Same.

* subversion/mod_dav_svn/repos.c

(create_private_resource, get_parentpath_resource, get_resource,

deliver, do_walk, dav_svn__create_working_resource): Same.

* subversion/mod_dav_svn/version.c

(get_option): Same.

* subversion/libsvn_ra_neon/get_locks.c

(svn_ra_neon__get_locks): Same.

* subversion/libsvn_ra_neon/session.c

(svn_ra_neon__open): Same.

* subversion/libsvn_ra_neon/lock.c

(do_lock): Same.

* subversion/libsvn_ra_neon/props.c

(end_element, svn_ra_neon__get_props, svn_ra_neon__get_one_prop,

append_setprop): Same.

* subversion/libsvn_ra_neon/fetch.c

(add_props, filter_props, end_element): Same.

* subversion/libsvn_ra_serf/getlocks.c

(svn_ra_serf__get_locks): Same.

* subversion/libsvn_ra_serf/locks.c

(svn_ra_serf__unlock): Same.

* subversion/libsvn_ra_serf/update.c

(link_path): Same.

* subversion/libsvn_ra_serf/serf.c

(svn_ra_serf__open): Same.

* subversion/libsvn_ra_serf/property.c

(set_bare_props, svn_ra_serf__set_baton_props,

svn_ra_serf__set_baton_props): Same.

* subversion/libsvn_ra_serf/commit.c

(proppatch_walker, setup_proppatch_headers,

setup_put_headers, setup_delete_headers): Same.

* subversion/libsvn_fs_fs/caching.c

(svn_fs_fs__initialize_caches): Same.

* subversion/libsvn_fs_fs/lock.c

(svn_fs_fs__generate_lock_token): Same.

* subversion/libsvn_fs_fs/fs_fs.c

(path_txn_dir, path_txn_proto_rev, path_txn_proto_rev_lock,

path_txn_node_props, create_txn_dir, get_new_txn_node_id,

svn_fs_fs__reserve_copy_id, svn_fs_fs__set_uuid): Same.

* subversion/svn/notify.c

(notify): Same.

* subversion/svn/conflict-callbacks.c

(svn_cl__conflict_handler): Same.

* subversion/libsvn_subr/auth.c

(svn_auth_first_credentials): Same.

* subversion/libsvn_subr/checksum.c

(svn_checksum_serialize): Same.

* subversion/libsvn_subr/cache-memcache.c

(build_key): Same.

* subversion/libsvn_subr/log.c

(log_depth): Same.

* subversion/libsvn_subr/utf.c

(get_xlate_key, invalid_utf8): Same.

* subversion/libsvn_subr/opt.c

(svn_opt_format_option, svn_opt__args_to_target_array): Same.

* subversion/libsvn_subr/dirent_uri.c

(svn_uri_get_file_url_from_dirent): Same.

* subversion/libsvn_subr/sqlite.c

(internal_open): Same.

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

(check_split_url): Same.

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

(print_chrevs): Same.

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

(substitute_and_verify): Same.

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

(test_text_retrieval, test_boolean_retrieval, test_has_section): Same.

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

(test_dirent_get_absolute): Same.

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

(condense_targets_tests_helper): Same.

* subversion/libsvn_wc/adm_files.c

(simple_extend): Same.

* subversion/libsvn_wc/update_editor.c

(create_tree_conflict): Same.

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

(svn_wc__serialize_file_external): Same.

* subversion/libsvn_wc/upgrade.c

(migrate_node_props): Same.

* subversion/libsvn_wc/wc_db.c

(construct_like_arg, wclock_obtain_cb): Same.

* subversion/libsvn_client/util.c

(svn_client__path_relative_to_root): Same.

* subversion/libsvn_client/info.c

(push_dir_info): Same.

* subversion/libsvn_client/mergeinfo.c

(svn_client__mergeinfo_from_segments): Same.

* subversion/libsvn_client/cmdline.c

(resolve_repos_relative_url, svn_client_args_to_target_array,

(svn_client_args_to_target_array): Same.

* subversion/libsvn_client/externals.c

(resolve_relative_external_url): Same.

* subversion/libsvn_client/patch.c

(copy_lines_to_target): Same.

* subversion/libsvn_repos/hooks.c

(check_hook_cmd): Same.

* subversion/libsvn_repos/rev_hunt.c

(svn_repos_trace_node_locations, svn_repos_node_location_segments): Same.

* subversion/libsvn_repos/authz.c

(authz_get_path_access, authz_get_tree_access,

authz_get_global_access): Same.

* subversion/libsvn_repos/reporter.c

(add_file_smartly): Same.

  1. … 57 more files in changeset.
Revert the addition of "const" to some input pointer parameters in public

function typedefs, that was part of r922239. API compatibility was broken

by changing the typedefs in this way.

* subversion/include/svn_client.h

(svn_client_get_commit_log_t): Remove 'const' from 'apr_array_header_t *'.

* subversion/include/svn_delta.h


svn_file_rev_handler_old_t): Remove 'const' from 'apr_array_header_t *'.

* subversion/include/svn_ra.h


svn_ra_plugin_t.get_locations): Remove 'const' from 'apr_array_header_t *'.

* subversion/include/svn_ra_svn.h

(svn_ra_svn_command_handler): Remove 'const' from 'apr_array_header_t *'.

* subversion/include/svn_repos.h

(svn_repos_file_rev_handler_t): Remove 'const' from 'apr_array_header_t *'.

* subversion/libsvn_client/blame.c

(file_rev_handler): Adjust accordingly.

* subversion/libsvn_delta/compat.c

(file_rev_handler_wrapper): Adjust accordingly.

* subversion/libsvn_ra/wrapper_template.h

(compat_get_locations): Adjust accordingly.

* subversion/mod_dav_svn/reports/file-revs.c

(file_rev_handler): Adjust accordingly.

* subversion/svnserve/serve.c

(set_path, delete_path, link_path, finish_report, abort_report, reparent,

get_latest_rev, get_dated_rev, change_rev_prop, rev_proplist, rev_prop,

commit, get_file, get_dir, update, switch_cmd, status, diff,

get_mergeinfo, log_cmd, check_path, stat_cmd, get_locations,

file_rev_handler, get_file_revs, lock, lock_many, unlock, unlock_many,

get_lock, get_locks, replay, replay_range, get_deleted_rev):

Adjust accordingly.

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

(file_rev_handler): Adjust accordingly.

  1. … 10 more files in changeset.
Cosmetic: indents and line wraps, else-ifs.

* subversion/libsvn_client/export.c (copy_one_versioned_file): Line width wrap.

* subversion/libsvn_client/merge.c (merge_file_changed): Else-if wrap/indent.

* subversion/libsvn_wc/adm_crawler.c

(svn_wc__internal_transmit_text_deltas): Indent.

* subversion/libsvn_wc/adm_ops.c (svn_wc__get_pristine_contents): Else-if wrap.

* subversion/libsvn_wc/old-and-busted.c (read_url): Else-if wrap/indent.

* subversion/libsvn_wc/questions.c (svn_wc__internal_text_modified_p): Indent.

* subversion/libsvn_wc/update_editor.c (check_tree_conflict): Else-if wrap.

* subversion/svnlook/main.c (do_plist): Else-if wrap/indent.

* subversion/svn/propset-cmd.c (svn_cl__propset): Else-if wrap/indent.

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

(prop_validation_commit_with_revprop, prop_validation): Else-if wrap/indent.

  1. … 9 more files in changeset.
Add "const" to all "apr_array_header_t *" input parameters in public and

private APIs.

(Note that we are allowed to add "const" to a pointer parameter of a public

API, and have done so before, because that is a backward-compatible API

change and doesn't change the ABI at all.)

The public functions whose prototypes are changed are listed individually

below; the private functions are not.

* subversion/include/svn_auth.h


* subversion/include/svn_client.h






* subversion/include/svn_delta.h




* subversion/include/svn_fs.h


* subversion/include/svn_mergeinfo.h








* subversion/include/svn_opt.h





* subversion/include/svn_ra.h




* subversion/include/svn_ra_svn.h





* subversion/include/svn_repos.h






* subversion/include/svn_sorts.h


* subversion/include/svn_string.h


* subversion/include/svn_wc.h







* subversion/include/private/svn_cmdline_private.h

* subversion/include/private/svn_opt_private.h

* subversion/libsvn_client/blame.c

* subversion/libsvn_client/client.h

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/deprecated.c

* subversion/libsvn_client/merge.c

* subversion/libsvn_client/mergeinfo.c

* subversion/libsvn_client/mergeinfo.h

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_delta/compat.c

* subversion/libsvn_delta/path_driver.c

* subversion/libsvn_fs_base/reps-strings.c

* subversion/libsvn_fs_base/revs-txns.c

* subversion/libsvn_fs_base/revs-txns.h

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/fs_fs.h

* subversion/libsvn_fs/fs-loader.c

* subversion/libsvn_fs/fs-loader.h

* subversion/libsvn_ra/compat.c

* subversion/libsvn_ra/ra_loader.c

* subversion/libsvn_ra/ra_loader.h

* subversion/libsvn_ra/wrapper_template.h

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_neon/get_locations.c

* subversion/libsvn_ra_neon/props.c

* subversion/libsvn_ra_neon/ra_neon.h

* subversion/libsvn_ra_serf/getlocations.c

* subversion/libsvn_ra_serf/ra_serf.h

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/cyrus_auth.c

* subversion/libsvn_ra_svn/editorp.c

* subversion/libsvn_ra_svn/internal_auth.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_ra_svn/ra_svn.h

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_repos/repos.c

* subversion/libsvn_repos/repos.h

* subversion/libsvn_repos/rev_hunt.c

* subversion/libsvn_subr/auth.c

* subversion/libsvn_subr/cmdline.c

* subversion/libsvn_subr/deprecated.c

* subversion/libsvn_subr/mergeinfo.c

* subversion/libsvn_subr/opt.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/svn_string.c

* subversion/libsvn_wc/adm_ops.c

* subversion/libsvn_wc/deprecated.c

* subversion/libsvn_wc/diff.c

* subversion/libsvn_wc/status.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/util.c

* subversion/mod_dav_svn/dav_svn.h

* subversion/mod_dav_svn/reports/file-revs.c

* subversion/mod_dav_svn/util.c

* subversion/svn/cl.h

* subversion/svn/props.c

* subversion/svn/switch-cmd.c

* subversion/svn/util.c

* subversion/svndumpfilter/main.c

* subversion/svnserve/serve.c

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

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

  1. … 78 more files in changeset.
Add a (partial) test for issue #3243, and move some common code to the

test framework for later reuse.

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

(test_get_file_revs): New test svn_repos_get_file_revs2.

(file_rev_handler): Helper function.

(test_funcs): Run the new test.

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

(global): Remove now unneeded includes.

(make_and_open_local_repos): Update function call.

(current_directory_url): Move function from here ...

* subversion/tests/svn_test_fs.c

(svn_test__current_directory_url): ... to here.

(svn_test__create_greek_tree_at): New test function, create greek

tree at a path (doesn't have to be '/') in the repository.

(svn_test__create_greek_tree): Wrap svn_test__create_greek_tree_at.

(svn_test__create_blame_repository): Set up a new repo, similar to

the one used to reproduce issue #3243.

* subversion/tests/svn_test_fs.h



svn_test__current_directory_url): New function declarations.

  1. … 3 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.


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. … 889 more files in changeset.
Relicense Subversion under the Apache License, Version 2.0.

* NOTICE: New.



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. … 880 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,



































Do the above described transformation.

  1. … 34 more files in changeset.
Added libtool object files (*.lo) to svn:ignore.

* subversion/tests/libsvn_diff/

* subversion/tests/libsvn_fs/

* subversion/tests/libsvn_wc/

* subversion/tests/libsvn_subr/

* subversion/tests/libsvn_ra_local/

* subversion/tests/libsvn_client/

* subversion/tests/libsvn_repos/

* subversion/tests/libsvn_delta/

* subversion/tests/libsvn_fs_fs/

* subversion/svn/

* subversion/svnversion/

(svn:ignore): Add *.lo to ignore list.

(obvious fix)

  1. … 10 more files in changeset.
Cleanup trailing whitespace:

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

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


This should have been done before the 1.6.x branch, so I'm going to merge

it over there, to avoid merge conflicts in the future.

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

- make sure everything the header needs is included

- make sure nothing is included which is NOT needed

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

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

even though that is counter-philosophy.

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

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

goodly number of .c files were updated, too.

* subversion/libsvn_ra/wrapper_template.h:

* subversion/libsvn_ra/deprecated.c:

* subversion/libsvn_ra/compat.c:

* subversion/libsvn_subr/iter.c:

* subversion/libsvn_subr/cmdline.c:

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c:

* subversion/libsvn_subr/error.c:

* subversion/libsvn_subr/auth.c:

* subversion/libsvn_subr/opt.c:

* subversion/libsvn_subr/checksum.c:

* subversion/libsvn_subr/compat.c:

* subversion/libsvn_subr/sha1.c:

* subversion/libsvn_subr/deprecated.c:

* subversion/libsvn_subr/ssl_server_trust_providers.c:

* subversion/mod_dav_svn/activity.c:

* subversion/mod_dav_svn/reports/log.c:

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

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

* subversion/svn/list-cmd.c:

* subversion/svn/changelist-cmd.c:

* subversion/svn/log-cmd.c:

* subversion/svn/conflict-callbacks.c:

* subversion/libsvn_fs_base/dag.c:

* subversion/libsvn_fs_base/util/fs_skels.c:

* subversion/include/svn_dirent_uri.h:

* subversion/include/svn_error_codes.h:

* subversion/include/svn_fs.h:

* subversion/include/svn_diff.h:

* subversion/include/svn_sorts.h:

* subversion/include/svn_mergeinfo.h:

* subversion/include/svn_base64.h:

* subversion/include/svn_dso.h:

* subversion/include/svn_ra_svn.h:

* subversion/include/svn_repos.h:

* subversion/include/svn_delta.h:

* subversion/include/svn_path.h:

* subversion/include/svn_subst.h:

* subversion/include/svn_xml.h:

* subversion/include/svn_props.h:

* subversion/include/svn_iter.h:

* subversion/include/svn_types.h:

* subversion/include/svn_config.h:

* subversion/include/svn_string.h:

* subversion/include/svn_io.h:

* subversion/include/svn_wc.h:

* subversion/include/svn_cmdline.h:

* subversion/include/svn_client.h:

* subversion/include/svn_user.h:

* subversion/include/svn_hash.h:

* subversion/include/svn_md5.h:

* subversion/include/svn_error.h:

* subversion/include/svn_pools.h:

* subversion/include/private/svn_log.h:

* subversion/include/svn_time.h:

* subversion/include/svn_utf.h:

* subversion/include/svn_auth.h:

* subversion/include/svn_ra.h:

* subversion/include/svn_opt.h:

* subversion/include/svn_checksum.h:

* subversion/libsvn_wc/deprecated.c:

* subversion/libsvn_wc/util.c:

* subversion/libsvn_wc/merge.c:

* subversion/libsvn_wc/tree_conflicts.c:

* subversion/libsvn_client/list.c:

* subversion/libsvn_client/log.c:

* subversion/libsvn_ra_neon/util.c:

* subversion/libsvn_ra_neon/log.c:

* subversion/libsvn_repos/deprecated.c:

* subversion/libsvn_fs_fs/tree.c:

* subversion/libsvn_fs_fs/fs_fs.c:

(): adjust #include statements appropriately

  1. … 69 more files in changeset.
Fix a memory use after release detected by valgrind.

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

(reporter_depth_exclude): Abort txn before clearing pool.

Bang support for --server-minor-version testing into the C test

framework, and use it in the FS and Repos tests.

NOTE: Only one failure that I didn't expect turned up:

$ ./fs-test --server-minor-version=4 --fs-type=fsfs


subversion/tests/libsvn_fs/fs-test.c:369: (apr_err=160000)

svn_tests: the transaction name '0-3' was reused

FAIL: lt-fs-test 5: check that transaction names are not reused


* subversion/tests/svn_test.h

(svn_test_opts_t): Add server_minor_version.

* subversion/tests/svn_test_main.c

(server_minor_version_opt): New enum.

(cl_options): Add bits for new --server-minor-version option.

(main): Add handling of new --server-minor-version option.

* subversion/tests/svn_test_fs.h

(svn_test__create_bdb_fs): Add 'opts' parameter.

* subversion/tests/svn_test_fs.c

(make_fs_config, create_fs): Add 'server_minor_version' parameter

and handling.

(svn_test__create_bdb_fs): Add 'opts' parameter, and update call to


(svn_test__create_fs, svn_test__create_repos): Update call to create_fs().

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

(node_origin_rev): Bail (with success) when testing BDB with

server-minor-version 4.

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

(node_location_segments): Bail (with success) when testing BDB with

server-minor-version 4.

* 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

Update calls to svn_test__create_bdb_fs().

  1. … 8 more files in changeset.
Convert remaining uses of svn_io_open_unique_file2 to other function

calls, as appropriate.

* subversion/libsvn_subr/subst.c:

(svn_subst_copy_and_translate3, svn_subst_create_translated): switch to


* subversion/libsvn_subr/io.c:

(svn_io_copy_file, svn_io_file_move): switch to svn_io_open_unique_file3.

(reown_file): switch param from PATH_APR to just PATH. all the calls

were to SVN functions, so we should not be using an APR path. switch

to svn_io_open_unique_file3.

(io_set_file_perms): pass svn-internal path to reown_file.

* subversion/mod_dav_svn/activity.c:

(dav_svn__store_activity): lose a bunch of code in favor of


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

(authz_get_handle): revamp to use svn_io_write_unique and other

svn-style IO functions.

* subversion/svn/util.c:

(svn_cl__edit_string_externally): change parameter to FILENAME rather

than PREFIX. switch to svn_io_open_uniquely_named.

* subversion/libsvn_wc/props.c:

(open_reject_tmp_file, svn_wc__merge_props): switch to


* subversion/libsvn_client/externals.c:

(relegate_dir_external): switch to svn_io_uniquely_named.

* subversion/libsvn_fs_fs/fs_fs.c:

(svn_fs_fs__set_revision_proplist): switch to svn_stream_open_unique

(svn_fs_fs__set_uuid): revamp to use svn_io_write_unique

  1. … 7 more files in changeset.