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

Changeset 1850351 is being indexed.

Merge r1850348 (bump the copyright year) onto 1.10.x.
Merge r1850348 (bump the copyright year) onto 1.9.x.
Happy new year, 2019.


* subversion/libsvn_subr/version.c (svn_version_extended):

Bump copyright year to 2019.

* subversion/include/svn_opt_impl.h,

subversion/include/svn_types_impl.h: Fix file-level docstrings.

Move (some of the) standalone types into separate implementation headers

so that SVN++ can use them directly without exposing APR or other dependencies.

* subversion/include/svn_opt_impl.h: New file.

(svn_opt_revision_kind): Moved here from svn_opt.h

* subversion/include/svn_opt.h: Include svn_opt_impl.h.

(svn_opt_revision_kind): Moved away.

* subversion/include/svn_types_impl.h: New file.

(svn_error_t): Forward declaration.

(svn_node_kind_t, svn_tristate_t,

svn_revnum_t, SVN_INVALID_REVNUM, svn_depth_t): Moved here from svn_types.h.

* subversion/include/svn_types.h: Include svn_types_impl.h.

(svn_node_kind_t, svn_tristate_t,

svn_revnum_t, SVN_INVALID_REVNUM, svn_depth_t): Moved away.

[in subversion/bindings/cxx]

* include/svnxx/depth.hpp: Include svn_types_impl.h.

(depth): Define enum constant values from svn_depth_t.

* include/svnxx/exception.hpp: Include svn_types_impl.h.

(detail::svn_error): Remove forward declaration.

(detail::error_ptr): Use svn_error_t directly.

* include/svnxx/revision.hpp: Include svn_opt_impl.h and svn_types_impl.h.

(revision::number): Use svn_revnum_t for the underlying type and

SVN_INVALID_REVNUM for the 'invalid' enum constant value.

(revision::kind): Define enum constant values from svn_opt_revision_kind.

* include/svnxx/tristate.hpp: Include svn_types_impl.h.

(tristate::value): Define enum constant values from svn_tristate_t.

* src/exception.cpp

(detail::svn_error): Removed.

(impl::checked_call): Use svn_error_t instead of detail::svn_error.

    • ?
    • ?
* CHANGES: Add skeleton sections for upcoming 1.9 1.10 1.11 patch releases.
* upcoming.part.html: Automatically regenerated
* tools/ Make the links open in the '_parent' context, since this

script's output is embedded into an iframe.

Found by: markphip

* docs/release-notes/index.html: Add another todo.
[in staging]

* docs/release-notes/index.html

(#upcoming-patch-release): Add the merges since 1.11.0 (currently, a rough sketch).

* upcoming.part.html: Automatically regenerated
* tools/ Annotate the generated output as such.
* upcoming.part.html: Automatically regenerated
* tools/,

* tools/ New scripts, to be used in generating 'svn log' filtered

to show merges only. See dev@ thread:


Subject: Display outstanding backported fixes for each release?

Sync-merge publish into staging
    • ?
* Use the POSIX string equality operator.

On my system, that's required:


% sh -c 'test x == y; echo $?'

sh: 1: test: x: unexpected operator



% sh -c 'test x = y; echo $?'



On branch swig-py3: Fix macro usage to distinguish py2 and py3 context.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

Include "swigutil_py3c.h" file before define SVN_SWIG_BYTES_FMT to use

IS_PY3 macro to switch py2 and py3 context.

(add_directory, add_file, apply_textdelta, change_file_prop,

close_file, parse_fn3_set_revision_property,

parse_fn3_set_node_property, svn_swig_py_notify_func,

svn_swig_py_notify_func, svn_swig_py_delta_path_driver_cb_func,

svn_swig_py_repos_authz_func, svn_swig_py_log_receiver,





ra_callbacks_get_wc_prop, ra_callbacks_push_or_set_wc_prop,

ra_callbacks_invalidate_wc_props, svn_swig_py_commit_callback,

reporter_set_path, reporter_link_path,


wc_diff_callbacks2_file_deleted, wc_diff_callbacks2_dir_added,



Use IS_PY3 macro instead of comparison of PY_VERSION_HEX.

(add_directory, add_file, apply_textdelta, change_file_prop,

close_file, parse_fn3_set_revision_property,

parse_fn3_set_node_property, ra_callbacks_get_wc_prop,

ra_callbacks_push_or_set_wc_prop, ra_callbacks_invalidate_wc_props):

Enclose only format argument of Py_CallFunction or Py_CallMethod

with #if IS_PY3 #else #endif block.

Patch By: Yasuhito Futatsuki <>

* subversion/bindings/cxx/include/svnxx/revision.hpp

(revision, revision::number): Fix docstrings; no functional change.

* docs/release-notes/1.11.html

(#github-issue): Update to say the issue has been resolved.

Replace the APR array wrapper in SVN++:

- renames to apr::array from APR::Array;

- removes APR::ConstArray;

- removes array iterations and adds compliant iterators instead.

- updates all array tests.

* subversion/bindings/cxx/include/svnxx.hpp:

(SVN): Remove obsolete namespace alias.

Silence two more maintainer-mode warnings in SVN++.

* subversion/bindings/cxx/tests/test_revision.cpp

(roundtrip_conversions): Use initializer list for constructing svn::revision

in a context where otherwise C++ was trying to infer something strange

that I don't really understand (yet).

Move SVN++ implementation details to the 'impl' namespace, as documented.

(Affects lots of files; no functional change.)

Fix maintainer-mode warnings in SVN++, some of which were actually errors.

[in subversion/bindings/cxx]

* src/depth.cpp

(svn_depth_t convert(depth), depth convert(svn_depth_t): Cast enum values

to the appropriate type for comparison.

* src/revision.cpp

(svn_opt_revision_kind convert(revision::kind,

revision::kind convert(svn_opt_revision_kind): Likewise, and add the missing

debug-mode check for the value of svn_opt_revision_previous.

* tests/test_revision.cpp

(postconditions_kind): Remove unused local typedef.

Rename SVN++ private headers as documented. No functional change.

[in subversion/bindings/cxx]

* src/private/*_private.hpp: Renamed from *-private.hpp

* src/private.hpp,



src/aprwrap/impl.cpp: Update include paths.

* tests/test_depth.cpp,




tests/test_tristate.cpp: Update include paths.

  1. … 6 more files in changeset.
* build.conf (private-includes): Add all *.hpp files in


Adjust layout of SVN++ API internals to the documented state.

* doc/doxygen.conf (INPUT): Add new directory pattern.

[in subversion/bindings/cxx]

* include/svnxx/detail: New directory.

* include/svnxx/noncopyable.hpp: Moved from here ...

* include/svnxx/detail/noncopyable.hpp: ... to here.

Update docs and include guard.

* include/svnxx/detail/doxygen.hpp: New; document implementation details.

* src/aprwrap/pool.hpp,

src/private/init-private.hpp: Change include path of noncopyable.hpp.

* subversion/bindings/cxx/README: Document namespace use and source layout.

This change is an example of our time machine at work. Neither namespace

usage nor source layout currently follow what's documented in README.

Minor documentation tweaks in SVN++.

[in subversion/bindings/cxx/include]

* svnxx.hpp: Add @file tag. Remove C++ check.

* svnxx/depth.hp: Add @file tag. Fix comment at end of include guard.

* svnxx/exception.hpp: Add @file tag. Change the title of the

svnxx_exceptions group and add a @brief description to avoid seeing the

heading-formatted description in summary lists. Also explain that

the implementation can throw standard exceptions.

* svnxx/init.hpp: Add @file tag. Remove C++ check.

* svnxx/noncopyable.hpp: Add @file tag.

* svnxx/tristate.hpp: Add @file tag. Remove C++ check.

Tweak our Doxygen configuration to include SVN++ documentation.

* doc/doxygen.conf

(FULL_PATH_NAMES): Set to YES to generate more helpful file links.

(STRIP_FROM_PATH, STRIP_FROM_INC_PATH): Add relevant path segments.

(INPUT): Add the SVN++ include paths.

(FILE_PATTERNS): Add *.hpp.