subversion

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

Changeset 1611675 is being indexed.

* subversion/tests/libsvn_repos/dump-load-test.c

(test_dump_r0_mergeinfo): Fix typo in comment.

* subversion/svn/notify.c

(notify_body): Tweak comments for clarity.

* subversion/tests/cmdline/svnadmin_tests.py

(set_changed_path_list): Remove obsolete comment. No functional change.

Follow-up to r1611380: fix build.

* subversion/libsvn_subr/cache-membuffer.c

(read_lock_cache): Add missing #endif.

Work around for the poor performance of APR reader / writer locks on Windows.

Basically, fall back to 1.7 code on Win32 by using a simple mutex.

This resulted in a 35% increase in throughput for a 'null-export' over

ra_serf from hot SVN caches with revprop caching enabled. OTOH, this may

cost us some scalability with ra_svn on high-speed (>1Gb) networks.

* subversion/libsvn_subr/cache-membuffer.c

(USE_SIMPLE_MUTEX): New flag. Set depending on whether we need to fall

back to a simple locking scheme.

(svn_membuffer_t): Select lock type at compile time.

(read_lock_cache,

write_lock_cache,

force_write_lock_cache,

unlock_cache): Use the simple mutex lock when selected.

(svn_cache__membuffer_cache_create): Initialize the correct lock type and

disable the counter_mutex if redundant.

Fix Windows redo loop oddity for named atomics. As it turns out, the redo

loops for file creation and locking don't play very well with files that

get / got deleted. This is the root cause for the bad ra_serf performance

when revprop caching has been enabled.

With this patch, we simply use the same lock file scheme as for e.g. lock

files in FSFS, i.e. we auto-create an empty lock file and keep it.

* subversion/libsvn_subr/named_atomic.c

(mutex_t): Don't keep the lock file open while not holding the lock,

i.e. the mutex is simply the file name and the pool that

will contain the actual file lock.

(lock): Auto-create and lock the file as we do in e.g. FSFS.

(unlock): Simple pool cleanup now released the lock file.

(delete_lock_file): Drop.

(svn_atomic_namespace__create): Update mutex initialization code.

Follow-up to r1611356: No need to make pristine files writable for removal.

* subversion/libsvn_wc/wc_db_pristine.c

(remove_file): svn_io_remove_file2() will remove read-only files, so there's

no need for us to make pristines writable before removing them.

Suggested by: julianfoad

Follow-up to r1611356: Attempt to fix tree_conflict_tests 23 on Windows.

* subversion/tests/cmdline/tree_conflict_tests.py

(actual_only_node_behaviour): If shutil.rmtree() fails to delete a path,

try again after making the path writable.

Make files within the .svn/pristine directory read-only.

Pristine paths are passed to externals tools, such as diff tools, and it is

possible that such tools allow users to edit these files. Pristines shouldn't

be changed so it seems like a good idea to make them read-only by default.

Pristine files are now made writable only while they're being installed

or removed.

* subversion/libsvn_wc/wc_db_pristine.c

(pristine_install_txn): Make pristine files writable before installation

(in case a partial or corrupt copy exists), and make them read-only

after installation.

(remove_file): Make pristine files writable before removing them.

On the 'moves-tracking-2' branch:

* subversion/include/private/svn_delta_private.h

(svn_delta__ev3_from_delta_for_commit): Add commentary.

Add the benchmark script and utilities used for repository performance

testing to our dev tools section. Most of them are Windows-sepecifc.

* tools/dev/benchmarks/RepoPerf

New folder.

* tools/dev/benchmarks/RepoPerf/ClearMemory.cpp

(): New file. Trivial "RAM cleaner" for Windows.

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

(): New file. Generic tool to multiply repositories and to create

realistic on-disk data layouts.

* tools/dev/benchmarks/RepoPerf/TimeWin.cpp

(): New file. Windows tool measuring execution time and CPU usage

of a given command while suppressing its output.

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

(): New file. The benchmarking script I used on Windows. It is

currently quite inflexible (paths etc. are hard-coded).

On the 'moves-tracking-2' branch: Tweak comments.

* subversion/include/private/svn_editor3.h

As above.

On the 'moves-tracking-2' branch: Fix a bug in the commit editor shim with

regard to property changes in a copied subtree. Note a related problem.

* subversion/libsvn_delta/compat3.c

As above.

On the 'moves-tracking-2' branch: Add an Ev3-from-Ev1 shim for commit

editors. This compiles but is totally untested.

* subversion/include/private/svn_delta_private.h

(svn_delta__ev3_from_delta_for_commit): Declare.

* subversion/libsvn_delta/compat3.c

New file, implementing the above.

On the 'moves-tracking-2' branch: More notes on Ev3; and correct the

'rm' (delete) method signature to be able address a copy child path.

* subversion/include/private/svn_editor3.h,

subversion/libsvn_delta/editor3.c

As above.

Move the setting of SVN_AUTH_PARAM_SERVER_GROUP from libsvn_ra_serf

to libsvn_ra so that it applies to all RA layers. This fixes issue

4512: config server groups should work with the svn:// protocol.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_open4): Set SVN_AUTH_PARAM_SERVER_GROUP.

* subversion/libsvn_ra_serf/serf.c

(load_config): No need to find group or set SVN_AUTH_PARAM_SERVER_GROUP.

Follow-up to r1609477: Make skipping the C tests optional for any RA method.

* Makefile.in (check): Interpret the SKIP_C_TESTS option.

* build/run_tests.py

(TestHarness.__init__): Accept a new optional parameter skip_c_tests

and initialize the object attribute from it.

(main): Add new options --skip-c-tests and synonym --skip-C-tests.

Defaults to false; pass the value to the TestHarness constructor.

Fix fallout from r1609477.

* build/run_tests.py

(TestHarness.__init__): Don't assume that the base URL is set.

Do not run the C tests when testing ra_svn or ra_serf.

The C tests ignore the test harness' base URL parameter, so this avoids

repeating the exact same tests with all three RA methods.

* build/run_tests.py

(TestHarness.__init__): Check if we're using the file:// protocol.

(TestHarness.run): Filter the C tests out of the test list if we're not

testing ra_local.

(TestHarness._split_nums): New; code hoisted out of TestHarness._run_test.

(TestHarness._run_test): Use TestHarness._split_nums.

* STATUS: Vote for gpg-agent fix.
Merge r1594156 from trunk:

* r1594156

Fix a problem with the Unix build that could result in linking to the wrong

Subversion libraries at build time or at run time.

Justification:

Building and testing should Just Work as far as possible.

Votes:

+1: julianfoad, philip, rhuijben

    • ?
    /branches/1.8.x/build/ac-macros/serf.m4
Merge the r1594794 group from trunk:

* r1594794, r1594814, r1594834, r1595061

Fix the notify_func callbacks in Python bindings.

Justification:

Slightly broken implementation made them impossible to use.

Votes:

+1: breser, philip

+0: rhuijben

Merge r1596866 from trunk:

* r1596866

Fix another instance of issue #3014, "svn log | head" should not

print "Write error: Broken pipe"

Justification:

Minor annoyance, already fixed for other cases.

Votes:

+1: stsp, ivan, philip

    • ?
    /branches/1.8.x/subversion/libsvn_subr/opt.c
Merge r1593992 from trunk:

* r1593992

Remove useless warning about ruby during configure.

Justification:

Ruby 1.9 support has been there for a while. Telling people iff they

are using Ruby 1.9.3 that the support is new is useless.

Votes:

+1: breser, rhuijben, philip

Merge r1591123 from trunk:

* r1591123

Display the proper URL for 'svn rm URL' in the commit log editor.

Justification:

It's confusing since the URL isn't what the user passed. Regression since

1.7.9 when we fixed issue #4332.

Votes:

+1: breser, rhuijben, philip

On the 'moves-tracking-2' branch: More notes on Ev3; and put the

resurrection and copy-from-this-rev features in conditional compilation.

* subversion/include/private/svn_editor3.h,

subversion/libsvn_delta/editor3.c

As above.

* subversion/libsvn_client/import.c

(svn_client_import5): Pass valid pool in abort_edit() call.

Simplify a bit of logic. No functional changes.

* subversion/mod_dav_svn/reports/update.c

(add_helper): Move bc_url string calculation to the directory case.

In ra-serf, don't declare xml attributes which are never used in the dav

protocol.

* subversion/libsvn_ra_serf/update.c

(update_ttable): Don't define rev as valid property for add-file/-dir

as they don't use this. Don't declare the unused bc-url for files, as

it is only provided on dirs.

On the 'moves-tracking-2' branch:

* subversion/include/private/svn_editor3.h

Add a documentation section about rebase-on-commit.