julianfoad in subversion

* tools/dist/ (main): Move '--branch' to be a global option.
* tools/dist/ Remove obsolete distinction between http and https access.
When following an HTTP redirect, use the Location header URL exactly.

Previously we canonicalized the redirect URL, which could lead to a redirect

loop. Then Subversion would report a redirect loop as the error, potentially

hiding a more interesting error such as when the target is not in fact a

Subversion repository.

A manual test case (on a non-repository):


$ svn ls

Redirecting to URL '':

Redirecting to URL '':

svn: E195019: Redirect cycle detected for URL ''


$ svn ls

Redirecting to URL '':

svn: E170013: Unable to connect to a repository at URL ''

svn: E175003: The server at '' does not support the HTTP/DAV protocol

* subversion/libsvn_ra_serf/options.c

(svn_ra_serf__exchange_capabilities): Don't canonicalize the redirect URL.

* subversion/libsvn_ra_serf/util.c

(response_get_location): Don't canonicalize the redirect URL.

* tools/dist/

(get_branch_path): New, factored out from several callers.

* tools/dist/

Use a global constant for archive URL so all ASF URLs are thus defined near the top of file.

* publish/index.html: Fix TM/(R) attributions on 'Apache Subversion'.
* publish/site-nav.html

Move 'binary packages' above 'source download' as a tiny recognition of

what I suppose are the most common needs.

* publish/site-nav.html: Add a link to 'Source Code' page in nav menu.
* publish/source-code.html

(#source-svn): un-linkify the ASF repo root, as not useful here.

Add a hint about mod_dav_svn misconfiguration.

* subversion/mod_dav_svn/mod_dav_svn.c

(merge_dir_config): When warning about an overlapping configuration,

if the two configuration blocks are for the same URL then hint that

the problem may be including the same config twice.

* tools/dist/ Add tool versions for 1.13 (same as 1.10 ... 1.12).
In 'staging': Tweak presentation of voting requirements.
In 'staging': Require only one +1 vote for non-LTS backports.
In 'Stabilizing and maintaining releases': merge clarifications from 'staging'.
Catch-up merge from 'publish' to 'staging'.
Add a test for SVN-4827, svn x-shelve checksum mismatch.

* subversion/tests/cmdline/

(shelve_with_kw_translation): New test.

(test_list): Run it.

* build/generator/

(TargetExe.add_dependencies): Add 'svnmover' as another special case,

so 'make davautocheck' will work correctly without 'make svnmover'

or 'make tools' having been run before it.

Found by: danielsh

Issue #4828: by default, hide global options too.

* subversion/libsvn_subr/opt.c

(print_command_info3, subcommand_help): Let 'verbose' apply to global options a well.

* subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout

Adjust expected help output.

Issue #4828: update test expectations, following r1866272.
Issue #4828: remind user they can use '-v' to show experimental subcommands.

* subversion/libsvn_subr/opt.c

(print_generic_help_body3): Show a reminder if experimental subcommands were


Issue #4828: remind user they can use '-v' to show experimental options.

* subversion/libsvn_subr/opt.c

(print_command_info3): Show a reminder if experimental options were


* tools/dist/ Revert accidental change made in r1866188.
Issue #4828, Hide experimental commands and options by default.

* subversion/libsvn_subr/opt.c


print_generic_help_body3): Show commands and options starting with

'x-' only if new 'with_experimental' option is true.

(print_generic_help): Extracted from 'svn_opt_print_generic_help3', to

take the new 'with_experimental' option.

(subcommand_help): Extracted from 'svn_opt_subcommand_help4', to

take the new 'with_experimental' option.

(svn_opt_print_help5): Let the 'verbose' option control 'with

experimental', when printing help. The 'verbose' option previously was

not used here except for the case of printing version info.

* subversion/svn/svn.c

Let 'help' take the '-v' option.

* subversion/tests/cmdline/getopt_tests_data/svn_help_stdout

* subversion/tests/cmdline/getopt_tests_data/svn--help_stdout

Adjust the expected output.

* tools/dist/

[Accidental change; reverted in 1866189.]

* CHANGES: Fill in changes for upcoming release 1.13.0.
Publish some info on how we handle security issues.

Moved from:

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

(#security): Point to information. Add sub-headings.

* publish/docs/community-guide/how-to-roll-releases-in-private.txt

New, extracted from the README.

* STATUS: Declare 1.11.x as 'CLOSED'.
* subversion/svnserve/serve.c

(construct_server_baton): Report some errors that we previously ignored.

Follow-up to r1865929: Change test to XFail, adding issue number.
Follow-up to r1865929: Restore Windows compatibility in test.
Add a test for issue #4826, diff repos-wc non-infinite depth uses wrong depth.