Checkout Tools
  • last updated 25 mins ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 869241 is being indexed.

Rev the svn_ra_get_uuid and svn_ra_get_repos_root interfaces to get a

more natural API, where the pool you provide is actually meaningful

and the returned value is allocated in it as you might expect.

* subversion/include/svn_ra.h

(svn_ra_get_uuid2, svn_ra_get_repos_root2): New functions.

(svn_ra_get_uuid, svn_ra_get_repos_root): Update docstrings.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_get_uuid2, svn_ra_get_repos_root2): New functions.

(svn_ra_reparent): Use svn_ra_get_repos_root2() instead of


* subversion/libsvn_ra/compat.c,

* subversion/libsvn_client/relocate.c,

* subversion/libsvn_client/switch.c,

* subversion/libsvn_client/externals.c,

* subversion/libsvn_client/util.c,

* subversion/libsvn_client/export.c,

* subversion/libsvn_client/status.c,

* subversion/libsvn_client/info.c,

* subversion/libsvn_client/merge.c,

* subversion/libsvn_client/ra.c,

* subversion/libsvn_client/checkout.c,

* subversion/libsvn_client/copy.c,

* subversion/libsvn_client/list.c,

* subversion/libsvn_client/update.c,

* subversion/svnsync/main.c

Callers of svn_ra_get_uuid() and svn_ra_get_repos_root() changed to

call svn_ra_get_uuid2() and svn_ra_get_repos_root2(), respectively,

and now-unnecessary string dupes removed.

  1. … 16 more files in changeset.
Make svn_client__path_relative_to_root() able to return two different

flavors of output -- with and without leading slashes. Update callers

to (currently) always pass TRUE for this parameter.

* subversion/libsvn_client/client.h,

* subversion/libsvn_client/util.c

(svn_client__path_relative_to_root): Add 'include_leading_slash'

parameter, and code to honor it.

* subversion/libsvn_client/copy.c

(calculate_target_mergeinfo, wc_to_repos_copy): Update calls to


(propagate_mergeinfo_within_wc): Update call to

svn_client__path_relative_to_root(), passing repos->root, too.

(And remove a comment bemoaning the no-longer-accurate implication

that we can't do exactly this.)

* subversion/libsvn_client/list.c

(svn_client_list2): Update calls to svn_client__path_relative_to_root().

* subversion/libsvn_client/log.c

(svn_client__get_copy_source): Update calls to


* subversion/libsvn_client/merge.c

(filter_reflected_revisions, calculate_remaining_ranges,

record_mergeinfo_for_record_only_merge, do_single_file_merge,

discover_and_merge_children): Update calls to


* subversion/libsvn_client/mergeinfo.c

(svn_client_mergeinfo_get_merged): Update calls to


  1. … 6 more files in changeset.
Housekeeping: In the spirit of r26317, remove trailing whitespace in our


(This touches files in various and sundry parts of the tree, which I shan't

enumerate here.)

  1. … 93 more files in changeset.
Follow up r27436: fix switch over ra_dav. Switch requires both the switch url

and the working copy to open an ra_session.

* subversion/libsvn_client/client.h

(svn_client__ra_session_from_path): add base_access parameter.

* subversion/libsvn_client/ra.c

(svn_client__ra_session_from_path): add base_access parameter. Use it to

provide more information to the svn_client__open_ra_session_internal call.

* subversion/libsvn_client/switch.c

(svn_client__switch_internal): provide the adm_access baton of the working

copy to open the ra_session.

* subversion/libsvn_client/util.c

(svn_client__get_repos_root): update call to svn_client__ra_session_from_path,

pass NULL for base_access...

* subversion/libsvn_client/export.c

(svn_client_export4): ..

* subversion/libsvn_client/info.c

(svn_client_info2): ..

* subversion/libsvn_client/prop_commands.c

(svn_client_propget4, svn_client_proplist3): ..

* subversion/libsvn_client/checkout.c

(svn_client__checkout_internal): ..

* subversion/libsvn_client/cat.c

(svn_client_cat2): ..

* subversion/libsvn_client/list.c

(svn_client_list2): ..

* subversion/libsvn_client/blame.c

(svn_client_blame4): ..

* subversion/libsvn_client/log.c

(svn_client__get_copy_source, svn_client_log4): ... and here.

  1. … 11 more files in changeset.
Change names of depth<->recurse conversion macros, update documentation.

Part of issue #2951.

* subversion/include/svn_types.h







or inline code...

...everywhere, as appropriate.

* subversion/include/svn_ra.h

(svn_ra_do_update, svn_ra_do_switch, svn_ra_do_status, svn_ra_do_diff2):

Document previously undocumented conversion of recurse to depth,

mainly so it's clear that 'status' is exceptional.

* subversion/include/svn_client.h

(svn_client_status2, svn_client_info, svn_client_propset2,

svn_client_propget3): Fix documentation of how recurse converts to depth.

* subversion/include/svn_wc.h

(svn_wc_get_status_editor2): Same.

  1. … 34 more files in changeset.
Channeling Erik Hülsmann, remove all trailing whitespace within our source


for extsn in c h cpp java py pl rb; do

sed -i -e 's/[ \t]*$//' `find . -name "*.$extsn" | xargs grep '[ \t]$' -l`


Inspired by: ehu

  1. … 449 more files in changeset.
* subversion/libsvn_client/list.c

(svn_client_list): Follow up to r24529 with a comment and a

formatting simplification.

A follow-up to r24510, fixing the semantics of svn_client_list() API

to equate non-recursive with svn_depth_immediates (rather than

svn_depth_files), thus retaining compatibility with previous behavior.

* subversion/libsvn_client/list.c

(svn_client_list): Explicitly convert RECURSE to depth, rather than

using the SVN_DEPTH_FROM_RECURSE() macro, which equates

non-recursive with svn_depth_files.

Found by: markphip


Follow-up to r24510.

* subversion/libsvn_client/list.c

(svn_client_list): Call svn_client_list2, not svn_client_list, thus avoiding

an infinite recursion.

Follow up to r24510 with a fixlet:

* subversion/libsvn_client/list.c

(get_dir_contents): Return SVN_NO_ERROR, not void.

Upgrade svn_client_list() with recurse to svn_client_list2() with depth.

* subversion/include/svn_client.h

(svn_client_list2): New declaration.

(svn_client_list): Deprecate.

(svn_client_list_func_t): Tweak documentation.

* subversion/libsvn_client/list.c

(svn_client_list2): Define, using body of old svn_client_list.

(svn_client_list): Implement as wrapper around svn_client_list2.

(get_dir_contents): Take depth instead of recurse, adjust accordingly.

* subversion/svn/list-cmd.c

(print_dirent, print_dirent_xml): When verbose, print this-dir

entry instead of ignoring it.

(svn_cl__list): Call svn_client_list2 now.

* notes/sparse-directories.txt: Remove this item from the todo list.

  1. … 3 more files in changeset.
Merge the merge-tracking branch to trunk.

See notes/merge-tracking.txt for work remaining. Copy test #11,

"working-copy to repository copy", is known to be failing over ra_dav.

A fix has been outlined, and it will be coded up ASAP.

  1. … 85 more files in changeset.
A follow-up to r23204, fixing breakage in repos_diff.c, and tweaking

usage of sub-pools.

[ in subversion/libsvn_client/ ]

* repos_diff.c

(svn_client__get_diff_editor): Don't destroy local variable

"subpool", as it's managed by our edit baton.

* externals.c

(switch_external): Add inline comment asking why we don't pass a

sub-pool to svn_client__update_internal().

* list.c

(get_dir_contents): Rename local variable "subpool" to "iterpool",

as per our conventions.

Found by: lgo

  1. … 2 more files in changeset.
Destroy the APR subpool before every successful return statement.

[in subversion/libsvn_client/]

* delete.c


* repos_diff.c


* externals.c


* list.c


Destroy the APR subpool before returning successfully to prevent

iterative pool creation.

Approved by: dlr

Patch by: me

  1. … 3 more files in changeset.
cancelation -> cancellation.

* subversion/libsvn_ra_dav/util.c

* subversion/libsvn_delta/cancel.c

* subversion/libsvn_client/list.c

Make sure we spell "cancellation" the same way everywhere. :-)

Found by: Ed Price <ed.price{_AT_}>

  1. … 2 more files in changeset.
1.4.x API: Fix svn_ra_get_dir2() to obey output parameters convention,

and also fix the underlying vtable implementation.

Re-order parameters:

* subversion/libsvn_ra/ra_loader.h (svn_ra_get_dir2)

* subversion/libsvn_ra/ra_loader.c (svn_ra_get_dir2)

* subversion/libsvn_ra_local/ra_plugin.c (svn_ra_local__get_dir)

* subversion/libsvn_ra_serf/serf.c (svn_ra_serf__get_dir)

* subversion/libsvn_ra_svn/client.c (ra_svn_get_dir)

* subversion/libsvn_ra_dav/ra_dav.h (svn_ra_dav__get_dir)

* subversion/libsvn_ra_dav/fetch.c (svn_ra_dav__get_dir)

Adjust calls to RA_VTABLE.get_dir():

* subversion/libsvn_ra/wrapper_template.h (compat_get_dir)

* subversion/libsvn_ra/ra_loader.c (svn_ra_get_dir, svn_ra_get_dir2)

Adjust calls to svn_ra_get_dir2():

* subversion/libsvn_client/repos_diff.c (get_dirprops_from_ra)

* subversion/libsvn_client/info.c (push_dir_info, svn_client_info)

* subversion/libsvn_client/prop_commands.c (remote_propget, remote_proplist)

* subversion/libsvn_client/list.c (get_dir_contents, svn_client_list)

  1. … 12 more files in changeset.
Make svn_client_list (new in 1.4.x) use the usual convention for the

placement of the client context object.

Note that this must be merged back to 1.4.x before it is released, or

we will have to revert it for compatibility reasons.

* subversion/include/svn_client.h

(svn_client_list): Move the ctx argument to second to last.

* subversion/libsvn_client/list.c

(svn_client_list): Adjust argument order.

(svn_client_ls3): Update call to svn_client_list.

* subversion/svn/list-cmd.c

(svn_cl__list): Update call to svn_client_list.

* subversion/bindings/swig/ruby/svn/client.rb

(Svn::Client::Context#list): Update call to Client.list.

  1. … 3 more files in changeset.
Fix typos in comments.

* subversion/libsvn_fs_base/notes/structure

Typo fix from Kamesh Jayachandran <>.

* subversion/libsvn_repos/dump.c

Pronunciation consistency fix from Ed Price <>.

* subversion/libsvn_repos/load.c

Move a doc string from inside to just before the function.

* subversion/libsvn_subr/path.c

Delete an obsolete comment.

* subversion/include/svn_io.h

* subversion/include/svn_repos.h

* subversion/include/svn_utf.h

* subversion/libsvn_client/client.h

* subversion/libsvn_client/list.c

* subversion/libsvn_fs_fs/revs-txns.c

* subversion/libsvn_wc/adm_files.c

Fix typos.

  1. … 10 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. … 365 more files in changeset.
Fix a lifetime issue with the old svn_client_ls functions.

* subversion/libsvn_client/list.c

(store_dirent): Copy the path into the correct pool before using

it as the hash key.

Fix issue #1809: Replace svn_client_ls and make recursive ls streamy. Make it

possible to determine if the target of an svn_client_list is a file or

directory by always including the listed target dirent in the result.

* subversion/include/svn_types.h (svn_dirent_t): Add note about extending the


(svn_dirent_dup): New function.

* subversion/include/svn_client.h

(svn_client_list_func_t): New typedef.

(svn_client_list): Rename from svn_client_ls4 and change the arguments

to use a callback instead of putting everything in hash tables.

(svn_client_ls3): Expand docstring.

* subversion/libsvn_subr/constructors.c (svn_dirent_dup): New function.

* subversion/libsvn_client/list.c: Rename from ls.c.

(get_dir_contents): Call callback instead of putting things in hashes.

Add docstring.

(svn_client_list): Rename from svn_client_ls4 and use callback instead of

hashes. Report the dirent for the target of the operation for both files

and directories.

(ls_baton, store_dirent): New.

(svn_client_ls3): Rewrite in terms of svn_client_list.

* subversion/svn/cl.h

(svn_cl__list): Rename from svn_cl__ls.

* subversion/svn/list-cmd.c: Rename from ls-cmd.c.

(print_baton): New struct.

(print_dirent): Rename from print_dirents, implement svn_client_list_func_t.

Print one dirent.

(print_dirent_xml): Rename from print_dirents_xml, implement

svn_client_list_func_t. Remove useless comments. Print one dirent.

(svn_cl__list): Rename from svn_cl__ls; caller updated.

Use new svn_client_list. Print XML element list here if in XML mode.

Refactor two nested if statements into one.

  1. … 8 more files in changeset.