head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.82 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.80 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.78 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.76 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.74 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.72 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.70 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.68 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.66 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.64 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.62 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.60 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.58 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.56 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.54 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.52 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.50 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.48 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.46 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.44 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.42 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.40 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.38 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.34 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.14 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.36 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.32 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.30 pkgsrc-2019Q2-base:1.1 pkgsrc-2019Q1:1.1.0.28 pkgsrc-2019Q1-base:1.1 pkgsrc-2018Q4:1.1.0.26 pkgsrc-2018Q4-base:1.1 pkgsrc-2018Q3:1.1.0.24 pkgsrc-2018Q3-base:1.1 pkgsrc-2018Q2:1.1.0.22 pkgsrc-2018Q2-base:1.1 pkgsrc-2018Q1:1.1.0.20 pkgsrc-2018Q1-base:1.1 pkgsrc-2017Q4:1.1.0.18 pkgsrc-2017Q4-base:1.1 pkgsrc-2017Q3:1.1.0.16 pkgsrc-2017Q3-base:1.1 pkgsrc-2017Q2:1.1.0.12 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.10 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.8 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.6 pkgsrc-2016Q3-base:1.1 pkgsrc-2016Q2:1.1.0.4 pkgsrc-2016Q2-base:1.1 pkgsrc-2016Q1:1.1.0.2 pkgsrc-2016Q1-base:1.1; locks; strict; comment @// @; 1.1 date 2016.03.31.09.00.39; author markd; state Exp; branches; next ; commitid YBiaeX8TVBgk3M0z; desc @@ 1.1 log @Build with subversion 1.9 https://github.com/RapidSVN/RapidSVN/issues/6 @ text @$NetBSD$ Build with subversion 1.9 https://github.com/RapidSVN/RapidSVN/issues/6 --- src/svncpp/client_ls.cpp.orig 2012-06-28 06:39:33.000000000 +0000 +++ src/svncpp/client_ls.cpp @@@@ -29,6 +29,7 @@@@ #include "svn_client.h" #include "svn_path.h" #include "svn_sorts.h" +#include "svn_version.h" //#include "svn_utf.h" // svncpp @@@@ -37,6 +38,8 @@@@ #include "svncpp/exception.hpp" +#if SVN_VER_MAJOR == 1 && SVN_VER_MINOR < 8 + static int compare_items_as_paths(const svn_sort__item_t *a, const svn_sort__item_t *b) { @@@@ -90,8 +93,75 @@@@ namespace svn } } +#else + +#include + +static svn_error_t* store_entry( + void *baton, + const char *path, + const svn_dirent_t *dirent, + const svn_lock_t *, + const char *abs_path, + const char *, + const char *, + apr_pool_t *scratch_pool) +{ + svn::DirEntries *entries = reinterpret_cast(baton); + if (path[0] == '\0') { + if (dirent->kind == svn_node_file) { + // for compatibility with svn_client_ls behaviour, listing a file + // stores that file name + entries->push_back(svn::DirEntry(svn_path_basename(abs_path, scratch_pool), dirent)); + } + } else { + entries->push_back(svn::DirEntry(path, dirent)); + } + return SVN_NO_ERROR; +} + +static bool sort_by_path(svn::DirEntry const& a, svn::DirEntry const& b) +{ + return svn_path_compare_paths(a.name(), b.name()) < 0; +} + +namespace svn +{ + DirEntries + Client::list(const char * pathOrUrl, + svn_opt_revision_t * revision, + bool recurse) throw(ClientException) + { + Pool pool; + DirEntries entries; + + svn_error_t * error = + svn_client_list3(pathOrUrl, + revision, + revision, + SVN_DEPTH_INFINITY_OR_IMMEDIATES(recurse), + SVN_DIRENT_ALL, + FALSE, // fetch locks + FALSE, // include externals + &store_entry, + &entries, + *m_context, + pool); + + if (error != SVN_NO_ERROR) + throw ClientException(error); + + std::sort(entries.begin(), entries.end(), &sort_by_path); + + return entries; + } +} + +#endif + /* ----------------------------------------------------------------- * local variables: * eval: (load-file "../../rapidsvn-dev.el") * end: */ + @