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

Changeset 874280 is being indexed.

Simplify some cleanup logic.

* subversion/libsvn_subr/subst.c

(svn_subst_copy_and_translate3): Use new svn_error_compose_create()

to simply some logic.

Add a version of svn_error_compose that is SVN_NO_ERROR-tolerant.

* subversion/include/svn_error.h,

* subversion/libsvn_subr/error.c

(svn_error_compose_create): New function.

* subversion/libsvn_client/resolved.c

(svn_client_resolved): Move below svn_client_resolve() which it calls,

because that's the natural order in C.

Add some error-scenario cleanup logic, some of it needed since r34187

stopped using delete-on-close semantics for the tempfile, some of it

needed probably since the inception of this code.

* subversion/libsvn_subr/subst.c

(svn_subst_copy_and_translate3): Clean up streams and temporary

files in the error case. The lack of this code was causing

translate-tests 14 to leave two tempfile turds.

* STATUS: Nominate r34171 (fix a character encoding failure).
Revert r34200 because it accidentally included the nominated change as well as the nomination.
* STATUS: Nominate r34171 (fix a character encoding failure).
Followup to r34197.

* subversion/tests/svn_test_main.c

(main): Oops. Fix a use of an AND where an OR was intended.

Found by: danielsh


(rocksun): Whups, say "zh" instead of "cn", following up to r34195.

Found by: arfrever

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().

JavaHL: A follow-up to r34184, adjust the JavaHL tests to no

longer expect property modifications when an item is moved.

[ in subversion/bindings/javahl/ ]

* tests/org/tigris/subversion/javahl/

(testMove): Remove expectations of mergeinfo creation.


(rocksun): Add as a new Chinese translator for the www area.

(nmiyo): While here, expand domain from faq to www; anyone who can

translate the faq can obviously translate other documents in www.

Revert r34149.

Suggested by: hwright

* subversion/libsvn_subr/deprecated.c: Include svn_path.h, to avoid an

"implicit declaration of function 'svn_path_split'" warning.

Move a deprecated function to the deprecated file (thus removing a warning).

* subversion/libsvn_subr/io.c

(svn_io_open_unique_file2, svn_io_open_unique_file): Move from here...

* subversion/libsvn_subr/deprecated.c

(svn_io_open_unique_file2, svn_io_open_unique_file): here.

* subversion/libsvn_wc/tree_conflicts.h

(svn_wc__read_tree_conflicts_from_entry): Un-Doxygen-ate the doc string.

(svn_wc__write_tree_conflicts_to_entry): Improve the doc string.

Fix some typos.

* subversion/bindings/ctypes-python/test/

(WCTestCase._info_receiver): Renamed from ...

(WCTestCase._info_reciever): ... this.

(WCTestCase.test_info, WCTestCase.test_copy, WCTestCase.test_move,

WCTestCase.test_delete, WCTestCase.test_mkdir, WCTestCase.test_add,

WCTestCase.test_revert, WCTestCase.test_lock, WCTestCase.test_unlock): Use

WCTestCase._info_receiver() instead of WCTestCase._info_reciever().

* subversion/bindings/swig/python/tests/

(SubversionClientTestCase.log_receiver): Fix a typo in doc string.

* subversion/libsvn_ra_neon/ra_neon.h

(UNEXPECTED_ELEMENT): Fix a typo in doc string.

* www/faq.html

(obstructed-add): Fix a typo.

* subversion/svn/tree-conflicts.c

(new_tree_conflict_phrases): Tweak tree conflict phrases so that

they do not have any parts in parentheses.

Hopefully this is easier to parse. (No, I did not consult a human

interface design expert prior to this change... If you know any,

please give me their number, I think we could use some external

help with the tree conflicts UI design.)

* subversion/libsvn_subr/auth.c

(svn_auth_get_platform_specific_provider): Following up on r34085, load

windows ssl server trust provider when asked for the ssl server trust


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

Fix some behaviour around "resolved" and tree-conflicts.

Take stsp's patch[*] and fix it: do not try to read entries from the parent

directory of a working copy root that was supplied as a target.

[*] See this post:

Date: Fri, 14 Nov 2008 00:25:02 +0000

From: Stefan Sperling <>


Message-ID: <>

Subject: Re: Tree conflict bugs I've just been finding

Also fix missing resolving of deleted and committed files that became

tree-conflict victims during a merge.

* subversion/libsvn_client/resolved.c (svn_client_resolve),

* subversion/libsvn_wc/adm_ops.c (resolve_found_entry_callback):

Ensure we do not end up trying to find tree conflict info in the

parent directory of the working copy root.

* subversion/libsvn_wc/entries.c

(visit_tc_too_found_entry): Also visit tree-conflicts of deleted items.

* subversion/tests/cmdline/

(resolved_on_wc_root, resolved_on_deleted_item):

New tests file with two new tests for the issues fixed by this commit.

    • ?
* TODO-1.6: Remove a done todo.
One small step towards mergeinfo sanity; no more explicit mergeinfo

on a WC-to-WC move/copy destination unless the source had some.

Discussed here:

* subversion/libsvn_client/copy.c

(propagate_mergeinfo_within_wc): Remove.

(do_wc_to_wc_copies, do_wc_to_wc_moves): Don't set explicit mergeinfo on

a cp/mv destination beyond what the source had.

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

Update test expectations to no longer expect WC-to-WC copy/move

destinations to always have explicit (usually empty) mergeinfo. In a

few cases where this mergeinfo was essential to the purpose of the test,

the WC-to-WC cp/mv was replaced with a REPOS-to-REPOS cp/mv or empty

mergeinfo was manually set on the destination.

Sigh. Switching to del_on_pool_cleanup. As Garrett notes, another thread

might fork a process at *just* the wrong time, and delete the file.

Found by: rooneg

* subversion/libsvn_subr/io.c:

(get_default_file_perms): use del_on_pool_cleanup after all.

ra_serf: Don't assume that the specified proxy is always an IPv4 address.

* subversion/libsvn_ra_serf/serf.c

(load_config): Switch to APR_UNSPEC for processing proxy addresses.

Yay. Fixed throughout svn.

Leave this one del_on_close with a comment.

* subversion/libsvn_subr/io.c:

(get_default_file_perms): switch to svn_io_open_unique_file3() and leave

a comment about why del_on_close is acceptable.

ra_serf: Do not overwrite/munge the cert storage when OpenSSL/Serf asks to

validate the entire certificate chain.

* subversion/libsvn_ra_serf/util.c

(ssl_server_cert): If present, use the certificate name as the key to the

storage rather than the realm string.

Remove uses of svn_io_file_del_on_close, since it is problematic with

(unpatched) versions of APR.

* subversion/svnsync/main.c:

(open_tmp_file): simplify using svn_io_open_unique_file3 and switch to


* subversion/libsvn_repos/reporter.c:

(svn_repos_begin_report2): switch to svn_io_file_del_on_pool_cleanup

* subversion/libsvn_repos/dump.c:

(store_delta): switch to svn_io_file_del_on_pool_cleanup

(dump_node): when wrapping a stream around the delta file, make sure the

stream owns the file and will close it.

* subversion/libsvn_repos/repos.h:

(svn_repos__hooks_start_commit, svn_repos__hooks_post_revprop_change,

svn_repos__hooks_post_lock, svn_repos__hooks_post_unlock): add const

to parameters, as appropriate

* subversion/libsvn_repos/hooks.c:

(create_temp_file): switch to svn_io_file_del_on_pool_cleanup

(svn_repos__hooks_start_commit, svn_repos__hooks_post_revprop_change,

svn_repos__hooks_post_lock, svn_repos__hooks_post_unlock): add const

to parameters, as appropriate

* TODO-1.6: Add some tree conflict todo items.