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

Changeset 1410667 is being indexed.

Combine two unit test files, one of which only had one test in it.

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

(condense_targets_func_t, condense_targets_tests_helper,

test_path_condense_targets): Move these here from target-test.c.

(test_funcs): Add 'test_path_condense_targets'.

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

Delete this file.

* build.conf

(target-test): Remove this section.

(__ALL__): Remove 'target-test'.

Remove the connection-caching branch. I'll make it again later when I have

something to commit..

* STATUS: Add r1410203 to the rep_write_cleanup proposal.

On the 1.6.x-rep_write_cleanup branch, merge r1410203 from trunk.

No conflicts, clean merge.

* STATUS: Add r1410203 to the rep_write_cleanup proposal.

* build/ac-macros/serf.m4

(SVN_SERF_PKG_CONFIG): Stop searching after we find a usable version of serf.

Move two recent libsvn_wc unit tests from tests/libsvn_client/ to


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

(test_funcs): Remove these two tests.

(test_externals_parse, test_externals_parse_erratic): Move from here ...

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

(test_externals_parse, test_externals_parse_erratic): ... to here.

(test_funcs): Add these two tests.

Update build.conf to include the new unit test added in r1410599.

* build.conf

(wc-test): New section.

(__ALL_TESTS__): Add 'wc-test'.

Add some libsvn_wc unit tests.

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

New file, with tests for svn_wc__node_get_base() and


    • ?
In the libsvn_wc unit tests, move some helper functions into a separate

file, because I want to start sharing them.

I have used the prefix 'sbox_' rather than 'svn_test__sbox_', because test

scripts should be short and snappy to write and to read, and I am not aware

of a need to stick to our standard prefixes within the unit tests.

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

(wc_path, file_write, wc_add, disk_mkdir, wc_mkdir, disk_copy, wc_copy,

wc_revert, wc_delete, wc_exclude, wc_commit, wc_update, wc_resolved,

wc_resolve, wc_move, wc_propset, add_and_commit_greek_tree): Move to

utils.h / utils.c, and rename them all to have an 'sbox_' prefix.

(...everywhere...): Track the renames.

* subversion/tests/libsvn_wc/utils.h,


Move all of the above functions to here.

* subversion/include/private/svn_wc_private.h

(svn_wc__node_get_deleted_ancestor): Clarify what 'deleted' means.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_status_t): Request doc clarification.

Check for the required write lock in another WC function.

* subversion/include/svn_wc.h

(svn_wc_remove_from_revision_control2): In the doc string, state exactly

what write lock is required.

* subversion/libsvn_wc/adm_ops.c

(svn_wc__internal_remove_from_revision_control): Check for the write lock.

On the 'tree-read-api' branch: Change the tree traversal method to

per-directory visiting -- similar to Python's os.walk() function. This

inreases efficiency and flexibility. We provide a per-node walker built

on top of it.

* subversion/include/svn_tree.h

(svn_tree_dir_visit_func_t, svn_tree_walk_dirs): New function type and

function for per-directory walking.

(svn_tree_walk_func_t): Remove the TODO comment relating to this change.

* subversion/libsvn_subr/tree.c

(walk_dirs): Renamed from 'walk_tree' and adapted to walk only directories.

(svn_tree_walk_dirs): New function.

(per_dir_to_per_node_baton_t, per_dir_to_per_node_cb): New callback baton

and function.

(svn_tree_walk): Re-implement using walk_dirs() and the per_dir_to_per_node


On the 'issue-4194-dev' branch: Commit the current snapshot of my

branch code. As with previous attempts at introducing more aggressive

directory closure, this too suffers from some as-yet-undetermined

memory management bug. *sigh*

* subversion/libsvn_ra_serf/update.c

(report_context_t): Add new 'done_dir_propfinds' and

'active_dir_propfinds' list members.

(maybe_close_dir_chain): Look through the 'active_dir_propfinds'

list and make sure we aren't about to close a directory which is

still being referred to from within that list.

(end_report): Track directory PROPFINDs in separate lists now, the

new 'done_dir_propfinds' and 'active_dir_propfinds' lists.

(finish_report): Re-order some logic to try to avoid referencing

free'd memory. Call maybe_close_dir_chain() after processing

files for which we only fetched properties. Process the

'done_dir_propfinds' list, too, closing completed directories


Create a branch on which to fiddle with solutions for issue #4194 ("serf

memory leak on checkout").

* src/subversion/subversion/include/svn_wc.h

(svn_wc_parse_externals_description3): Doc fix to clarify relative URLs.

Suggested by: neels

(Discussed at inappropriate length in IRC with neels, julianf, breser.)

* subversion/tests/cmdline/

(copy_added_dir_with_copy): Extend to explictly test mv as well as cp.

Fix a crash introduced in r1241718: When we've got a txdelta against

a PLAIN representation, we must use the latter as source buffer for

the txdelta chain and instead of assuming an empty window.

* subversion/libsvn_fs_fs/fs_fs.c

(read_delta_window): renamed from read_window

(read_plain_window): new function; read data from PLAIN representation

(get_combined_window): if we don't start from a cached combined window,

check for a PLAIN start representation and read from it as necessary

(delta_read_next_window): update caller

Test for another logic error in txdelta usage (development check only).

* subversion/libsvn_delta/text_delta.c

(svn_txdelta_apply_instructions): test that sbuf in not NULL when we

actually need a source buffer

Although we (de)compress binary data, we should 0-terminate the

output buffers as required by svn_stringbuf_t's invariants.

* subversion/libsvn_delta/svndiff.c


zlib_decode): 0-terminate output buffer after (de)compression

* subversion/libsvn_fs_fs/fs_fs.c

(rep_write_cleanup): Improve a comment, no functional change.

Suggested by: danielsh

Fix breakage of the test suite after adding http proxy support.

* subversion/tests/cmdline/svntest/

(_create_parser): Add --http-proxy argument support.

Make it easy to run the test suite through an http proxy.


(check): Convert HTTP_PROXY to --http-proxy arg on

* build/

(usage): Add --http-proxy as a possible option.

(TestHarness.__init__): Add http_proxy arg / attribute on class.

(TestHarness._run_py_test): Pass in http_proxy attribute.

(main): Support parsing --http-proxy, pass value to TestHarness constructor.

* subversion/tests/cmdline/svntest/

(create_config_dir): Accept a http_proxy arg, use urlparse to split it as

though it was netloc of a URL. This allows ipv6 addresses via the

[ipv6]:port syntax. Add the split argument as http-proxy-host and

http-proxy-port in the servers config file.

(TestSpawningThread.run_one): Pass the --http-proxy arg.

(execute_tests): Pass http_proxy to create_config_dir.

STATUS: Add r1410106 to 1.6.x-rep_write_cleanup proposal.

On the 1.6.x-rep_write_cleanup branch, merge r1410106 from trunk.

No conflicts, clean merge.

* STATUS: Add r1410106 to r1403964 & r1403982 proposal.

Try all the cleanup steps even if there are failures in the earlier steps.

As things stand right now if there is an error in the file trunc or close

then we will still not cleanup the being_written flag. The consequences of

the trunc or close not happening are very small. If the trunc does not happen

then there will be a garbage representation left in the protorev file, which

does not break anything functionally. The close has no issues I can think of

since the pool it's opened in is about to be destroyed anyway.

* subversion/libsvn_fs_fs/fs_fs.c

(rep_write_cleanup): compose all the errors of all the steps returning the

first error if any.

On the 'tree-read-api' branch: a bit of renaming.

* subversion/include/svn_tree.h

(svn_tree_node_read_dir): Rename 'dirents' to 'children' for consistency.

* subversion/libsvn_subr/tree.c

(walk_tree): Same.

Make svn_wc_copy3() and svn_wc__move2() check that they have been called

with the write lock(s) required by the doc string, like some other WC

functions do. Fix op-depth-test.c to acquire the write lock before calling


* subversion/libsvn_wc/copy.c

(svn_wc_copy3, svn_wc__move2): Check we have the required write lock(s).

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

(wc_copy): Acquire a write lock before calling svn_wc_copy3().

(wc_wc_copies): Use wc_copy() instead of calling svn_wc_copy3() directly.