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

Changeset 1835770 is being indexed.

* STATUS: Vote for gnome keyring fix.
* STATUS: Fix the auto-generated nomination text.
* STATUS: Nominate r1835760.
Fix segfault when subversion is built with gnome keyring support and keyring

password lookup fails.

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c

(password_get_gnome_keyring, password_set_gnome_keyring):

[in the SVN_HAVE_LIBSECRET version of these two functions]

Always initialize the output parameter, as required by the

svn_auth__password_get_t contract.

Found by: Jan Palus

Patch by: Jan Palus


On the '1.9.x' branch: sync 'CHANGES' from trunk through r1835753.

This overrides some merge-blocking of 1.10-related changes that was put in

place in r1800350.

* publish/docs/community-guide/releasing.part.html

(rolling-release): Add a cross-reference.

On the '1.10.x' branch: catch-up merge 'CHANGES' from trunk: 1.10.1 entries.
* CHANGES: Add changes for version 1.10.1.
On the '1.10.x' branch: catch-up merge 'CHANGES' from trunk.
Merge the r1833836 group from trunk:

* r1833836, r1833842

Fix issue #4740, "conflict resolver searches too far back ..."


The current behaviour is hard-coded to traverse all of history in

a "local missing vs incoming edit" situation. This is impractical

on repositories with a large number of revisions.

Easy fix which just runs an already existing YCA search a bit

earlier, falling back to full traversal if no YCA can be found.

User complained and provided a reproduction script:


+1: stsp, philip, jcorvel

Merge the r1830883 group from trunk:

* r1830883,r1830900,r1830901

Prune externals from excluded subtrees after 'update --set-depth=exclude'


Current behaviour is inconsistent: Setting depth to 'empty' prunes

externals while excluding a subtree does not.


+1: stsp, philip, jcorvel

+0: rhuijben (in concept, not reviewed)

Merge r1833621 from trunk:

* r1833621

Since on Windows Subversion does not handle symlinks, never check for reparse points.


Without this, shell extensions like TSVN fail with files in OneDrive on Windows.


+1: steveking, stsp, jcorvel

Merge r1811189 from trunk:

* r1811189

Reword warning message to avoid confusion: the word "nested" was interpreted

as nested <Location/> blocks in httpd.conf syntax.



Prevent user confusion.


+1: danielsh, stsp, jcorvel

* 1.9.x/STATUS: Vote for r1830883 group (externals pruning). Vote for

r1811189 (rewording <Location/> block warning), approving.

* STATUS: Vote for conflict resolver fixes: r1830083 (issue #4739) and

r1833895 (issue #4744) groups.

* STATUS: Vote for r1833836 group (conflict resolver search limit), approving.

* STATUS: Vote for r1830883 group (externals pruning), approving.

* STATUS: Vote for r1833621, approving.

Sync merge from publish to staging.
* docs/community-guide/releasing.part.html

(#tarball-signing): Update following r1835195. Improve phrasing and apply

minor corrections.

Suggested by: danielsh

Shelving: Cross-reference from 'svn shelf-diff' to 'svn diff'.

* subversion/svn/svn.c

(svn_cl__cmd_table): Add a note.

Fix 'svn shelf-diff' breakage in r1835446.

* subversion/svn/shelf-cmd.c


svn_cl__shelf_diff): Pass 'depth' and 'ignore_ancestry' arguments through.

Shelving: implement 'svn diff' on shelves.

'svn diff --cl=svn:shelf:SHELF' runs a diff on the shelf named SHELF. This

is an alternative to the 'svn shelf-diff' command. Most 'svn diff' options

are supported; --depth and --ignore-ancestry are not yet supported.

* subversion/include/private/svn_client_private.h,


(svn_client__shelf_diff): Add depth and ignore-ancestry options (not yet

supported). Constify the diff processor parameter.

(file_changed, file_deleted, file_added, diff_baton_t): Adjust for that

'const' change.

* subversion/libsvn_client/diff.c

(diff_shelf, diff_shelves): New.

(do_diff): Look for shelf diffs in the WC-WC diff case.

Remove an unused parameter.

* subversion/include/private/svn_diff_tree.h,



svn_diff__tree_processor_reverse_create): Remove 'prefix'.

* subversion/libsvn_client/conflicts.c,


subversion/libsvn_wc/deprecated.c: Update callers.

Shelving: Don't hide errors.

* subversion/libsvn_client/shelf.c

(svn_client__shelf_diff): Don't suppress all 'file not found' errors.

Shelving: implement shelf diff summary mode.

"svn shelf-diff --summarize"

* subversion/include/private/svn_client_private.h,



(svn_client__get_diff_summarize_callbacks): Move from a private to a

semi-public header file. Remove 'const' from the output parameter.

* subversion/libsvn_client/diff.c


svn_client_diff_summarize_peg2): Tweak to match that 'const' change.

* subversion/svn/cl.h,


(svn_cl__get_diff_summarize): Newly exposed API.

(svn_cl__diff): Use it.

* subversion/svn/shelf-cmd.c

(shelf_diff): Implement summary mode.

* subversion/svn/svn.c

(svn_cl__cmd_table): Add '--summarize' option to shelf-diff.

* subversion/tests/cmdline/

(shelf_diff_simple): Extend to test summary mode.

* tools/client-side/bash_completion

(_svn): Add '--summarize' option to shelf-diff.

Shelving: Implement 'svn shelf-diff', issue SVN-4745.

This is a first pass. It drives only the file methods in the diff processor

API, not the open- and close-directory methods, and not reporting changes on


* subversion/include/svn_client.h

(svn_client_shelf_export_patch): Deprecate.

* subversion/include/private/svn_client_private.h

(svn_client__get_diff_writer_unidiff): New.

(svn_client__shelf_diff): New.

* subversion/libsvn_client/diff.c

(svn_client__get_diff_writer_unidiff): New.

* subversion/libsvn_client/shelf.c

(file_changed, file_deleted, file_added): New.

(diff_baton_t, diff_visitor): Drive a diff-processor from shelved changes.

(svn_client__shelf_diff): New.

(svn_client_shelf_export_patch): Delete the body; it is deprecated and did

nothing before.

* subversion/svn/shelf-cmd.c

(shelf_diff): First obtain a diff writer. Then call the shelf-diff API,

driving that writer.

* subversion/tests/cmdline/

(shelf_diff_simple): New test.

(test_list): Run it.

* subversion/tests/cmdline/

Remove accidentally duplicated import symbols.

* subversion/libsvn_client/diff.c

(adjust_paths_for_diff_labels): Add a helpful comment.

Another step in reducing coupling between diff drivers and diff writers.

Let diff_wc_wc() anchor the diff processor API at the requested target path

always, even when it is not a directory.

* subversion/libsvn_client/diff.c

(diff_wc_wc): Always anchor at the requested target path. Remove the (now

unused) 'ddi' parameter.

(do_diff): Initialize the prefix for diff header paths here, instead.