subversion

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

Changeset 1866581 is being indexed.

* STATUS: Vote for and approve r1865266.

* STATUS: Nominate r1866425 (mod_dav_svn: Set Last-Modified response header

for 'external' GET requests.)

* COMMITTERS: Add myself as a full committer.

mod_dav_svn: Set Last-Modified response header for 'external' GET requests

(i.e. requests to URI's not under /!svn). This partially reverts r1724790

which removed it for all GET requests, for performance reasons (however, for

external requests the Last-Modified header is needed for certain use cases).

See this thread on dev@:

https://lists.apache.org/thread.html/51f4f1fb5363c1d1c393f6ab769b12b9c7914af583fc333c652306d0@%3Cdev.subversion.apache.org%3E

Date: 2019/09/02 14:20:16 GMT

From: Johan Corveleyn

To: Subversion dev list

Subject: Re: Last-Modified HTTP header in GET responses

Message-ID: <CAB84uBX4dNCsbaOn1Dzy0N3CB4rfC0_ZVCZ_TpVikt+p1zMGNg@mail.gmail.com>

Review by: brane

* subversion/mod_dav_svn/repos.c

(get_last_modified): New function (reverted its removal in r1724790).

(set_headers): Set Last-Modified response header for 'external' requests.

* subversion/tests/cmdline/mod_dav_svn_tests.py

(last_modified_header): New test.

Use more of the new _safe variants of canonicalization functions.

This commit converts all relevant function calls in libsvn_repos.

* subversion/libsvn_repos/commit.c

(add_file_or_directory, delete_entry, open_directory, open_file): Use

svn_relpath_canonicalize_safe() instead of svn_relpath_canonicalize().

* subversion/libsvn_repos/delta.c

(svn_repos_dir_delta2): Use svn_relpath_canonicalize_safe() instead of

svn_relpath_canonicalize().

* subversion/libsvn_repos/dump.c

(make_dir_baton): Convert to return an svn_error_t and use

svn_relpath_canonicalize_safe() instead of svn_relpath_canonicalize().

(open_root, add_directory, open_directory): Update callers.

(dump_node): Use svn_relpath_canonicalize_safe() instead of

svn_relpath_canonicalize().

* subversion/libsvn_repos/dump_editor.c

(make_dir_baton): Convert to return an svn_error_t and use

svn_relpath_canonicalize_safe() instead of svn_relpath_canonicalize().

(open_root, add_directory, open_directory): Update callers.

* subversion/libsvn_repos/load-fs-vtable.c

(prefix_mergeinfo_paths, make_node_baton, svn_repos_get_fs_build_parser6):

Use svn_relpath_canonicalize_safe() instead of svn_relpath_canonicalize().

Use more of the new _safe variants of canonicalization functions.

* subversion/svnserve/serve.c

(find_repos): Use svn_dirent_canonicalize_safe() instead of

svn_dirent_canonicalize().

Use more of the new _safe variants of canonicalization functions.

This commit converts relpath function calls in svnserve.

* subversion/svnserve/serve.c

(set_path, delete_path, link_path, add_lock_tokens, unlock_paths, get_file,

get_dir, update, switch_cmd, status, diff, get_mergeinfo, log_cmd,

check_path, stat_cmd, get_locations, get_location_segments, get_file_revs,

lock, lock_many, unlock, unlock_many, get_lock, get_locks, get_deleted_rev,

get_inherited_props, list, find_repos): Use svn_relpath_canonicalize_safe()

instead of svn_relpath_canonicalize().

In 'staging': Tweak presentation of voting requirements.
Introduce more use of the new _safe variants of canonicalization functions.

This commit converts uri function calls in svnserve; more to follow.

* subversion/svnserve/serve.c

(canonicalize_access_file, link_path, reparent, switch_cmd, diff,

construct_server_baton): Call svn_uri_canonicalize_safe() instead

of svn_uri_canonicalize().

* tools/dev/unix-build/Makefile.svn: Use a working URL for junit jar file.

* tools/buildbot/bb-openbsd/svnbuild.sh: Pre-fetch distfiles before building.

* tools/dev/unix-build/Makefile.svn: Use working URL to fetch bzip2-1.0.6.

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'.
* tools/dev/unix-build/Makefile.svn: URL to Cyrus SASL distfile has moved.

* tools/buildbot/slaves/bb-openbsd/svnbuild.sh,

tools/buildbot/slaves/bb-openbsd/svnclean.sh: Make these scripts more

resilient against missing files after buildslave system reboot.

Add a test for SVN-4827, svn x-shelve checksum mismatch.

* subversion/tests/cmdline/shelf_tests.py

(shelve_with_kw_translation): New test.

(test_list): Run it.

* build/generator/gen_base.py

(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

hidden.

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

hidden.

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

* subversion/libsvn_subr/opt.c

(print_command_info3,

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/backport.pl

[Accidental change; reverted in 1866189.]

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

(#release-stabilization-how-many-votes): Simplify.

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

(#release-stabilization): Fix broken link.

* docs/community-guide/releasing.part.html: Use markup.
* docs/community-guide/releasing.part.html

(#release-stabilization): Mention nominate.pl and backport.pl interactive mode.

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

(#release-stabilization): Remove a paragraph.

"Vote if consensus fails" is the default; it needn't be spelled out.