svn commit: r1885965 - in /subversion/branches/1.10.x: ./ STATUS subversion/tests/cmdline/merge_tests.py
Author: svn-role Date: Thu Jan 28 04:00:24 2021 New Revision: 1885965 URL: http://svn.apache.org/viewvc?rev=1885965&view=rev Log: Merge the r1881985 group from trunk: * r1881985, r1882105 Follow up to r1880192: Fix an EOL issue in test on Windows. Justification: We should test correctly on Windows environment, too. Depends: r1880192 Votes: +1: jcorvel, stsp, hartmannathan Modified: subversion/branches/1.10.x/ (props changed) subversion/branches/1.10.x/STATUS subversion/branches/1.10.x/subversion/tests/cmdline/merge_tests.py Propchange: subversion/branches/1.10.x/ -- Merged /subversion/trunk:r1881985,1882105 Modified: subversion/branches/1.10.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1885965&r1=1885964&r2=1885965&view=diff == --- subversion/branches/1.10.x/STATUS (original) +++ subversion/branches/1.10.x/STATUS Thu Jan 28 04:00:24 2021 @@ -48,12 +48,3 @@ Veto-blocked changes: Approved changes: = - - * r1881985, r1882105 - Follow up to r1880192: Fix an EOL issue in test on Windows. - Justification: - We should test correctly on Windows environment, too. - Depends: - r1880192 - Votes: - +1: jcorvel, stsp, hartmannathan Modified: subversion/branches/1.10.x/subversion/tests/cmdline/merge_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/tests/cmdline/merge_tests.py?rev=1885965&r1=1885964&r2=1885965&view=diff == --- subversion/branches/1.10.x/subversion/tests/cmdline/merge_tests.py (original) +++ subversion/branches/1.10.x/subversion/tests/cmdline/merge_tests.py Thu Jan 28 04:00:24 2021 @@ -18669,11 +18669,18 @@ def merge_deleted_folder_with_mergeinfo_ ) # verify that mergeinfo is set/changed on A/D, A/D/G, A/D/G2. + + # NOTE: When writing out multi-line prop values in svn:* props, the + # client converts to local encoding and local eol style. + # Therefore, the expected output must contain the right kind of eoln + # strings. That's why we use os.linesep in the tests below, not just + # plain '\n'. + expected_mergeinfo = [ ('A', ['/branch_A:3-7']), -('A/D', ['/branch_A/D:5-7\n', '/branch_B/C:1*']), -('A/D/G', ['/branch_A/D/G:5-7\n', '/branch_B/C/G:1*']), -('A/D/G2', ['/branch_A/D/G2:5-7\n', '/branch_B/C/G2:1*']), +('A/D', ['/branch_A/D:5-7'+os.linesep, '/branch_B/C:1*']), +('A/D/G', ['/branch_A/D/G:5-7'+os.linesep, '/branch_B/C/G:1*']), +('A/D/G2', ['/branch_A/D/G2:5-7'+os.linesep, '/branch_B/C/G2:1*']), ] for path, mergeinfo in expected_mergeinfo: svntest.actions.check_prop('svn:mergeinfo', sbox.ospath(path),
svn commit: r1885964 - in /subversion/branches/1.10.x: ./ STATUS subversion/libsvn_client/merge.c subversion/tests/cmdline/merge_tests.py
Author: svn-role Date: Thu Jan 28 04:00:18 2021 New Revision: 1885964 URL: http://svn.apache.org/viewvc?rev=1885964&view=rev Log: Merge r1880192 from trunk: * r1880192 Fix issue #4862 "Merge: the resulting mergeinfo is non-deterministic". Justification: Non-deterministic merge result is bad. Depends: r1878997, r1879192, r1879474, r1879959 (Fix issue #4859) Votes: +1: julianfoad, stsp, jcorvel Modified: subversion/branches/1.10.x/ (props changed) subversion/branches/1.10.x/STATUS subversion/branches/1.10.x/subversion/libsvn_client/merge.c subversion/branches/1.10.x/subversion/tests/cmdline/merge_tests.py Propchange: subversion/branches/1.10.x/ -- Merged /subversion/trunk:r1880192 Modified: subversion/branches/1.10.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1885964&r1=1885963&r2=1885964&view=diff == --- subversion/branches/1.10.x/STATUS (original) +++ subversion/branches/1.10.x/STATUS Thu Jan 28 04:00:18 2021 @@ -49,15 +49,6 @@ Veto-blocked changes: Approved changes: = - * r1880192 - Fix issue #4862 "Merge: the resulting mergeinfo is non-deterministic". - Justification: - Non-deterministic merge result is bad. - Depends: - r1878997, r1879192, r1879474, r1879959 (Fix issue #4859) - Votes: - +1: julianfoad, stsp, jcorvel - * r1881985, r1882105 Follow up to r1880192: Fix an EOL issue in test on Windows. Justification: Modified: subversion/branches/1.10.x/subversion/libsvn_client/merge.c URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/libsvn_client/merge.c?rev=1885964&r1=1885963&r2=1885964&view=diff == --- subversion/branches/1.10.x/subversion/libsvn_client/merge.c (original) +++ subversion/branches/1.10.x/subversion/libsvn_client/merge.c Thu Jan 28 04:00:18 2021 @@ -7875,18 +7875,23 @@ process_children_with_new_mergeinfo(merg apr_pool_t *pool) { apr_pool_t *iterpool; - apr_hash_index_t *hi; + apr_array_header_t *a; + int i; if (!merge_b->paths_with_new_mergeinfo || merge_b->dry_run) return SVN_NO_ERROR; /* Iterate over each path with explicit mergeinfo added by the merge. */ + /* Iterate over the paths in a parent-to-child order so that inherited + * mergeinfo is propagated consistently from each parent path to its + * children. (Issue #4862) */ + a = svn_sort__hash(merge_b->paths_with_new_mergeinfo, + svn_sort_compare_items_as_paths, pool); iterpool = svn_pool_create(pool); - for (hi = apr_hash_first(pool, merge_b->paths_with_new_mergeinfo); - hi; - hi = apr_hash_next(hi)) + for (i = 0; i < a->nelts; i++) { - const char *abspath_with_new_mergeinfo = apr_hash_this_key(hi); + svn_sort__item_t *item = &APR_ARRAY_IDX(a, i, svn_sort__item_t); + const char *abspath_with_new_mergeinfo = item->key; svn_mergeinfo_t path_inherited_mergeinfo; svn_mergeinfo_t path_explicit_mergeinfo; svn_client__merge_path_t *new_child; Modified: subversion/branches/1.10.x/subversion/tests/cmdline/merge_tests.py URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/tests/cmdline/merge_tests.py?rev=1885964&r1=1885963&r2=1885964&view=diff == --- subversion/branches/1.10.x/subversion/tests/cmdline/merge_tests.py (original) +++ subversion/branches/1.10.x/subversion/tests/cmdline/merge_tests.py Thu Jan 28 04:00:18 2021 @@ -18639,12 +18639,12 @@ def merge_deleted_folder_with_mergeinfo_ 'A/D/G2' : Item(status='A '), }) # verify that mergeinfo is set/changed on A/D, A/D/G, A/D/G2. - #expected_mergeinfo_output = wc.State(sbox.ospath(''), { - # 'A' : Item(status=' U'), - # 'A/D': Item(status=' G'), - # 'A/D/G' : Item(status=' G'), # varies, G or U: see issue #4862 - # 'A/D/G2' : Item(status=' G'), # varies, G or U: see issue #4862 - # }) + expected_mergeinfo_output = wc.State(sbox.ospath(''), { +'A' : Item(status=' U'), +'A/D': Item(status=' G'), +'A/D/G' : Item(status=' G'), +'A/D/G2' : Item(status=' G'), +}) expected_status = svntest.actions.get_virginal_state(sbox.ospath('A'), 7).subtree('A') expected_status.tweak_some( lambda path, item: [True] if path.split('/')[0] == 'D' else [], @@ -18658,7 +18658,7 @@ def merge_deleted_folder_with_mergeinfo_ svntest.actions.run_and_verify_merge(sbox.ospath('A'), None, None, '^/branch_A', None, expected_output, - None, #expected_mergeinfo_output + e
svn commit: r1885963 - in /subversion/branches/1.10.x: ./ STATUS autogen.sh
Author: svn-role Date: Thu Jan 28 04:00:12 2021 New Revision: 1885963 URL: http://svn.apache.org/viewvc?rev=1885963&view=rev Log: Merge r1875726 from trunk: * r1875726 Error out if generating SWIG-related files fails in autogen.sh --release Justification: release.py didn't catch this error when 1.14.0-rc1 release was created Votes: +1: stsp, jamessan, hartmannathan Modified: subversion/branches/1.10.x/ (props changed) subversion/branches/1.10.x/STATUS subversion/branches/1.10.x/autogen.sh Propchange: subversion/branches/1.10.x/ -- Merged /subversion/trunk:r1875726 Modified: subversion/branches/1.10.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1885963&r1=1885962&r2=1885963&view=diff == --- subversion/branches/1.10.x/STATUS (original) +++ subversion/branches/1.10.x/STATUS Thu Jan 28 04:00:12 2021 @@ -49,13 +49,6 @@ Veto-blocked changes: Approved changes: = - * r1875726 - Error out if generating SWIG-related files fails in autogen.sh --release - Justification: - release.py didn't catch this error when 1.14.0-rc1 release was created - Votes: - +1: stsp, jamessan, hartmannathan - * r1880192 Fix issue #4862 "Merge: the resulting mergeinfo is non-deterministic". Justification: Modified: subversion/branches/1.10.x/autogen.sh URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/autogen.sh?rev=1885963&r1=1885962&r2=1885963&view=diff == --- subversion/branches/1.10.x/autogen.sh (original) +++ subversion/branches/1.10.x/autogen.sh Thu Jan 28 04:00:12 2021 @@ -176,7 +176,7 @@ if test -n "$RELEASE_MODE"; then "$PYTHON" ./gen-make.py build.conf || gen_failed=1 # Build the SWIG-related files - make -f autogen-standalone.mk autogen-swig + make -f autogen-standalone.mk autogen-swig || gen_failed=1 # Remove the .swig_checked file rm -f .swig_checked
svn commit: r1885962 - in /subversion/branches/1.10.x: ./ STATUS subversion/libsvn_auth_kwallet/kwallet.cpp
Author: svn-role Date: Thu Jan 28 04:00:07 2021 New Revision: 1885962 URL: http://svn.apache.org/viewvc?rev=1885962&view=rev Log: Merge r1875680 from trunk: * r1875680 Construct KAboutData using QString rather than QStringLiteral Justification: Fixes a crash seen when using git-svn with kwallet Votes: +1: jamessan, stsp, hartmannathan Modified: subversion/branches/1.10.x/ (props changed) subversion/branches/1.10.x/STATUS subversion/branches/1.10.x/subversion/libsvn_auth_kwallet/kwallet.cpp Propchange: subversion/branches/1.10.x/ -- Merged /subversion/trunk:r1875680 Modified: subversion/branches/1.10.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1885962&r1=1885961&r2=1885962&view=diff == --- subversion/branches/1.10.x/STATUS (original) +++ subversion/branches/1.10.x/STATUS Thu Jan 28 04:00:07 2021 @@ -49,13 +49,6 @@ Veto-blocked changes: Approved changes: = - * r1875680 - Construct KAboutData using QString rather than QStringLiteral - Justification: - Fixes a crash seen when using git-svn with kwallet - Votes: - +1: jamessan, stsp, hartmannathan - * r1875726 Error out if generating SWIG-related files fails in autogen.sh --release Justification: Modified: subversion/branches/1.10.x/subversion/libsvn_auth_kwallet/kwallet.cpp URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/subversion/libsvn_auth_kwallet/kwallet.cpp?rev=1885962&r1=1885961&r2=1885962&view=diff == --- subversion/branches/1.10.x/subversion/libsvn_auth_kwallet/kwallet.cpp (original) +++ subversion/branches/1.10.x/subversion/libsvn_auth_kwallet/kwallet.cpp Thu Jan 28 04:00:07 2021 @@ -227,10 +227,10 @@ kwallet_password_get(svn_boolean_t *done KLocalizedString::setApplicationDomain("subversion"); /* translation domain */ /* componentName appears in KDE GUI prompts */ - KAboutData aboutData(QStringLiteral("subversion"), /* componentName */ + KAboutData aboutData(QString("subversion"),/* componentName */ i18n(get_application_name(parameters, pool)), /* displayName */ - QStringLiteral(SVN_VER_NUMBER)); + QString(SVN_VER_NUMBER)); KAboutData::setApplicationData(aboutData); #else KCmdLineArgs::init(q_argc, q_argv, @@ -309,10 +309,10 @@ kwallet_password_set(svn_boolean_t *done KLocalizedString::setApplicationDomain("subversion"); /* translation domain */ /* componentName appears in KDE GUI prompts */ - KAboutData aboutData(QStringLiteral("subversion"), /* componentName */ + KAboutData aboutData(QString("subversion"),/* componentName */ i18n(get_application_name(parameters, pool)), /* displayName */ - QStringLiteral(SVN_VER_NUMBER)); + QString(SVN_VER_NUMBER)); KAboutData::setApplicationData(aboutData); #else KCmdLineArgs::init(q_argc, q_argv,
svn commit: r1885961 - /subversion/branches/1.14.x/STATUS
Author: hartmannathan Date: Thu Jan 28 03:55:24 2021 New Revision: 1885961 URL: http://svn.apache.org/viewvc?rev=1885961&view=rev Log: * 1.14.x/STATUS: Re-nominate r1881534 via 1.14.x-r1881534-no-crlf branch Modified: subversion/branches/1.14.x/STATUS Modified: subversion/branches/1.14.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1885961&r1=1885960&r2=1885961&view=diff == --- subversion/branches/1.14.x/STATUS (original) +++ subversion/branches/1.14.x/STATUS Thu Jan 28 03:55:24 2021 @@ -38,6 +38,18 @@ Candidate changes: Votes: +1: futatuki, stsp + * r1881534 (without CRLF problem) + Fix issue #4864 "build/ac-macros/macosx.m4: workaround AC_RUN_IFELSE" + Justification: + Unblocks cross-compiling SVN. + Notes: + Replacement for veto-blocked r1881534 group (see below) without the + inconsistent line endings that instigated said veto blockage. + Branch: + 1.14.x-r1881534-no-crlf + Votes: + +1: hartmannathan + Veto-blocked changes: =
svn commit: r1885960 - /subversion/branches/1.14.x-r1881534-no-crlf/build/ac-macros/macosx.m4
Author: hartmannathan Date: Thu Jan 28 03:38:39 2021 New Revision: 1885960 URL: http://svn.apache.org/viewvc?rev=1885960&view=rev Log: On the 1.14.x-r1881534-no-crlf backport branch: Merge r1881534 from trunk, but manually fix the line endings (replace several accidental CRLF with LF). Modified: subversion/branches/1.14.x-r1881534-no-crlf/build/ac-macros/macosx.m4 Modified: subversion/branches/1.14.x-r1881534-no-crlf/build/ac-macros/macosx.m4 URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x-r1881534-no-crlf/build/ac-macros/macosx.m4?rev=1885960&r1=1885959&r2=1885960&view=diff == --- subversion/branches/1.14.x-r1881534-no-crlf/build/ac-macros/macosx.m4 (original) +++ subversion/branches/1.14.x-r1881534-no-crlf/build/ac-macros/macosx.m4 Thu Jan 28 03:38:39 2021 @@ -23,22 +23,25 @@ dnl SVN_LIB_MACHO_ITERATE dnl Check for _dyld_image_name and _dyld_image_header availability AC_DEFUN(SVN_LIB_MACHO_ITERATE, [ - AC_MSG_CHECKING([for Mach-O dynamic module iteration functions]) - AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -#include -#include - ]],[[ -const struct mach_header *header = _dyld_get_image_header(0); -const char *name = _dyld_get_image_name(0); -if (name && header) return 0; -return 1; - ]])],[ + AC_CACHE_CHECK([for Mach-O dynamic module iteration functions], +[ac_cv_mach_o_dynamic_module_iteration_works], [ +AC_RUN_IFELSE([AC_LANG_PROGRAM([[ + #include + #include +]],[[ + const struct mach_header *header = _dyld_get_image_header(0); + const char *name = _dyld_get_image_name(0); + if (name && header) return 0; + return 1; +]])], +[ac_cv_mach_o_dynamic_module_iteration_works=yes], +[ac_cv_mach_o_dynamic_module_iteration_works=no], +[ac_cv_mach_o_dynamic_module_iteration_works=no]) + ]) + if test "$ac_cv_mach_o_dynamic_module_iteration_works" = yes; then AC_DEFINE([SVN_HAVE_MACHO_ITERATE], [1], [Is Mach-O low-level _dyld API available?]) -AC_MSG_RESULT([yes]) - ],[ -AC_MSG_RESULT([no]) - ]) + fi ]) dnl SVN_LIB_MACOS_PLIST
svn commit: r1885959 - /subversion/branches/1.14.x-r1881534-no-crlf/
Author: hartmannathan Date: Thu Jan 28 03:25:41 2021 New Revision: 1885959 URL: http://svn.apache.org/viewvc?rev=1885959&view=rev Log: Create the 1.14.x-r1881534-no-crlf backport branch. This is an attempt to workaround the issue discussed in the 14-Nov-2020 dev@ mail "Re: svn commit: r1881534 - /subversion/trunk/build/ac-macros/macosx.m4" archived at: https://mail-archives.apache.org/mod_mbox/subversion-dev/202011.mbox/%3c01e94589-8ce8-ca43-ad24-530454410...@apache.org%3e Added: subversion/branches/1.14.x-r1881534-no-crlf/ (props changed) - copied from r1885958, subversion/branches/1.14.x/ Propchange: subversion/branches/1.14.x-r1881534-no-crlf/ -- --- svn:auto-props (added) +++ svn:auto-props Thu Jan 28 03:25:41 2021 @@ -0,0 +1,13 @@ +*.c = svn:eol-style=native +*.cpp = svn:eol-style=native +*.h = svn:eol-style=native +*.hpp = svn:eol-style=native +*.java = svn:eol-style=native +*.py = svn:eol-style=native +*.pl = svn:eol-style=native +*.rb = svn:eol-style=native +*.sql = svn:eol-style=native +*.txt = svn:eol-style=native +README = svn:eol-style=native +BRANCH-README = svn:eol-style=native +STATUS = svn:eol-style=native Propchange: subversion/branches/1.14.x-r1881534-no-crlf/ -- --- svn:ignore (added) +++ svn:ignore Thu Jan 28 03:25:41 2021 @@ -0,0 +1,58 @@ +ChangeLog* +Makefile +config.cache +config.log +config.nice +config.status +configure +libtool +.gdb_history +.swig_checked +*.orig +*.rej +TAGS +tags +neon +build-outputs.mk +autogen-standalone.mk +autom4te.cache +gen-make.opts +tests.log* +fails.log* +db4-win32 +db +*.o +*~ +.*~ +apr +apr-util +apr-iconv +Release +Debug +ipch +subversion_msvc.dsw +subversion_msvc.ncb +subversion_msvc.opt +subversion_msvc.plg +subversion_vcnet.* +mkmf.log +.project +.classpath +.cdtproject +.settings +.cproject +py3c +zlib +sqlite-amalgamation +serf +googlemock +.git +.gitignore +.idea +compile_commands.json +.kdev4 +*.kdev4 +.vs +.swig_pl_checked +.swig_py_checked +.swig_rb_checked Propchange: subversion/branches/1.14.x-r1881534-no-crlf/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Thu Jan 28 03:25:41 2021 @@ -0,0 +1,108 @@ +/subversion/branches/1.10-cache-improvements:1669168-1694487 +/subversion/branches/1.11.x:1841316,1841548 +/subversion/branches/1.14.x-r1880374-fsfs:1880459-1880915 +/subversion/branches/1.5.x-r30215:870312 +/subversion/branches/1.7.x-fs-verify:1146708,1161180 +/subversion/branches/1.9-cache-improvements:1678948-1679863 +/subversion/branches/1.9.x:1735680 +/subversion/branches/10Gb:1388102,1388163-1388190,1388195,1388202,1388205,1388211,1388276,1388362,1388375,1388394,1388636,1388639-1388640,1388643-1388644,1388654,1388720,1388789,1388795,1388801,1388805,1388807,1388810,1388816,1389044,1389276,1389289,1389662,1389867,1390017,1390209,1390216,1390407,1390409,1390414,1390419,1390955 +/subversion/branches/atomic-revprop:965046-1000689 +/subversion/branches/authzperf:1613053-1776831 +/subversion/branches/auto-props-sdc:1384106-1401643 +/subversion/branches/bdb-reverse-deltas:872050-872529 +/subversion/branches/cache-server:1458643-1476567 +/subversion/branches/decouple-shelving-cli:1874630-1875035 +/subversion/branches/diff-callbacks3:870059-870761 +/subversion/branches/diff-optimizations:1031270-1037352 +/subversion/branches/diff-optimizations-bytes:1037353-1067789 +/subversion/branches/dont-save-plaintext-passwords-by-default:870728-871118 +/subversion/branches/double-delete:870511-872970 +/subversion/branches/dump-load-cross-check:1654853-1657295 +/subversion/branches/ev2-export:1325914,1332738,1413107 +/subversion/branches/explore-wc:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,875864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997 +/subversion/branches/file-externals:871779-873302 +/subversion/branches/fs-rep-sharing:869036-873803 +/subversion/branches/fsfs-format7:1426304,1430673,1433848,1438408,1438982,1441129,1442051,1442068,1442504,1442910,1443171,1443803,1444690,1444693,1444695,1445040,1445080,1446103,1451129,1453590,1454307,1460579,1461851,1461865,1462837,1462904,1463120,1467362,1467382,1469487,1471208,1477166,1478055,1481447,1489817,1489949,1490673-1490674,1491784,1493042,1498029,1498103,1498155,1500054,1507729-1507731,1507735-1507736 +/subversion/branches/fsfs-improvements:1499981-1547039 +/subversion/branches/fsfs-lock-many:1571740-1577217 +/subversion/branches/fsfs-pack:873717-874575 +/subversion/branches/fsx:1507845-1509914 +/subversion/branches/fsx-1.10:1658219-1694500 +/subversion/branches/fsx-
svn commit: r1885955 - /subversion/branches/javahl-1.14-fixes/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
Author: amiloslavskiy Date: Thu Jan 28 00:13:48 2021 New Revision: 1885955 URL: http://svn.apache.org/viewvc?rev=1885955&view=rev Log: JavaHL: Trivial changes in tests Improved code formatting and code comments according to code review. Modified: subversion/branches/javahl-1.14-fixes/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Modified: subversion/branches/javahl-1.14-fixes/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java URL: http://svn.apache.org/viewvc/subversion/branches/javahl-1.14-fixes/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1885955&r1=1885954&r2=1885955&view=diff == --- subversion/branches/javahl-1.14-fixes/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original) +++ subversion/branches/javahl-1.14-fixes/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Thu Jan 28 00:13:48 2021 @@ -4449,7 +4449,7 @@ public class BasicTests extends SVNTests String error = null; ReadableByteChannel request; WritableByteChannel response; - + final CloseTunnelCallback closeTunnelCallback = () -> { if ((flags & FLAG_ECHO) != 0) @@ -4484,23 +4484,23 @@ public class BasicTests extends SVNTests } private String readClient(ByteBuffer readBuffer) - throws IOException - { - readBuffer.reset(); - request.read(readBuffer); - - final int offset = readBuffer.arrayOffset(); - return new String(readBuffer.array(), - offset, - readBuffer.position() - offset); - } - - private void emulateServer(String serverMessage) - throws IOException - { - final byte[] responseBytes = serverMessage.getBytes(); - response.write(ByteBuffer.wrap(responseBytes)); - } +throws IOException +{ +readBuffer.reset(); +request.read(readBuffer); + +final int offset = readBuffer.arrayOffset(); +return new String(readBuffer.array(), +offset, +readBuffer.position() - offset); +} + +private void emulateServer(String serverMessage) +throws IOException +{ +final byte[] responseBytes = serverMessage.getBytes(); +response.write(ByteBuffer.wrap(responseBytes)); +} private void doScriptItem(ScriptItem scriptItem, ByteBuffer readBuffer) throws Exception @@ -4523,8 +4523,8 @@ public class BasicTests extends SVNTests System.err.flush(); // Unblock the SVN thread by emulating a server error - final String serverError = "( success ( ( ) 0: ) ) ( failure ( ( 16 39:Test script received unexpected request 0: 0 ) ) ) "; - emulateServer(serverError); +final String serverError = "( success ( ( ) 0: ) ) ( failure ( ( 16 39:Test script received unexpected request 0: 0 ) ) ) "; +emulateServer(serverError); fail("Unexpected client request"); } @@ -4536,7 +4536,7 @@ public class BasicTests extends SVNTests System.out.flush(); } - emulateServer(scriptItem.value); +emulateServer(scriptItem.value); break; case WAIT_TUNNEL: // The loop will end with an exception when tunnel is closed @@ -4554,17 +4554,24 @@ public class BasicTests extends SVNTests for (ScriptItem scriptItem : script) { -try { +try +{ doScriptItem(scriptItem, readBuffer); -} catch (ClosedChannelException ex) { +} +catch (ClosedChannelException ex) +{ // Expected when closed properly -} catch (IOException e) { +} +catch (IOException e) +{ // IOException occurs when already-freed apr_file_t was lucky // to have reasonable fields to avoid the crash. It still // indicates a problem. error = "IOException was caught in run()"; return; -} catch (Throwable t) { +} +catch (Throwable t) +{ // No other exceptions are expected here.
svn commit: r1885953 - /subversion/trunk/subversion/libsvn_subr/cmdline.c
Author: futatuki Date: Wed Jan 27 23:47:43 2021 New Revision: 1885953 URL: http://svn.apache.org/viewvc?rev=1885953&view=rev Log: Follow up to r1882234, r1882235,r1882313: Fix file name encoding issue when invoking editor on Windows. * subversion/libsvn_subr/cmdline.c (): include apr_env.h for apr_env_get (find_editor_binary): - Change the encoding to set to EDITOR, from active code page to UTF-8 on Windows. - Transcode editor_cmd to UTF-8. - Use apr_env_get() instead of getenv(). - Transcode config setting for SVN_CONFIG_OPTION_EDITOR_CMD. - Add pool argument for transcoding and getting environment variables. (svn_cmdline_edit_file_externally, svn_cmdline_edit_string_externally): - Use _wsystem() instead of system() on Windows environment. - Enclose whole command strings with double quotes[1] in _wsystem(). [1] https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cmd Suggested by: jun66j5 (editor return value in find_editor_binary) Modified: subversion/trunk/subversion/libsvn_subr/cmdline.c Modified: subversion/trunk/subversion/libsvn_subr/cmdline.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/cmdline.c?rev=1885953&r1=1885952&r2=1885953&view=diff == --- subversion/trunk/subversion/libsvn_subr/cmdline.c (original) +++ subversion/trunk/subversion/libsvn_subr/cmdline.c Wed Jan 27 23:47:43 2021 @@ -47,6 +47,7 @@ #endif #include /* for apr_initialize/apr_terminate */ #include /* for apr_snprintf */ +#include /* for apr_env_get */ #include #include @@ -1240,38 +1241,84 @@ svn_cmdline__be_interactive(svn_boolean_ /* Helper for the edit_externally functions. Set *EDITOR to some path to an - editor binary. Sources to search include: the EDITOR_CMD argument - (if not NULL), $SVN_EDITOR, the runtime CONFIG variable (if CONFIG + editor binary, in native C string on Unix/Linux platforms and in UTF-8 + string on Windows platform. Sources to search include: the EDITOR_CMD + argument (if not NULL), $SVN_EDITOR, the runtime CONFIG variable (if CONFIG is not NULL), $VISUAL, $EDITOR. Return SVN_ERR_CL_NO_EXTERNAL_EDITOR if no binary can be found. */ static svn_error_t * find_editor_binary(const char **editor, const char *editor_cmd, - apr_hash_t *config) + apr_hash_t *config, + apr_pool_t *pool) { const char *e; + const char *e_cfg; struct svn_config_t *cfg; + apr_status_t status; /* Use the editor specified on the command line via --editor-cmd, if any. */ +#ifdef WIN32 + /* On Windows, editor_cmd is transcoded to the system active code page + because we use main() as a entry point without APR's (or our own) wrapper + in command line tools. */ + if (editor_cmd) +{ + SVN_ERR(svn_utf_cstring_to_utf8(&e, editor_cmd, pool)); +} + else +{ + e = NULL; +} +#else e = editor_cmd; +#endif /* Otherwise look for the Subversion-specific environment variable. */ if (! e) -e = getenv("SVN_EDITOR"); +{ + status = apr_env_get((char **)&e, "SVN_EDITOR", pool); + if (status || ! *e) +{ + e = NULL; +} +} /* If not found then fall back on the config file. */ if (! e) { cfg = config ? svn_hash_gets(config, SVN_CONFIG_CATEGORY_CONFIG) : NULL; - svn_config_get(cfg, &e, SVN_CONFIG_SECTION_HELPERS, + svn_config_get(cfg, &e_cfg, SVN_CONFIG_SECTION_HELPERS, SVN_CONFIG_OPTION_EDITOR_CMD, NULL); +#ifdef WIN32 + if (e_cfg) +{ + /* On Windows, we assume that config values are set in system active + code page, so we need transcode it here. */ + SVN_ERR(svn_utf_cstring_to_utf8(&e, e_cfg, pool)); +} +#else + e = e_cfg; +#endif } /* If not found yet then try general purpose environment variables. */ if (! e) -e = getenv("VISUAL"); +{ + status = apr_env_get((char**)&e, "VISUAL", pool); + if (status || ! *e) +{ + e = NULL; +} +} if (! e) -e = getenv("EDITOR"); +{ + status = apr_env_get((char**)&e, "EDITOR", pool); + if (status || ! *e) +{ + e = NULL; +} +} #ifdef SVN_CLIENT_EDITOR /* If still not found then fall back on the hard-coded default. */ @@ -1406,13 +1453,16 @@ svn_cmdline__edit_file_externally(const { const char *editor, *cmd, *base_dir, *file_name, *base_dir_apr; const char *file_name_local; +#ifdef WIN32 + const WCHAR *wcmd; +#endif char *old_cwd; int sys_err; apr_status_t apr_err; svn_dirent_split(&base_dir, &file_name, path, pool); - SVN_ERR(find_editor_binary(&editor, editor_cmd, config)); + SVN_ERR(find_editor_binary(&editor, editor_cmd, config, pool));
svn propchange: r1882522 - svn:log
Author: amiloslavskiy Revision: 1882522 Modified property: svn:log Modified: svn:log at Wed Jan 27 23:39:20 2021 -- --- svn:log (original) +++ svn:log Wed Jan 27 23:39:20 2021 @@ -12,6 +12,11 @@ This crash is demonstrated by the follow [in subversion/bindings/javahl] * native/OperationContext.cpp (callCloseTunnelCallback): Extract function to facilitate changes in - further commits. - (openTunnel): Add NewGlobalRef() for kept jobject. +further commits. + (openTunnel): Add NewGlobalRef() for kept jobject. (callCloseTunnelCallback): Add a matching DeleteGlobalRef(). + (closeTunnel): Remove early return. This becomes necessary in next commit +to make sure that every object is cleaned up regardless of errors in other + objects. Removing early return in this commit reduces patch sizes. Extra + JNIUtil calls are merely a very small performance change in an unlikely + scenario.
svn propchange: r1882523 - svn:log
Author: amiloslavskiy Revision: 1882523 Modified property: svn:log Modified: svn:log at Wed Jan 27 21:42:33 2021 -- --- svn:log (original) +++ svn:log Wed Jan 27 21:42:33 2021 @@ -17,6 +17,8 @@ subsequent commits as well. [in subversion/bindings/javahl] * native/OperationContext.cpp + (jrequest,jresponse): Keep references to tunnels to inform them later + (create_Channel): Keeping a reference requires NewGlobalRef() (close_TunnelChannel): New function to inform Java side. (openTunnel): Keep references to Java tunnel objects. (closeTunnel): Inform Java side when tunnel is closed.
svn commit: r1885949 - /subversion/branches/1.10.x/STATUS
Author: hartmannathan Date: Wed Jan 27 18:32:12 2021 New Revision: 1885949 URL: http://svn.apache.org/viewvc?rev=1885949&view=rev Log: * 1.10.x/STATUS: Move r1880192 and the r1881985 group to Approved Modified: subversion/branches/1.10.x/STATUS Modified: subversion/branches/1.10.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1885949&r1=1885948&r2=1885949&view=diff == --- subversion/branches/1.10.x/STATUS (original) +++ subversion/branches/1.10.x/STATUS Wed Jan 27 18:32:12 2021 @@ -32,24 +32,6 @@ Candidate changes: Votes: +1: jamessan, stsp - * r1880192 - Fix issue #4862 "Merge: the resulting mergeinfo is non-deterministic". - Justification: - Non-deterministic merge result is bad. - Depends: - r1878997, r1879192, r1879474, r1879959 (Fix issue #4859) - Votes: - +1: julianfoad, stsp, jcorvel - - * r1881985, r1882105 - Follow up to r1880192: Fix an EOL issue in test on Windows. - Justification: - We should test correctly on Windows environment, too. - Depends: - r1880192 - Votes: - +1: jcorvel, stsp, hartmannathan - * r1835049, r1882326 Fix issue #4762 "authz doesn't combine global and repository rules" Justification: @@ -80,3 +62,21 @@ Approved changes: release.py didn't catch this error when 1.14.0-rc1 release was created Votes: +1: stsp, jamessan, hartmannathan + + * r1880192 + Fix issue #4862 "Merge: the resulting mergeinfo is non-deterministic". + Justification: + Non-deterministic merge result is bad. + Depends: + r1878997, r1879192, r1879474, r1879959 (Fix issue #4859) + Votes: + +1: julianfoad, stsp, jcorvel + + * r1881985, r1882105 + Follow up to r1880192: Fix an EOL issue in test on Windows. + Justification: + We should test correctly on Windows environment, too. + Depends: + r1880192 + Votes: + +1: jcorvel, stsp, hartmannathan
svn commit: r1885948 - /subversion/branches/1.10.x/STATUS
Author: hartmannathan Date: Wed Jan 27 18:29:51 2021 New Revision: 1885948 URL: http://svn.apache.org/viewvc?rev=1885948&view=rev Log: * 1.10.x/STATUS: Convert jcorvel's vote on r1880192 to +1 (See r1884585 log) Modified: subversion/branches/1.10.x/STATUS Modified: subversion/branches/1.10.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1885948&r1=1885947&r2=1885948&view=diff == --- subversion/branches/1.10.x/STATUS (original) +++ subversion/branches/1.10.x/STATUS Wed Jan 27 18:29:51 2021 @@ -39,9 +39,7 @@ Candidate changes: Depends: r1878997, r1879192, r1879474, r1879959 (Fix issue #4859) Votes: - +1: julianfoad, stsp - -1: jcorvel (test FAIL on Windows; - +1 if r1881985 group (see below) is backported too) + +1: julianfoad, stsp, jcorvel * r1881985, r1882105 Follow up to r1880192: Fix an EOL issue in test on Windows.
svn commit: r1885947 - /subversion/branches/1.10.x/STATUS
Author: hartmannathan Date: Wed Jan 27 18:26:43 2021 New Revision: 1885947 URL: http://svn.apache.org/viewvc?rev=1885947&view=rev Log: * 1.10.x/STATUS: Vote for r1881985 group Modified: subversion/branches/1.10.x/STATUS Modified: subversion/branches/1.10.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1885947&r1=1885946&r2=1885947&view=diff == --- subversion/branches/1.10.x/STATUS (original) +++ subversion/branches/1.10.x/STATUS Wed Jan 27 18:26:43 2021 @@ -50,7 +50,7 @@ Candidate changes: Depends: r1880192 Votes: - +1: jcorvel, stsp + +1: jcorvel, stsp, hartmannathan * r1835049, r1882326 Fix issue #4762 "authz doesn't combine global and repository rules"