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

Changeset 878412 is being indexed.

* subversion/bindings/ctypes-python/csvn/core/

Remove unnecessary shebang line.

Found by: stsp

Attempt to fix the windows tests by ensuring we destroy the wc_context

prior to exiting svn_client_commit4().

* subversion/libsvn_client/commit.c

(svn_client_commit4): Destroy the wc_context. Also, create the wc_context

a bit later (after all the early outs).

Fix test_lock in the Python bindings testsuite.

* subversion/bindings/swig/python/tests/

(SubversionWorkingCopyTestCase.test_lock): Assign the lock a token, and

lock /trunk/README.txt instead of /.

Patch by: Roman <>

Declare independence from the remaining uses of deprecated props functions in


* subversion/libsvn_client/client.h

(svn_client__harvest_committables, svn_client__get_copy_committables):

Add wc_ctx parameter; update docs.

* subversion/libsvn_client/copy.c

(wc_to_repos_copy): Provide a wc_ctx to svn_client__get_copy_committables().

* subversion/libsvn_client/commit_util.c

(check_prop_mods): Update to non-deprecated API, and take a wc_ctx param to

do so.

(harvest_committables): Don't create a wc_ctx, use a provided one.

(svn_client__harvest_committables): Take a wc_ctx, and pass it along.

(copy_committables_baton): Add wc_ctx member.

(harvest_copy_committables): Pass the wc_ctx down the stack.

(svn_client__get_copy_committables): Get a wc_ctx to initialize the baton.

* subversion/libsvn_client/commit.c

(svn_client_commit4): Initialize a wc_context to use later.

On the 'python-3-compatibility' branch:

Merge r38154:38333 from trunk.

  1. … 140 more files in changeset.
Almost finish cleaning up the wc-ng prop API fallout in libsvn_client.

* subversion/libsvn_client/ra.c

(set_wc_prop): Get rid of an entry and an access baton, and just call the

updated API with the wc_ctx.

(invalidate_wcprop_walk_baton): Replace the adm_access member with a wc_ctx.

(invalidate_wcprop_for_entry): Update API call.

(invalidate_wc_props): Initialize the wc_ctx.

* subversion/tests/cmdline/ Move loading of mod_unixd to

correct section.

More prop wc-ng API cleanup. (Almost done with the client-layered stuff.)

* subversion/libsvn_client/merge.c

(files_same_p): Add a wc_ctx param, and use it with the updated APIs.

(merge_file_deleted): Update calls to functions with wc_ctx param.

(get_mergeinfo_walk_baton): Add wc_ctx member.

(get_subtree_mergeinfo_walk_cb, get_mergeinfo_walk_cb,

record_mergeinfo_for_added_subtrees): Get a local path, and update API calls.

(svn_client_merge_reintegrate, get_mergeinfo_paths): Initialize new baton


(get_subtree_mergeinfo_walk_baton): New member.

Update a few wc-ng deprecated function calls in libsvn_client.

* subversion/libsvn_client/cat.c

(cat_local_file): Add a wc_ctx parameter, and use it to call the updated


(svn_client_cat2): Create (or reuse) a wc_context, and update the call to


A few more wc_context and API updates to mergeinfo.c.

* subversion/libsvn_client/mergeinfo.c

(elide_mergeinfo): Use a wc_ctx and absolute path. Update calls to the old

wc API.

(svn_client__elide_children, svn_client__elide_mergeinfo): Update calls to

elide_mergeinfo() with absolute paths and wc_ctx.

Let callers to svn_client__get_prop_from_wc() supply a working copy context,

in place of creating one each time this function is called.

The result of this change is many new wc_ctx function parameters, primarily

within mergeinfo.c and merge.c. The paradigm we are shooting for is that

client APIs create a wc_ctx (or reuse ctx->wc_ctx), and then pass it around

where ever needed. Although this is similar to passing adm_access batons

everywhere, the key insight is that the wc_ctx doesn't change depending on

which working copy directory or path we are accessing, which ultimately

means less trouble for the callers.

Also, as much as I would love to, we can't yet remove all the adm_access

batons, since there are still many APIs which require them. :(

* subversion/libsvn_client/client.h

(svn_client__get_prop_from_wc): Add wc_ctx param.

* subversion/libsvn_client/merge.c

(merge_cmd_baton_t): Add wc_ctx member.

(get_full_mergeinfo, inherit_implicit_mergeinfo_from_parent,

ensure_implicit_mergeinfo, filter_merged_revisions,

calculate_remaining_ranges, populate_remaining_ranges,

calculate_merge_inheritance, do_merge,


Add wc_ctx param and propogate it to other function calls.

(record_skips, get_mergeinfo_paths, do_file_merge,

process_children_with_new_mergeinfo, record_mergeinfo_for_dir_merge,


Use the wc_ctx from the merge_baton to call other functions.

(svn_client_merge3, svn_client_merge_reintegrate, svn_client_merge_peg3):

Create (or reuse) a wc_ctx for further use.

* subversion/libsvn_client/prop_commands.c

(svn_client__get_prop_from_wc): Add wc_ctx param, and use it instead of

creating one.

(svn_client_propget3): Get a wc_ctx for later use.

* subversion/libsvn_client/copy.c

(calculate_target_mergeinfo, extend_wc_mergeinfo, repos_to_repos_copy,

wc_to_repos_copy, repos_to_wc_copy_single, try_copy):

Add wc_ctx param and propogate it to other function calls.

(svn_client_copy5): Allocate the context from the correct pool.

* subversion/libsvn_client/mergeinfo.c

(svn_client__parse_mergeinfo, svn_client__get_wc_mergeinfo,

svn_client__get_wc_or_repos_mergeinfo, svn_client__elide_children,

svn_client__elide_mergeinfo, svn_client__elide_mergeinfo_for_tree,


Add wc_ctx param and propogate it to other function calls.


Add wc_ctx param, remove access baton, and make sure the path we

receive is an absolute path. Update deprecated function call while

we're here.

(svn_client_mergeinfo_log_merged, svn_client_mergeinfo_get_merged,

svn_client_mergeinfo_log_eligible, svn_client_suggest_merge_sources):

Get a wc_ctx to use.

* subversion/libsvn_client/mergeinfo.h

(svn_client__get_wc_mergeinfo, svn_client__get_wc_or_repos_mergeinfo,

svn_client__elide_mergeinfo, svn_client__elide_children,


Add wc_ctx param.

(svn_client__record_wc_mergeinfo): Remove adm_access baton param, and add

a wc_ctx param. Update docs.

Migrate very important information to a place where it's much easier

to find.

* subversion/tests/cmdline/README:

Explain how to run tests in a RAM disk. Copied verbatim from the FAQ.

* www/faq.html

(ramdisk-tests): Instead of having the answer to the "ram disk" question

here, link to cmdline/README.

Remove warning of 'redundant redeclaration of function'.

* subversion/include/svn_path.h

(): Include 'svn_dirent_uri.h', to make use of ifndef SVN_DIRENT_URI_H.

Fix issue #3432 'Merge can record mergeinfo from natural history gaps',

reimplementing r874467 along the way.

* subversion/libsvn_client/merge.c

(merge_cmd_baton_t): New member implicit_src_gap.

(calculate_remaining_ranges): Add new argument corresponding to the new

merge_cmd_baton_t member. Tweak doc string a bit. Ignore explicit

mergeinfo that falls within a natural history gap, that is a different

line of history.

(find_gaps_in_merge_source_history): New, finds gap in natural history, if


(populate_remaining_ranges): Use new find_gaps_in_merge_source_history

function to find any gap in the merge source's natural history and stash

this information in the new merge_cmd_baton_t member. Rip out the old

r874467 fix for dealing with gaps in natural history.

(do_file_merge): Update call to calculate_remaining_ranges().

(record_mergeinfo_for_dir_merge): Remove natural history gaps from the

mergeinfo recorded to describe this merge.

(do_merge): Initialize new merge_cmd_baton_t member.

* subversion/tests/cmdline/

(handle_gaps_in_implicit_mergeinfo): Remove comment re XFail status.

(test_list): Remove XFail from handle_gaps_in_implicit_mergeinfo.

* subversion/tests/cmdline/

(test_list): Following up on recent unified diff application work for

supporting multiple eol-styles, remove the Windows specific XFail

marker from patch tests 2, 3 and 4.

* build/generator/

(get_install_targets): Following up on r38305, skip swig file generation

if swig_libdir is not available. This matches other tests for swig and

should fix the Windows buildbot.

Use client contexts and update APIs in libsvn_client/copy.c

* subversion/libsvn_client/copy.c

(extend_wc_mergeinfo): Add an wc_ctx param.

(repos_to_wc_copy_single, repos_to_wc_copy, try_copy): Add an wc_ctx param,

and use it internally.

(svn_client_copy5, svn_client_move5): Intialize a context, if needed, and

use it internally.

* ^/trunk:

Add 'serf' to svn:ignore.

Suggested by: Роман Донченко <>

Replace another instance of svn_wc_prop_list().

* subversion/libsvn_client/blame.c

(svn_client_blame5): Create and use a context to get property lists.

Rework the internals of the various property commands in libsvn_client.

This removes several uses of adm_access batons, and also updates to use

the newest working copy APIs.

* subversion/libsvn_client/prop_commands.c

(propset_walk_baton, proplist_walk_baton): Swap an access baton for a wc


(propset_walk_cb): Update API use, don't bother fetching an adm access baton.

(svn_client_propset3): Get a wc context, use an update API.

(pristine_or_working_props): Update docs, params and API usage to remove

access batons.

(pristine_or_working_propval): Same as above, and use the new APIs.

(propget_walk_baton): Get rid of the base access member.

(propget_walk_cb): Use the new APIs for getting props.

(svn_client__get_prop_from_wc): Don't set the access baton in the walk baton.

(proplist_walk_cb): Use the update APIs.

(svn_client_proplist3): Get a context, don't store the access baton in the

walk baton, and update API calls.

Update some deprecated functions in libsvn_client/export.c

* subversion/libsvn_client/export.c

(copy_one_versioned_file): Use a provided wc_ctx to call the new APIs.

(svn_client_export4): Optionally create, and then use, a working copy


Propagate use of the wc_context when adding files in libsvn_client. This

also removes the use of a couple of deprecated svn_wc functions.

* subversion/libsvn_client/add.c

(svn_client__get_auto_props): Use a wc_context to interact with the new

prop setting API.

(add_dir_recursive): Use a provided wc_context in place of creating our own.

(add): Take a wc_context parameter to properly propogate.

(svn_client_add4): If not provided a wc_context, create one for use.

More deprecated function updates.

* subversion/svnserve/main.c

(main): Remove the last calls to svn_path_get_absolute(), and use

svn_dirent_get_absolute() instead.

Fix yet more deprecation warnings with svn_path_internal_style().

* subversion/svndumpfilter/main.c




Replace all calls to svn_path_internal_style() with relevant svn_dirent or

svn_uri variants.

Add a few include files to remove some declaration-duplicated warnings.

(I'd still like to know why these warnings are header-file-include-order

dependent. Kinda makes me a bit wary.)

* subversion/libsvn_fs_util/fs-util.c,


Include svn_dirent_uri.h before svn_path.h.

* subversion/include/private/svn_fs_util.h:

Include svn_path.h after svn_dirent_uri.h.

* STATUS: Vote for r38311.
* STATUS: Add r38311 to the r38279 group.

* subversion/libsvn_fs_fs/fs_fs.c

(svn_fs_fs__change_txn_props): Remove unused variable.

Fix yet more deprecation warnings with svn_path_local_style().

(Does it never end?!?)

* subversion/libsvn_ra/compat.c,










Replace all calls to svn_path_local_style() with relevant svn_dirent or

svn_uri variants.

Update deprecated calls to svn_mergeinfo_{remove,intersect} and slightly

tighten our memory footprint while we're at it.

* subversion/libsvn_wc/props.c


* subversion/libsvn_client/merge.c

(split_mergeinfo_on_revision, filter_self_referential_mergeinfo,


Remove use of svn_mergeinfo_remove() and svn_mergeinfo_intersect().