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

Changeset 861482 is being indexed.

Follow up to r21407: a test that fails in some situations should

be marked as XFail!

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

(test_funcs): mark created_rev_root as XFailing for now.

New lower-level test for Issue #2608. Passes with bdb, fails with

fsfs. (There's no way to do a conditional XFAIL for C tests


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

(created_rev_root): New test for issue #2608.

(test_funcs): Add new test.

Finish issue #2600 -- svn diff follows history incorrectly on file in

renamed directory.

The problem was a bug in the svn_fs_closest_copy() implementations.

Fortunately, there are now C tests for both the FS and repos layers,

plus a Python test for the original 'svn diff' recipe, so I feel

pretty confident that this particular issue won't easily reappear.

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

(test_funcs): No longer expect node_locations2() to fail.

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

(test_funcs): No longer expect closest_copy_test() to fail.

* subversion/tests/cmdline/

(test_list): No longer expect diff_in_renamed_folder() to fail.

* subversion/libsvn_fs_fs/tree.c

(fs_closest_copy): Use the right dag_node_t when checking for the

item-created-in-copy-target special case.

* subversion/libsvn_fs_base/tree.c

(txn_body_closest_copy): Use the right dag_node_t when checking for

the item-created-in-copy-target special case.

  1. … 4 more files in changeset.
Add a new, currently XFAILing, test for issue #2600, a bug reported on

the mailing list (

Hopefully I'll have a solution soon.

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

(node_locations2): New.

(test_funcs): Reference the new test.

Fix for issue #2486: Svnserve 1.3 authz: writing on subfolder requires read

access on repository root. Removed overly restrictive tests for read access

when opening root or opening a directory.

Patch by: Lieven Govaerts <>

* subversion/libsvn_repos/commit.c:

(open_root): removed check on read access

(open_directory): removed check on read access

* subversion/tests/cmdline/

new file, contains tests for issue #2486.

* subversion/tests/cmdline/svntest/

(run_and_verify_commit): add --username and --password parameters to the


* subversion/tests/cmdline/svntest/

(get_authz_file_path): new function

(get_svnserve_conf_file_path): new function

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

(commit_editor_authz): removed a now obsolete part of the test.

  1. … 4 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:

From: "Peter N. Lundblad" <>

To: "Peter N. Lundblad" <>


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. … 363 more files in changeset.
Stop calling deprecated APIs; call the revised versions instead. In all

cases except the first, don't try to use any new features of the new APIs.

* subversion/libsvn_client/commit_util.c

(harvest_committables): Call the new svn_wc_walk_entries2() and enable

cancellation in it.

* subversion/libsvn_client/diff.c

(do_merge, diff_repos_wc): Call the new svn_ra_do_diff2().

* subversion/libsvn_client/ra.c

(open_tmp_file): Call the new svn_io_open_unique_file2().

* subversion/libsvn_repos/dump.c

(svn_repos_dump_fs2): Call the new svn_repos_replay2().

* subversion/libsvn_wc/adm_ops.c

(svn_wc_process_committed2): Call itself to recurse, not its predecessor.

(erase_from_wc): Call the new svn_io_get_dirents2(). (The new part of the

result is not used.)

* subversion/libsvn_wc/status.c

(get_dir_status): Call the new svn_io_get_dirents2(). (The new part of the

result was already being used; the reimplementation of the old function

happened to provide it.)

* subversion/mod_dav_svn/repos.c

(dav_svn_deliver): Call the new svn_io_get_dirents2().

* subversion/svndumpfilter/main.c

(filtering_vtable): Upgrade to svn_repos_parser_fns2_t.

(do_filter): Call the new svn_repos_parse_dumpstream2().

* subversion/svnlook/main.c

(generate_delta_tree): Call the new svn_repos_replay2().

(do_log): Call the new svn_subst_translate_cstring2().

(do_history): Call the new svn_repos_history2().

* subversion/svnsync/main.c

(open_tmp_file): Call the new svn_io_open_unique_file2().

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

(node_tree_delete_under_copy): Call the new svn_repos_replay2().

  1. … 10 more files in changeset.
Fix some inconsistent source formatting (because it was hindering my attempts

to automate a bigger change).

* subversion/libsvn_diff/diff4.c

* subversion/libsvn_diff/diff_file.c

* subversion/libsvn_diff/lcs.c

* subversion/libsvn_diff/token.c

* subversion/libsvn_repos/load.c

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

* tools/diff/diff.c

* tools/diff/diff3.c

* tools/diff/diff4.c

For static functions, always have "static" on the same line as the return


  1. … 8 more files in changeset.
Fix error leaks, adding SVN_ERR() where appropriate.

Found by: julianfoad

* subversion/libsvn_client/locking_commands.c,






Add SVN_ERR() wrappers to handle errors returned from called functions.

  1. … 5 more files in changeset.
Replace calls to the deprecated functions svn_wc_create_tmp_file and

svn_io_open_unique_file with their ...2() successors.

  1. … 25 more files in changeset.
Follow-up to r16046. Fix regression, making the case where

passing a transaction to svn_repos_get_commit_editor4 didn't work, because

the transaction couldn't be comittted while closing the edit.

Suggested by: clkao

* subversion/tests/libsvn_repos/repos-test.c (dummy_commit_cb): New function.

(commit_continue_txn): New test.

(test_funcs): Add it.

* subversion/libsvn_repos/commit.c (close_edit): Don't error if we aren't the

owner of the transaction.

  1. … 1 more file in changeset.
Partial fix for Issue #443: post-commit hook script (error) output lost

This is step 5 : Replace all usage of svn_commit_callback_t with


Patch by: Madan U Sreenivasan <>

(Tweaked by me.)

* subversion/libsvn_ra/wrapper_template.h

(compat_get_commit_editor): Use svn_compat_wrap_commit_callback.

* subversion/libsvn_ra/ra_loader.c: Include svn_types.h.

(svn_ra_get_commit_editor2): New function using svn_commit_callback2_t.

(svn_ra_get_commit_editor): Wrap svn_ra_get_commit_editor2.

* subversion/libsvn_ra/ra_loader.h

(svn_ra__vtable_t): Modified the get_commit_editor member to use

svn_commit_callback2_t instead of svn_commit_callback_t.

* subversion/include/svn_repos.h

(svn_repos_get_commit_editor4): New version of svn_repos_get_commit_editor3

to use svn_commit_callback2_t.

(svn_repos_get_commit_editor3): Deprecated.

* subversion/include/svn_types.h

(svn_commit_info_dup): New API.

(svn_commit_callback2_t): New callback similar to svn_commit_callback_t

but using the svn_commit_info_t structure and with an new pol argument.

(svn_commit_callback_t): Deprecated.

(svn_compat_wrap_commit_callback): New API to wrap commit_baton

and provide a svn_commit_callback_t type callback.

* subversion/include/svn_ra.h

(svn_ra_get_commit_editor2): New version of svn_ra_get_commit_editor

using svn_commit_callback2_t.

(svn_ra_get_commit_editor): Deprecated.

* subversion/libsvn_subr/constructors.c

(svn_commit_info_dup): New function.

* subversion/libsvn_subr/compat.c: New file to provide compatibility

for deprecated callback types.

* subversion/libsvn_ra_local/ra_plugin.c

(deltify_etc_baton): Use svn_commit_callback2_t.

(deltify_etc): Now uses the svn_commit_callback2_t signature

and callbacks.

(svn_ra_local__get_commit_editor): Use svn_client_commit_callback2_t.

* subversion/libsvn_client/delete.c

(delete_urls): Use svn_ra_get_commit_editor2 instead of


* subversion/libsvn_client/client.h

(svn_client__commit_callback): Comply with new svn_commit_callback2_t


* subversion/libsvn_client/copy.c

(repos_to_repos_copy, wc_to_repos_copy): Use svn_ra_get_commit_editor2 instead of


* subversion/libsvn_client/commit_util.c

(svn_client__commit_callback): Modified function to use


* subversion/libsvn_client/add.c

(mkdir_urls): Use svn_ra_get_commit_editor2 instead of


* subversion/libsvn_client/commit.c

(get_ra_editor): Use svn_ra_get_commit_editor2.

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

(commit_editor_authz): Use svn_repos_get_commit_editor4.

* subversion/libsvn_repos/commit.c

(edit_baton): Now uses svn_commit_callback2_t.

(close_edit): Use svn_commit_callback2_t based callback.

(svn_repos_get_commit_editor4): New function.

(svn_repos_get_commit_editor3): Modified to wrap around the

svn_repos_get_commit_editor4 function.

(svn_repos_get_commit_editor2): Modified to wrap around the

svn_repos_get_commit_editor3 function.

(svn_repos_get_commit_editor): Modified to wrap around the

svn_repos_get_commit_editor2 function.

* subversion/libsvn_ra_svn/client.c

(ra_svn_commit_callback_baton_t): Now uses svn_commit_callback2_t.

(ra_svn_end_commit): Add pool argument. Use svn_commit_info_t.

(ra_svn_commit): Use svn_commit_callback2_t.

* subversion/libsvn_ra_dav/ra_dav.h

(svn_ra_dav__get_commit_editor): Use svn_commit_callback2_t.

* subversion/libsvn_ra_dav/commit.c

(commit_ctx_t): Use svn_commit_callback2_t.

(commit_close_edit): use svn_commit_info_t.

(svn_ra_dav__get_commit_editor): Use svn_commit_callback2_t.

* subversion/svnserve/serve.c

(commit_callback_baton_t): Add pool member.

(commit_done): Use svn_commit_info_t.

(commit): Use svn_repos_get_commit_editor4.

Initialize ccb->pool

  1. … 20 more files in changeset.
Fix a nasty SEGFAULT that could occur when folks use a non-absolute FS

path as input to svn_repos_trace_node_locations.

* subversion/libsvn_repos/rev_hunt.c

(svn_repos_trace_node_locations): Ensure that the input FS path is absolute.

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

(node_locations): Repeat the test, using the non-absolute FS path form.

  1. … 1 more file in changeset.
Add facilities in the authz lookup library to perform a global lookup,

that is to check whether a user has a given access level granted by

any authz rule. This is the first stage of fixing issue #2388.

* subversion/include/svn_repos.h

(svn_repos_authz_check_access): Document the possibility of passing

a NULL path to perform a global access lookup.

* subversion/libsvn_repos/authz.c

(svn_repos_authz_check_access): Test for NULL paths and perform a

global access lookup if necessary.

(authz_get_global_access, authz_global_parse_section): New


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

(authz): Add tests to validate the behaviour of global lookups.

  1. … 2 more files in changeset.
* subversion/tests/libsvn_repos/repos-test.c

(commit_authz_cb, commit_editor_authz): Make static to kill a gcc warning.

Add authz callback support to the commit editor.

Patch by: David Anderson <>

* subversion/include/svn_error_codes.h

New error message.

* subversion/include/svn_repos.h

(svn_repos_authz_access_t): Move to the begginning of file to avoid

warnings about undeclared types.

(svn_repos_authz_callback_t): New callback type for extended authz


(svn_repos_get_commit_editor3): Rev API, add an authz callback and


(svn_repos_get_commit_editor2): Deprecate.

* subversion/libsvn_repos/commit.c

(edit_baton): New fields for authz.

(check_authz): New internal function.

(open_root, delete_entry, add_directory, open_directory,

apply_textdelta, add_file, open_file, change_file_prop,

change_dir_prop): Perform authz lookups.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__get_commit_editor): Use the new commit editor API.

* subversion/svnserve/serve.c

(commit): Use the new commit editor API.

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

(commit_authz_cb): Callback implementation for the commit editor

authz test.

(commit_editor_authz): New test.

  1. … 5 more files in changeset.
Make the repos-test authz tests cleanup after themselves.

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

Fix some space-before-paren inconsistencies.

(authz_get_handle): Always try to close and remove the authz_test_*

temporary file.

Bugfix for overly-strict rejection by recursive authz lookup algorithm.

Original bug report here:

Suggested by: Bernd Rinn <>

Patch by: David Anderson <>

* subversion/libsvn_repos/authz.c

(authz_parse_section): use svn_path_is_ancestor to establish

relationships between paths instead of just strncmp.

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

(authz): New regression test.

  1. … 1 more file in changeset.
Followup to r15400 with docstrings and small implementation fixes,

after review by kfogel.

Patch by: David Anderson <>

Review by: kfogel

* subversion/include/svn_repos.h

(svn_repos_authz_read): Rewrite the docstring to be less


* subversion/libsvn_repos/authz.c

(authz_lookup_baton, authz_validate_baton,

authz_group_contains_user): Document.

(svn_authz_t): Remove repeat of the public API docstring. Document

implementation info only.

(authz_access_is_granted, authz_access_is_determined,

authz_group_walk, authz_validate_group, authz_validate_section):

Document properly.

(authz_validate_rule): Document properly. Change function parameter

name for clarity. Do not needlessly wrap line.

(svn_repos_authz_read): Change function parameter name for style

consistency. Correct implementation comment within the function.

(svn_repos_authz_check_access): Remove base_name and use

current_path in its stead.

  1. … 2 more files in changeset.
Fix tests on Windows.

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

(authz_get_handle): Manually close and remove the temp config file to

prevent file sharing problems.

Add a function which opens and verifies that an authz configuration

file does not contain any logic errors prior to any lookups.

Patch by: David Anderson <>

* subversion/include/svn_error_codes.h: Update copyright notice.


* subversion/include/svn_repos.h: Remove useless include.

(svn_authz_t): New opaque data type.

(svn_repos_authz_read): New public API.

(svn_repos_authz_check_access): Fix docstring typo. Use a

svn_authz_t* instead of a svn_config_t*.

* subversion/libsvn_repos/authz.c

Use svn_authz_t instead of svn_config_t for handles to authz


(authz_baton): Rename.

(authz_lookup_baton): Renamed from authz_baton. All references


(authz_validate_baton): New baton for use in validation routines.

(authz_group_contains_user_internal): Remove function.

(authz_group_contains_user): Remove useless protection against

invalid configurations.

(authz_get_path_access): Rewrite docstring.

(authz_get_tree_access): Return the access status directly.

(authz_group_walk, authz_validate_rule,

authz_validate_group, authz_validate_section):

New internal functions.

(svn_repos_authz_read): New function.

(svn_repos_authz_check_access): Change calls to altered internal


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

Use svn_authz_t instead of svn_config_t for handles to authz


(authz_get_handle): New function. Factor out the converting a char*

authz file contents to a parsed svn_authz_t* from the authz test


(authz): Add a second batch of tests to ensure that invalid authz

configurations are caught during the authz loading.

* subversion/mod_authz_svn/mod_authz_svn.c

Use svn_authz_t instead of svn_config_t for handles to authz


(req_check_access): replace call to svn_config_read with a call to


  1. … 4 more files in changeset.
Fix tests on Windows.

* subversion/tests/clients/cmdline/

(text_time_behaviour): Use binary mode when manually reverting the file

to prevent newline translations.

* subversion/tests/clients/cmdline/

(blame_in_xml): Use platform path separators in xml template.

* subversion/tests/clients/cmdline/svntest/

(write_to_disk): Use binary mode to write contents so no newline

translating will occur.

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

(authz): Manually close and remove the temp config file to prevent

file locking problems.

  1. … 3 more files in changeset.
Move authz routines from mod_authz_svn to libsvn_repos; rework authz

code to fit in with libsvn_repos; update mod_authz_svn to reflect

the move.

Patch by: David Anderson <>

* subversion/mod_authz_svn/mod_authz_svn.c: Add includes, remove

nameless enum. Update copyright notice.

(parse_authz_baton, group_contains_user_internal,

group_contains_user, parse_authz_line,

parse_authz_lines, parse_authz_section,

parse_authz_sections, check_access): Remove, functionality

moves to libsvn_repos.

(req_check_access): Use the authz routines in libsvn_repos and wrap

any errors reported by the authz layer. Test for a NULL repos_path

here rather than in check_access.

* subversion/include/svn_repos.h: Add include. Update copyright notice.

(svn_repos_authz_access_t): New enum type.

(svn_repos_authz_check_access): New public API.

* subversion/libsvn_repos/authz.c: New file. Contains the functionality

moved from mod_authz_svn. Rename functions and variable names to

better fit libsvn_repos. Add internal API and in-function


(authz_access_is_granted, authz_access_is_determined): New functions

that refactor and document obfuscated tests that were previously in

authz_parse_section and authz_get_path_access.

* subversion/tests/libsvn_repos/repos-test.c: Add include. Update

copyright notice.

(authz): New test.

* build.conf: Add dependancy on libsvn_repos to mod_authz_svn build


  1. … 4 more files in changeset.
Fix major autoversioning interoperability bug.

Propagate the svn_lock_t 'xml_comment' boolean field into

svn_fs_lock() and svn_repos_fs_lock() APIs, rather than dropping it

into the ether. While we're at it, rename the boolean to something

more understandable.

This fixes a large autoversioning bug. Because the boolean was always

being written to disk as '0', mod_dav_svn was assuming (upon fetching

locks) that every lock-comment was created by a subversion client.

This caused it to return garbage values back to generic DAV clients.

Bug detected/fixed with cmpilato and fitz.

* subversion/include/svn_types.h

(svn_lock_t): rename 'xml_comment' to 'dav_comment' for clarity.

* subversion/include/svn_fs.h

(svn_fs_lock): take new 'is_dav_comment' boolean arg.

* subversion/include/svn_repos.h

(svn_repos_fs_lock): take new 'is_dav_comment' boolean arg.

* subversion/libsvn_fs/fs-loader.h

(fs_vtable_t): add boolean to vtable->lock().

* subversion/libsvn_repos/fs-wrap.c

(svn_repos_fs_lock): pass new boolean to svn_fs_lock().

* subversion/libsvn_fs/fs-loader.c

(svn_fs_lock): pass new boolean argument to vtable func.

* subversion/libsvn_fs_base/lock.h

(svn_fs_base__lock): take new boolean arg.

* subversion/libsvn_fs_base/lock.c

(struct lock_args, svn_fs_base__lock, txn_body_lock): take new

boolean arg and make use of it.

* subversion/libsvn_fs_base/util/fs_skels.c

(svn_fs_base__unparse_lock_skel, svn_fs_base__parse_lock_skel):

update other users of svn_lock_t to use boolean's new name.

* subversion/libsvn_fs_fs/lock.h

(svn_fs_fs__lock): take new boolean arg.

* subversion/libsvn_fs_fs/lock.c


(write_digest_file, read_digest_file): update callers to use new key name.

(struct lock_baton, svn_fs_fs__lock, lock_body): take new boolean

arg and make use of it.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__lock): pass 0 as new argument to svn_repos_fs_lock().

* subversion/svnserve/serve.c

(lock): pass 0 as new argument to svn_repos_fs_lock().

* subversion/mod_dav_svn/lock.c

(svn_lock_to_dav_lock, dav_lock_to_svn_lock): update other users of

svn_lock_t to use boolean's new name.

(dav_svn_append_locks, dav_svn_refresh_locks): pass the boolean

argument into svn_repos_fs_lock().

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

(lock_only, lookup_lock_by_path, attach_lock, get_locks, basic_lock,

lock_credentials, final_lock_check, lock_dir_propchange,

lock_name_reservation, directory_locks_kinda, lock_expiration,

lock_break_steal_refresh, lock_out_of_date):

pass 0 as new argument to svn_fs_lock().

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

(rmlocks): pass 0 as new argument to svn_fs_lock().

  1. … 15 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): Remove.

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

* subversion/tests/svn_test.h: here.

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

* subversion/tests/svn_test_fs.c: this.

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

* subversion/tests/svn_test_fs.h: this.

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

* subversion/tests/svn_test_main.c: 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. … 28 more files in changeset.
Revert r14002 - philip pointed out that it contravened compatibility rules.

  1. … 5 more files in changeset.
* subversion/include/svn_error_codes.h: Remove unused #include "svn_props.h".

* subversion/libsvn_fs_base/tree.c:

* subversion/libsvn_fs_fs/fs_fs.c:

* subversion/libsvn_fs_fs/tree.c:

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

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

Add missing #include of "svn_props.h", which was previously being picked

up as a side effect of #including other files.

  1. … 5 more files in changeset.
Merge the functionalities of svn_fs_attach_lock() and svn_fs_lock()

into a single function (svn_fs_lock).

* subversion/include/svn_fs.h

(svn_fs_lock): Add (optional) 'token' parameter, and move the

'force' parameter closer to the end.

(svn_fs_attach_lock): Remove.

* subversion/libsvn_fs/fs-loader.h

(fs_vtable_t): Lose 'attach_lock'. Tweak 'lock' param list to match


* subversion/libsvn_fs/fs-loader.c

(svn_fs_lock): Add 'token' parameter, and move the 'force' parameter

closer to the end. Update call to vtable functions.

(svn_fs_attach_lock): Remove.

* subversion/libsvn_fs_fs/fs.c

(fs_vtable): Lose reference to svn_fs_fs__attach_lock().

* subversion/libsvn_fs_fs/lock.h

(svn_fs_fs__lock): Add 'token' parameter, and move the 'force'

parameter closer to the end.

(svn_fs_fs__attach_lock): Remove.

* subversion/libsvn_fs_fs/lock.c

(generate_new_lock): Remove.

(svn_fs_fs__lock): Add 'token' parameter, and move the 'force'

parameter closer to the end. Eat up generate_new_lock's

functionality. Also, leave a big TODO here for verifying the

legitimacy of a non-NULL input token.

(svn_fs_fs__attach_lock): Remove.

* subversion/libsvn_fs_base/fs.c

(fs_vtable): Lose reference to svn_fs_base__attach_lock().

* subversion/libsvn_fs_base/lock.h

(svn_fs_base__lock): Add 'token' parameter, and move the 'force'

parameter closer to the end.

(svn_fs_base__attach_lock): Remove.

* subversion/libsvn_fs_base/lock.c

(generate_new_lock): Remove.

(struct lock_args): Add 'token' member.

(txn_body_lock): If present, use baton's token as the lock token.

(svn_fs_base__lock): Add 'token' parameter, and move the 'force'

parameter closer to the end. Populate new 'token' baton member.

(struct attach_lock_args, txn_body_attach_lock,

svn_fs_base__attach_lock): Remove.

* subversion/include/svn_repos.h

(svn_repos_fs_attach_lock): Remove.

(svn_repos_fs_lock): Add 'token' parameter, and move the 'force'

parameter closer to the end.

* subversion/libsvn_repos/fs-wrap.c

(svn_repos_fs_lock): Add 'token' parameter, and move the 'force'

parameter closer to the end.

(svn_repos_fs_attach_lock): Remove.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__lock): Update call to svn_repos_fs_lock().

* subversion/svnserve/serve.c

(lock): Update call to svn_repos_fs_lock().

* subversion/mod_dav_svn/lock.c

(dav_svn_append_locks, dav_svn_refresh_locks): Use

svn_repos_fs_lock() instead of svn_repos_fs_attach_lock(). Also,

fix a bug where a lock timeout was being used as an expiration date.

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

(lock_only, lookup_lock_by_path, get_locks, basic_lock,

lock_credentials, final_lock_check, lock_dir_propchange,

lock_name_reservation, directory_locks_kinda, lock_expiration,

lock_break_steal_refresh, lock_out_of_date): Update calls to

svn_fs_lock(), and use it instead of svn_fs_attach_lock(). Also,

use TRUE/FALSE instead of 1/0 for the boolean 'force' flag.

(attach_lock): Use svn_fs_lock() instead of svn_fs_attach_lock().

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

(rmlocks): Update calls to svn_fs_lock().

  1. … 15 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.
Yet more buildsystem/testsystem simplification. Dispose of run-*, and

just run the appropriate tests directly. Incidentally, re-enable changes-test,

which was erroneously not being run.

* build.conf: Remove the run-* script references, and un-skip the

previously contained tests.

* subversion/tests/libsvn_fs_base/

* subversion/tests/libsvn_repos/

* subversion/tests/python-libs:

Delete, no longer required.

  1. … 3 more files in changeset.