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

Changeset 997471 is being indexed.

For issue #3709 ("Inconsistency between "svn list" and "svn

checkout"), ignore authz errors raised when recursing.

* subversion/libsvn_client/list.c

(get_dir_contents): Catch and ignore SVN_ERR_RA_NOT_AUTHORIZED and

SVN_ERR_RA_DAV_FORBIDDEN errors returned from the server.

In svnserve, rather than assuming that an error chain slated for

transmission to the client has but one wrapping error of the

SVN_ERR_RA_SVN_CMD_ERR variety, just skip all such wrappers in the

chain when picking the right error data to transmit.

This is the server-side counterpart, of sorts, to r997457.

* subversion/libsvn_ra_svn/ra_svn.h

(svn_ra_svn__locate_real_error_child): New.

* subversion/libsvn_ra_svn/marshal.c

(svn_ra_svn__locate_real_error_child): New.

(svn_ra_svn_handle_commands2): Use svn_ra_svn__locate_real_error_child().

* subversion/libsvn_ra_svn/editorp.c

(svn_ra_svn_drive_editor2): Use svn_ra_svn__locate_real_error_child().

It seems svnserve can sometimes send errors across the wire that

include links of its special SVN_ERR_RA_SVN_CMD_ERR wrapper variety.

There's a server fix (or more...) to made here, but in the meantime,

make the client ignore those error chain links and return the real

meat of the error chain instead.

* subversion/libsvn_ra_svn/marshal.c

(svn_ra_svn__handle_failure_status): Skip over error links in the

chain sent by the server that aren't supposed to be there and

tell us nothing.

On the atomic-revprop branch, merge r995843 through r997404 from trunk.
    • ?
  1. … 45 more files in changeset.
* subversion/libsvn_wc/wc-metadata.sql

(BASE_NODE): Another tweak to the overview comments.

* subversion/libsvn_wc/wc-metadata.sql

(BASE_NODE): Tweak the overview comments, especially correcting

the description of presence==incomplete.

* STATUS: Remove r991973 from nominations, it was already approved and

merged in r997283.

* subversion/tests/libsvn_wc/wc_db.c

(insert_base_node): Bind the dav cache for SVN_WC__NODES.

* subversion/bindings/javahl/native/SVNClient.cpp

(patch): Fix the build by providing the correct number of parameters.

Add a comment that this should probably be parameterized in the future.

* subversion/include/svn_error_codes.h

(SVN_ERR_WC_NOT_WORKING_COPY): Add a link in the docstring.

(SVN_ERR_WC_NOT_DIRECTORY): Make doxygen recognize this docstring.

* subversion/include/svn_client.h:

Move some comments to the appropriate location (to prevent them from causing

problems elsewhere).

* subversion/libsvn_wc/wc-metadata.sql

(NODES): Add a couple of paragraphs explaining 'op_depth'.

Fix an SVN_WC__NODES query.

* subversion/tests/libsvn_wc/wc_db.c

(commit_node): Don't bind new_dav_cache to symlink_target.

*STATUS: Remove merged item.

Remove the 1.6.x-issue3700 branch, reintegrated in r997283.

Reintegrate the 1.6.x-issue3700 branch:

* r991973

Fix issue #3700, "commit with --depth=empty can corrupt 1.6.x working copy"


Corrupted working copies are evil.


This is a 1.6.x-only fix, trunk isn't affected.

The branch is ^/subversion/branches/1.6.x-issue3700


+1: stsp, hwright, stylesen

* CHANGES: Tweak wording in two 1.6.13 items.

Review by: hwright

On the '1.6.x' branch:

* STATUS: Vote for r991973 and move it to approved changes.


(1.6.13): New, with merges from trunk.

Merge r984928, r984931 from trunk:

* r984928, r984931

Fix an URL canonicalization assertion seen in the wild (


r984928 is the main fix.

r984931 is an obvious fix (edits a comment).


+1: danielsh, jerenkrantz, hwright

Remove the 1.6.x-r981921 branch, reintegrated in r997257.

Reintegrate the 1.6.x-r981921 branch:

* r981921

fsfs: make rev files read-only.


They should never be changed. Revprop edits are one suspected cause of

rev file corruption; this *may* (total guess) prevent the corruption.


Backport branch:



+1: danielsh, jerenkrantz, hwright

Remove the 1.6.x-r979045 branch, reintegrated in r997252.

Reintegrate the 1.6.x-r979045 branch:

* r979045

Teach mod_dav_svn to pass a base_checksum to libsvn_ra_neon's update

editor. This enhances the early detection of broken working copies,

which is good for general stability.


While this is technically a protocol change it is fully forward

and backwards compatible as it adds passing of an optional string.

Even if we don't add this to 1.6.x, 1.6.x will see the string when

connecting to newer servers and not parsing the value just makes

the working copy less stable. There are no API changes.

Trivial stability fix.




The mod_dav_svn change needs a small backport fix as the brigade

functions are not available in 1.6.


+1: rhuijben, jerenkrantz, hwright

Add an --old-patch-target-names option to svn patch.

This option is useful in two cases:

1) A patch contains names like

--- foo.c


and should be applied to foo.c.

2) A patch contains names like

--- foo.c.orig

+++ foo.c

and should be applied in reverse to foo.c, e.g. to undo prior application

of the patch.

* subversion/svn/cl.h

(svn_cl__opt_state_t): New field old_patch_target_names.

* subversion/svn/main.c

(svn_cl__longopt_t): New field old_patch_target_names.

(svn_cl__options): Add --old-patch-target-names option (which has the

beautiful alias --optn), and hint at it in the documentation of the

--reverse-diff option.

(svn_cl__cmd_table): Add the --old-patch-target-names option to svn patch.

(main): Evaluate --old-patch-target-names option.

* subversion/include/svn_client.h

(svn_client_patch): Add and document new parameter old_patch_target_names.

* subversion/libsvn_client/patch.c

(init_patch_target): Add and document new parameter old_patch_target_names,

and pass the old or the new target name to resolve_target_path(), depending

on this parameter.

(apply_one_patch): Add and document new parameter old_patch_target_names,

and pass it on to init_patch_target().

(apply_patches_baton_t): Add new field old_patch_target_names.

(apply_patches): Pass old_patch_target_names from baton to apply_one_patch().

(svn_client_patch): Add new parameter old_patch_target_names, and stash

it into the apply_patches baton.

* subversion/tests/libsvn_client/client-test.c,


(svn_cl__patch, test_patch): Adjust svn_client_patch() callers.

* subversion/tests/cmdline/

(patch_old_target_names, test_list): New test.

Merge r959760 from trunk:

* r959760

Fix the FSFS lock deletion code to properly clean up lock information

instead of allowing stale lock data to remain indefinitely.


Today, FSFS repositories that make use of user locks will consume

unnecessary disk space and incur unnecessary processing penalties

due to stale lock information (which is, thankfully, ignored as

irrelevant rather than escalated as an error condition).


+1: cmpilato, jerenkrantz, hwright

    • ?
* STATUS: My own personal get-out-the-vote campaign.

Revert r997228. Apparently, some of the improved error handling added in that

revision wasn't to friendly with the tests. It will require further digging,

but I'm reverting in the intrim.

JavaHL: Improve error handing when fetching the client context.

* subversion/bindings/javahl/native/SVNClient.cpp:

When fetching the client context, check for a standard Subversion error.

* subversion/bindings/javahl/native/ClientContext.h

(getContext): Return a subversion error, and add an output parameter.

* subversion/bindings/javahl/native/ClientContext.cpp

(getContext): Propogate encountered subvesion errors, rather than

attempt to handle them.

On the javahl-ra branch:

Bring up-to-date with trunk.

    • ?
  1. … 81 more files in changeset.