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

Changeset 1850344 is being indexed.

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.

  1. … 8 more files in changeset.
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.

  1. … 6 more files in changeset.
Provide optional interoperability between tristate and boost::tribool in SVN++.

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

(class tristate): Add conversions to and from boost::tribool if

SVNXX_USE_BOOST is defined.

(operator&&, operator||, operator==, operator!=): Likewise, when

SVNXX_USE_BOOST is defined, provide overloads for boost::tribool.

* subversion/bindings/cxx/tests/test_tristate.cpp: When SVNXX_USE_BOOST is

defined, add a test suite for interoperability between tristate and


  1. … 1 more file in changeset.
In SVN++, move the 'unknown' predicate out of the 'tristate' class.

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

(tristate::unknown(tristate)): Removed.

(unknown(tristate)): Moved here, doesn't use private knowledge about

the tristate class.

(operator||, operator==): Use the new namespace-scope 'unknown' predicate.

* subversion/bindings/cxx/tests/test_tristate.cpp: Update all test cases to

use the 'svn::unknown(tristate)' predicate.

  1. … 1 more file in changeset.
Implement a fesh new tristate type in SVN++.

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

(class Tristate): Removed.

(class tristate): New.

(operator&&, operator||, operator==, operator!=): Logical and comparison

operators for the tristate class.

* subversion/bindings/cxx/src/private/tristate-private.hpp: New file.

(convert): New; conversions between the tristate class and svn_tristate_t.

* subversion/bindings/cxx/src/private.hpp:

- Rename include guard.

- Include private/tristate-private.hpp.

* subversion/bindings/cxx/src/tristate.cpp: Removed.

* subversion/bindings/cxx/tests/test_tristate.cpp: New.

  1. … 4 more files in changeset.
Rename the C++HL library to SVN++, renaming files, namespaces and directories.


(SVNXX_INCLUDES): Renamed and changed from CXXHL_INCLUDES.

(COMPILE_SVNXX_CXX): Renamed and changed from COMPILE_CXXHL_CXX.

* build.conf

(options.private-includes): Update C++ bindings' header paths.

(libsvnxx): Rename and update target from libsvncxxhl.

* build/generator/

(Generator.write): Use 'svnxx-' instead of 'cxxhl-' for extra-install check.

* build/generator/

(WinGeneratorBase.get_win_includes): Check for 'svnxx', not 'cxxhl'.

* subversion/bindings/cxx/: Renamed from .../bindings/cxxhl/.

* subversion/bindings/cxx/include/svnxx/: Renamed from .../include/svncxxhl/.

* subversion/bindings/cxx/include/svnxx.hpp: Renamed from .../include/svncxxhl.hpp.

* subversion/bindings/cxx/**: Rename namespaces, include paths and guards.

  1. … 20 more files in changeset.