svn commit: r1908751 - in /subversion/trunk: subversion/libsvn_repos/load-fs-vtable.c subversion/libsvn_repos/reporter.c tools/dev/hash-test.c

2023-03-27 Thread philip
Author: philip
Date: Mon Mar 27 18:41:36 2023
New Revision: 1908751

URL: http://svn.apache.org/viewvc?rev=1908751=rev
Log:
There are some places where we use svn_revnum_t as keys in an apr_hash_t
and it turns out that APR's default hash function doesn't work very well
in this case. For the load revmap hash it is possible for over 96% of the
revnums added to the hash to be in hash collision chains, meaning that
most hash lookups will degrade to a linked list scan.  Subversion has an
alternative hash function, available via svn_hash__make(), that works
much better in this case, so use it.

* subversion/libsvn_repos/load-fs-vtable.c
  (struct parse_baton): Add comment.
  (svn_repos_get_fs_build_parser6): Use svn_hash__make.

* subversion/libsvn_repos/reporter.c
  (struct report_baton_t): Add comment.
  (svn_repos_begin_report3): Use svn_hash__make.

* tools/dev/hash-test.c: New.

Added:
subversion/trunk/tools/dev/hash-test.c   (with props)
Modified:
subversion/trunk/subversion/libsvn_repos/load-fs-vtable.c
subversion/trunk/subversion/libsvn_repos/reporter.c

Modified: subversion/trunk/subversion/libsvn_repos/load-fs-vtable.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/load-fs-vtable.c?rev=1908751=1908750=1908751=diff
==
--- subversion/trunk/subversion/libsvn_repos/load-fs-vtable.c (original)
+++ subversion/trunk/subversion/libsvn_repos/load-fs-vtable.c Mon Mar 27 
18:41:36 2023
@@ -42,6 +42,7 @@
 #include "private/svn_dep_compat.h"
 #include "private/svn_mergeinfo_private.h"
 #include "private/svn_repos_private.h"
+#include "private/svn_subr_private.h"
 
 /*--*/
 
@@ -77,6 +78,8 @@ struct parse_baton
  contents are allocated in POOL. */
   /* ### See https://issues.apache.org/jira/browse/SVN-3903
  ### for discussion about improving the memory costs of this mapping. */
+  /* Using svn_revnum_t as a key can interact badly with APR's default hash
+ see tools/dev/hash-test.c. Use svn_hash__make to get a suitable hash. */
   apr_hash_t *rev_map;
 
   /* The most recent (youngest) revision from the dump stream mapped in
@@ -1255,7 +1258,7 @@ svn_repos_get_fs_build_parser6(const svn
   pb->parent_dir = parent_dir;
   pb->pool = pool;
   pb->notify_pool = svn_pool_create(pool);
-  pb->rev_map = apr_hash_make(pool);
+  pb->rev_map = svn_hash__make(pool);
   pb->oldest_dumpstream_rev = SVN_INVALID_REVNUM;
   pb->last_rev_mapped = SVN_INVALID_REVNUM;
   pb->start_rev = start_rev;

Modified: subversion/trunk/subversion/libsvn_repos/reporter.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/reporter.c?rev=1908751=1908750=1908751=diff
==
--- subversion/trunk/subversion/libsvn_repos/reporter.c (original)
+++ subversion/trunk/subversion/libsvn_repos/reporter.c Mon Mar 27 18:41:36 2023
@@ -138,7 +138,8 @@ typedef struct report_baton_t
   svn_fs_root_t *s_roots[NUM_CACHED_SOURCE_ROOTS];
 
   /* Cache for revision properties. This is used to eliminate redundant
- revprop fetching. */
+ revprop fetching. svn_revnum_t keys so use svn_hash__make to get a
+ suitable hash function. */
   apr_hash_t *revision_infos;
 
   /* This will not change. So, fetch it once and reuse it. */
@@ -1628,7 +1629,7 @@ svn_repos_begin_report3(void **report_ba
   b->edit_baton = edit_baton;
   b->authz_read_func = authz_read_func;
   b->authz_read_baton = authz_read_baton;
-  b->revision_infos = apr_hash_make(pool);
+  b->revision_infos = svn_hash__make(pool);
   b->pool = pool;
   b->reader = svn_spillbuf__reader_create(1000 /* blocksize */,
   100 /* maxsize */,

Added: subversion/trunk/tools/dev/hash-test.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/dev/hash-test.c?rev=1908751=auto
==
--- subversion/trunk/tools/dev/hash-test.c (added)
+++ subversion/trunk/tools/dev/hash-test.c Mon Mar 27 18:41:36 2023
@@ -0,0 +1,192 @@
+/*
+ * 
+ *Licensed to the Apache Software Foundation (ASF) under one
+ *or more contributor license agreements.  See the NOTICE file
+ *distributed with this work for additional information
+ *regarding copyright ownership.  The ASF licenses this file
+ *to you under the Apache License, Version 2.0 (the
+ *"License"); you may not use this file except in compliance
+ *with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *Unless required by applicable law or agreed to in writing,
+ *software distributed under the License

svn commit: r1908721 - in /subversion/trunk: Makefile.in configure.ac

2023-03-25 Thread philip
Author: philip
Date: Sun Mar 26 02:23:00 2023
New Revision: 1908721

URL: http://svn.apache.org/viewvc?rev=1908721=rev
Log:
Ensure libsvn_fs_x_LDFLAGS ends up in the Makefile so that flags such as
-Wl,--no-undefined can be passed to the FSX library just as they are for
the other Subversion libraries.  The configure script was already setting
libsvn_fs_x_LDFLAGS but it was not propagated to the Makefile.

* Makefile.in: Add libsvn_fs_x_LDFLAGS.

* configure.ac: Substitute libsvn_fs_x_LDFLAGS.

Modified:
subversion/trunk/Makefile.in
subversion/trunk/configure.ac

Modified: subversion/trunk/Makefile.in
URL: 
http://svn.apache.org/viewvc/subversion/trunk/Makefile.in?rev=1908721=1908720=1908721=diff
==
--- subversion/trunk/Makefile.in (original)
+++ subversion/trunk/Makefile.in Sun Mar 26 02:23:00 2023
@@ -288,6 +288,7 @@ libsvn_diff_LDFLAGS = @libsvn_diff_LDFLA
 libsvn_fs_LDFLAGS = @libsvn_fs_LDFLAGS@
 libsvn_fs_base_LDFLAGS = @libsvn_fs_base_LDFLAGS@
 libsvn_fs_fs_LDFLAGS = @libsvn_fs_fs_LDFLAGS@
+libsvn_fs_x_LDFLAGS = @libsvn_fs_x_LDFLAGS@
 libsvn_fs_util_LDFLAGS = @libsvn_fs_util_LDFLAGS@
 libsvn_ra_LDFLAGS = @libsvn_ra_LDFLAGS@
 libsvn_ra_local_LDFLAGS = @libsvn_ra_local_LDFLAGS@

Modified: subversion/trunk/configure.ac
URL: 
http://svn.apache.org/viewvc/subversion/trunk/configure.ac?rev=1908721=1908720=1908721=diff
==
--- subversion/trunk/configure.ac (original)
+++ subversion/trunk/configure.ac Sun Mar 26 02:23:00 2023
@@ -1028,6 +1028,7 @@ AC_SUBST([libsvn_diff_LDFLAGS])
 AC_SUBST([libsvn_fs_LDFLAGS])
 AC_SUBST([libsvn_fs_base_LDFLAGS])
 AC_SUBST([libsvn_fs_fs_LDFLAGS])
+AC_SUBST([libsvn_fs_x_LDFLAGS])
 AC_SUBST([libsvn_fs_util_LDFLAGS])
 AC_SUBST([libsvn_ra_LDFLAGS])
 AC_SUBST([libsvn_ra_local_LDFLAGS])




svn commit: r1908595 - in /subversion/trunk/subversion: libsvn_fs_fs/tree.c libsvn_fs_x/tree.c tests/libsvn_fs/fs-test.c

2023-03-20 Thread philip
Author: philip
Date: Mon Mar 20 19:13:28 2023
New Revision: 1908595

URL: http://svn.apache.org/viewvc?rev=1908595=rev
Log:
Reduce spurious conflicts during commit. Two txns that are not meant
to conflict, a file content change and a directory property change,
can generate a spurious conflict when the txns are built in parallel.
When doing this from a working copy, simply retrying the commit would
allow it to complete, no update was necessary, indicating that the
commit was spurious.

Spurious conflicts are still possible, but are now less likely.

* subversion/libsvn_fs_fs/tree.c
  (merge): Handle ancestor directory property change.

* subversion/libsvn_fs_x/tree.c
  (merge): Handle ancestor directory property change.

* subversion/tests/libsvn_fs/fs-test.c
  (unordered_txn_dirprops, dir_prop_merge): Now only fails on BDB.

Modified:
subversion/trunk/subversion/libsvn_fs_fs/tree.c
subversion/trunk/subversion/libsvn_fs_x/tree.c
subversion/trunk/subversion/tests/libsvn_fs/fs-test.c

Modified: subversion/trunk/subversion/libsvn_fs_fs/tree.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/tree.c?rev=1908595=1908594=1908595=diff
==
--- subversion/trunk/subversion/libsvn_fs_fs/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/tree.c Mon Mar 20 19:13:28 2023
@@ -1977,7 +1977,30 @@ merge(svn_stringbuf_t *conflict_p,
different contents. */
 SVN_ERR(svn_fs_fs__prop_rep_equal(, fs, src_nr, anc_nr, pool));
 if (! same)
-  return conflict_err(conflict_p, target_path);
+  {
+apr_hash_t *proplist;
+
+/* There is a prop difference between source and ancestor, if
+   there is no property difference between target and ancestor
+   then this txn didn't change props and we can simply update
+   target to match source.
+
+   Commit calls merge in a loop until it manages to get the
+   write lock with source=head. Copying the properties like
+   this will only work on the first iteration as later
+   iterations will see tgt.prop!=anc.prop and won't know that
+   the txn did not change properties. This means we
+   successfully handle a race between this txn and a
+   propchange txn while building this txn, but we don't handle
+   a race that occurs after the first iteration of the merge
+   loop -- we will raise an unwanted conflict. */
+SVN_ERR(svn_fs_fs__prop_rep_equal(, fs, tgt_nr, anc_nr, pool));
+if (! same)
+  return conflict_err(conflict_p, target_path);
+
+SVN_ERR(svn_fs_fs__dag_get_proplist(, source, pool));
+SVN_ERR(svn_fs_fs__dag_set_proplist(target, proplist, pool));
+  }
 
 /* The directory entries got changed in the repository but the directory
properties did not. */

Modified: subversion/trunk/subversion/libsvn_fs_x/tree.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/tree.c?rev=1908595=1908594=1908595=diff
==
--- subversion/trunk/subversion/libsvn_fs_x/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_x/tree.c Mon Mar 20 19:13:28 2023
@@ -890,7 +890,32 @@ merge(svn_stringbuf_t *conflict_p,
different contents. */
 SVN_ERR(svn_fs_x__prop_rep_equal(, fs, src_nr, anc_nr, TRUE, pool));
 if (! same)
-  return conflict_err(conflict_p, target_path);
+  {
+apr_hash_t *proplist;
+
+/* There is a prop difference between source and ancestor, if
+   there is no property difference between target and ancestor
+   then this txn didn't change props and we can simply update
+   target to match source.
+
+   Commit calls merge in a loop until it manages to get the
+   write lock with source=head. Copying the properties like
+   this will only work on the first iteration as later
+   iterations will see tgt.prop!=anc.prop and won't know that
+   the txn did not change properties. This means we
+   successfully handle a race between this txn and a
+   propchange txn while building this txn, but we don't handle
+   a race that occurs after the first iteration of the merge
+   loop -- we will raise an unwanted conflict. */
+SVN_ERR(svn_fs_x__prop_rep_equal(, fs, tgt_nr, anc_nr,
+ TRUE, pool));
+if (! same)
+  return conflict_err(conflict_p, target_path);
+
+SVN_ERR(svn_fs_x__dag_get_proplist(, source, pool, pool));
+SVN_ERR(svn_fs_x__dag_set_proplist(target, proplist, pool));
+  }
+
 
 /* The directory entries got changed in the repository but the directory
properties did not. */

Modified: subversion/trunk/subversion/tests/libsvn_fs/fs-test.c
URL: 
http://svn.apache.org

svn commit: r1908547 - /subversion/trunk/subversion/svnserve/svnserve.c

2023-03-19 Thread philip
Author: philip
Date: Mon Mar 20 01:27:41 2023
New Revision: 1908547

URL: http://svn.apache.org/viewvc?rev=1908547=rev
Log:
Add SIGTERM/SIGINT handling to svnserve, this allows it to exit more
gracefully which allows tools like valgrind to monitor whether the
program exits cleanly and do things like leak detection.

* subversion/svnserve/svnserve.c
  (sigtermint_handler): New handler.
  (accept_connection): Check for signal.
  (sub_main): Install handler, check for signal, add return.

Modified:
subversion/trunk/subversion/svnserve/svnserve.c

Modified: subversion/trunk/subversion/svnserve/svnserve.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svnserve/svnserve.c?rev=1908547=1908546=1908547=diff
==
--- subversion/trunk/subversion/svnserve/svnserve.c (original)
+++ subversion/trunk/subversion/svnserve/svnserve.c Mon Mar 20 01:27:41 2023
@@ -492,6 +492,15 @@ static void sigchld_handler(int signo)
 }
 #endif
 
+#ifdef APR_HAVE_SIGACTION
+static svn_atomic_t sigtermint_seen = 0;
+static void
+sigtermint_handler(int signo)
+{
+svn_atomic_set(_seen, 1);
+}
+#endif /* APR_HAVE_SIGACTION */
+
 /* Redirect stdout to stderr.  ARG is the pool.
  *
  * In tunnel or inetd mode, we don't want hook scripts corrupting the
@@ -547,6 +556,10 @@ accept_connection(connection_t **connect
 
   status = apr_socket_accept(&(*connection)->usock, sock,
  connection_pool);
+#if APR_HAVE_SIGACTION
+  if (sigtermint_seen)
+  break;
+#endif
   if (handling_mode == connection_mode_fork)
 {
   apr_proc_t proc;
@@ -1330,11 +1343,20 @@ sub_main(int *exit_code, int argc, const
 }
 #endif
 
+#if APR_HAVE_SIGACTION
+  apr_signal(SIGTERM, sigtermint_handler);
+  apr_signal(SIGINT, sigtermint_handler);
+#endif
+
   while (1)
 {
   connection_t *connection = NULL;
   SVN_ERR(accept_connection(, sock, , handling_mode,
 pool));
+#if APR_HAVE_SIGACTION
+  if (sigtermint_seen)
+  break;
+#endif
   if (run_mode == run_mode_listen_once)
 {
   err = serve_socket(connection, connection->pool);
@@ -1391,7 +1413,7 @@ sub_main(int *exit_code, int argc, const
   close_connection(connection);
 }
 
-  /* NOTREACHED */
+  return SVN_NO_ERROR;
 }
 
 int




svn commit: r1908546 - in /subversion/trunk: Makefile.in build/run_tests.py subversion/tests/README subversion/tests/cmdline/svntest/main.py

2023-03-19 Thread philip
Author: philip
Date: Mon Mar 20 01:22:52 2023
New Revision: 1908546

URL: http://svn.apache.org/viewvc?rev=1908546=rev
Log:
Add suport for running valgrind during 'make check'.

* Makefile.in (check): Add options.

* build/run_tests.py
  (_init_c_tests, _init_py_tests): Add options.
  (_maybe_prepend_valgrind): New.
  (_run_c_test): Prepend valgrind.
  (create_parser): Add options.

* subversion/tests/cmdline/svntest/main.py
  (libtool_script): New variable.
  (open_pipe): Prepend valgrind.
  (TestSpawningThread): Add options.
  (_create_parser): Add options.

* subversion/tests/README: Describe valgrind testing..

Modified:
subversion/trunk/Makefile.in
subversion/trunk/build/run_tests.py
subversion/trunk/subversion/tests/README
subversion/trunk/subversion/tests/cmdline/svntest/main.py

Modified: subversion/trunk/Makefile.in
URL: 
http://svn.apache.org/viewvc/subversion/trunk/Makefile.in?rev=1908546=1908545=1908546=diff
==
--- subversion/trunk/Makefile.in (original)
+++ subversion/trunk/Makefile.in Mon Mar 20 01:22:52 2023
@@ -632,6 +632,12 @@ check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $
  if test "$(STORE_PRISTINE)" != ""; then\
flags="--store-pristine $(STORE_PRISTINE) $$flags";  \
  fi;\
+ if test "$(VALGRIND)" != ""; then  \
+   flags="--valgrind $(VALGRIND) $$flags";  \
+ fi;\
+ if test "$(VALGRIND_OPTS)" != ""; then \
+   flags="--valgrind-opts $(VALGRIND_OPTS) $$flags";\
+ fi;\
  LD_LIBRARY_PATH='$(auth_plugin_dirs):$(LD_LIBRARY_PATH)'   \
  $(PYTHON) $(top_srcdir)/build/run_tests.py \
--config-file $(top_srcdir)/subversion/tests/tests.conf  \

Modified: subversion/trunk/build/run_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build/run_tests.py?rev=1908546=1908545=1908546=diff
==
--- subversion/trunk/build/run_tests.py (original)
+++ subversion/trunk/build/run_tests.py Mon Mar 20 01:22:52 2023
@@ -266,6 +266,10 @@ class TestHarness:
   cmdline.append('--parallel')
 if self.opts.store_pristine is not None:
   cmdline.append('--store-pristine=%s' % self.opts.store_pristine)
+if self.opts.valgrind is not None:
+  cmdline.append('--valgrind=%s' % self.opts.valgrind)
+if self.opts.valgrind_opts is not None:
+  cmdline.append('--valgrind-opts=%s' % self.opts.valgrind_opts)
 
 self.c_test_cmdline = cmdline
 
@@ -335,6 +339,10 @@ class TestHarness:
   cmdline.append('--allow-remote-http-connection')
 if self.opts.store_pristine is not None:
   cmdline.append('--store-pristine=%s' % self.opts.store_pristine)
+if self.opts.valgrind is not None:
+  cmdline.append('--valgrind=%s' % self.opts.valgrind)
+if self.opts.valgrind_opts is not None:
+  cmdline.append('--valgrind-opts=%s' % self.opts.valgrind_opts)
 
 self.py_test_cmdline = cmdline
 
@@ -814,6 +822,17 @@ class TestHarness:
 log.write('FAIL:  %s: Unknown test failure (%s).\n'
   % (progbase, test_failed))
 
+  def _maybe_prepend_valgrind(self, cmdline, progbase):
+if self.opts.valgrind:
+  if (progbase in self.opts.valgrind.split(',')
+  or 'C' in self.opts.valgrind.split(',')):
+valgrind = [os.path.join(self.builddir, 'libtool'), '--mode=execute',
+'valgrind', '--quiet', '--error-exitcode=1']
+if self.opts.valgrind_opts:
+  valgrind += self.opts.valgrind_opts.split(' ')
+cmdline = valgrind + cmdline
+return cmdline
+
   def _run_c_test(self, progabs, progdir, progbase, test_nums, dot_count):
 'Run a c test, escaping parameters as required.'
 if self.opts.list_tests and self.opts.milestone_filter:
@@ -849,6 +868,7 @@ class TestHarness:
   self.dots_written = dots
 
 tests_completed = 0
+cmdline = self._maybe_prepend_valgrind(cmdline, progbase)
 with Popen(cmdline, stdout=subprocess.PIPE, stderr=self.log) as prog:
   line = prog.stdout.readline()
   while line:
@@ -1095,6 +1115,10 @@ def create_parser():
 help='Run tests that connect to remote HTTP(S) servers')
   parser.add_option('--store-pristine', action='store', type='str',
 help='Set the WC pristine mode')
+  parser.add_option('--valgrind', action='store',
+help='programs to run under valgrind')
+  parser.add_opt

svn commit: r1908545 - /subversion/trunk/build.conf

2023-03-19 Thread philip
Author: philip
Date: Mon Mar 20 01:20:29 2023
New Revision: 1908545

URL: http://svn.apache.org/viewvc?rev=1908545=rev
Log:
Fix a one definition rule (ODR) violation: explicitly linking
to both the libsvn_subr amalgation wrapper and the libsvn_subr
library is wrong. It's typically not a bug in a static build
because the linker will usually not pull the unneeded file from
the static library, but in a shared build the whole library is
used at runtime. It was harmless in practice because the symbols
were the same, so it didn't matter which ones were used, but an
ODR violation is strictly undefined behaviour, even in
non-amalgamtion builds when only a dummy symbol gets redefined.
GCC's santizer detects ODR violations.

* build.conf (wc-queries-test): Don't link SQLite wrapper.

Modified:
subversion/trunk/build.conf

Modified: subversion/trunk/build.conf
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build.conf?rev=1908545=1908544=1908545=diff
==
--- subversion/trunk/build.conf (original)
+++ subversion/trunk/build.conf Mon Mar 20 01:20:29 2023
@@ -1337,7 +1337,7 @@ msvc-force-static = yes
 description = Test Sqlite query evaluation
 type = exe
 path = subversion/tests/libsvn_wc
-sources = wc-queries-test.c ../../libsvn_subr/sqlite3wrapper.c
+sources = wc-queries-test.c
 install = test
 libs = libsvn_test libsvn_wc libsvn_subr apriconv apr sqlite
 




svn commit: r1908544 - /subversion/trunk/subversion/libsvn_subr/time.c

2023-03-19 Thread philip
Author: philip
Date: Mon Mar 20 01:18:59 2023
New Revision: 1908544

URL: http://svn.apache.org/viewvc?rev=1908544=rev
Log:
Fix a complier warning.

* subversion/libsvn_subr/time.c
  (find_matching_string): strings[i] is an array and cannot be NULL.

Modified:
subversion/trunk/subversion/libsvn_subr/time.c

Modified: subversion/trunk/subversion/libsvn_subr/time.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/time.c?rev=1908544=1908543=1908544=diff
==
--- subversion/trunk/subversion/libsvn_subr/time.c (original)
+++ subversion/trunk/subversion/libsvn_subr/time.c Mon Mar 20 01:18:59 2023
@@ -124,7 +124,7 @@ find_matching_string(char *str, apr_size
   apr_size_t i;
 
   for (i = 0; i < size; i++)
-if (strings[i] && (strcmp(str, strings[i]) == 0))
+if (strcmp(str, strings[i]) == 0)
   return (apr_int32_t) i;
 
   return -1;




svn commit: r1908543 - in /subversion/trunk: build/ac-macros/apr_memcache.m4 build/ac-macros/serf.m4 build/ac-macros/svn-macros.m4 configure.ac

2023-03-19 Thread philip
Author: philip
Date: Mon Mar 20 01:17:01 2023
New Revision: 1908543

URL: http://svn.apache.org/viewvc?rev=1908543=rev
Log:
Replace some deprected autoconf macros, this stops
autoconf 2.72 complaining.  The new macros have
existed since 2.50.

* configure.ac
  Remove AC_HEADER_STDC, change AC_HELP_STRING to
  AS_HELP_STRING.

* build/ac-macros/apr_memcache.m4:
  Change AC_HELP_STRING to AS_HELP_STRING.
  
* build/ac-macros/serf.m4
  Change AC_TRY_COMPILE to AC_COMPILE_IFLSE.

* build/ac-macros/svn-macros.m4
  Change AC_TRY_RUN to AC_RUN_IFELSE.

Modified:
subversion/trunk/build/ac-macros/apr_memcache.m4
subversion/trunk/build/ac-macros/serf.m4
subversion/trunk/build/ac-macros/svn-macros.m4
subversion/trunk/configure.ac

Modified: subversion/trunk/build/ac-macros/apr_memcache.m4
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build/ac-macros/apr_memcache.m4?rev=1908543=1908542=1908543=diff
==
--- subversion/trunk/build/ac-macros/apr_memcache.m4 (original)
+++ subversion/trunk/build/ac-macros/apr_memcache.m4 Mon Mar 20 01:17:01 2023
@@ -29,7 +29,7 @@ AC_DEFUN(SVN_LIB_APR_MEMCACHE,
 [
   apr_memcache_found=no
 
-  AC_ARG_WITH(apr_memcache,AC_HELP_STRING([--with-apr_memcache=PREFIX],
+  AC_ARG_WITH(apr_memcache,AS_HELP_STRING([--with-apr_memcache=PREFIX],
   [Standalone apr_memcache client library]),
   [
 if test "$withval" = "yes" ; then

Modified: subversion/trunk/build/ac-macros/serf.m4
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build/ac-macros/serf.m4?rev=1908543=1908542=1908543=diff
==
--- subversion/trunk/build/ac-macros/serf.m4 (original)
+++ subversion/trunk/build/ac-macros/serf.m4 Mon Mar 20 01:17:01 2023
@@ -107,10 +107,10 @@ AC_DEFUN(SVN_SERF_PREFIX_CONFIG,
   save_ldflags="$LDFLAGS"
   LDFLAGS="$LDFLAGS `SVN_REMOVE_STANDARD_LIB_DIRS(-L$serf_prefix/lib)`"
   AC_CHECK_LIB($serf_major, serf_context_create,[
-AC_TRY_COMPILE([
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
 #include 
 #include "serf.h"
-],[
+]])],[
 #if ! SERF_VERSION_AT_LEAST($serf_check_major, $serf_check_minor, 
$serf_check_patch)
 #error Serf version too old: need $serf_check_version
 #endif

Modified: subversion/trunk/build/ac-macros/svn-macros.m4
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build/ac-macros/svn-macros.m4?rev=1908543=1908542=1908543=diff
==
--- subversion/trunk/build/ac-macros/svn-macros.m4 (original)
+++ subversion/trunk/build/ac-macros/svn-macros.m4 Mon Mar 20 01:17:01 2023
@@ -126,7 +126,7 @@ AC_DEFUN([SVN_REMOVE_STANDARD_LIB_DIRS],
 AC_DEFUN([SVN_CHECK_FOR_ATOMIC_BUILTINS],
 [
   AC_CACHE_CHECK([whether the compiler provides atomic builtins], 
[svn_cv_atomic_builtins],
-  [AC_TRY_RUN([
+  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
   int main()
   {
   unsigned long long val = 1010, tmp, *mem = 
@@ -161,5 +161,5 @@ AC_DEFUN([SVN_CHECK_FOR_ATOMIC_BUILTINS]
   return 1;
 
   return 0;
-  }], [svn_cv_atomic_builtins=yes], [svn_cv_atomic_builtins=no], 
[svn_cv_atomic_builtins=no])])
+  }]])], [svn_cv_atomic_builtins=yes], [svn_cv_atomic_builtins=no], 
[svn_cv_atomic_builtins=no])])
 ])

Modified: subversion/trunk/configure.ac
URL: 
http://svn.apache.org/viewvc/subversion/trunk/configure.ac?rev=1908543=1908542=1908543=diff
==
--- subversion/trunk/configure.ac (original)
+++ subversion/trunk/configure.ac Mon Mar 20 01:17:01 2023
@@ -379,7 +379,7 @@ fi
 dnl Check for doxygen
 doxygen=yes
 AC_ARG_WITH(doxygen,
-AC_HELP_STRING([--with-doxygen=PATH],
+AS_HELP_STRING([--with-doxygen=PATH],
[Specify the command to run doxygen]),
 [
 doxygen="$withval"
@@ -934,9 +934,6 @@ AC_SUBST(BDB_TEST_PROGRAMS)
 
 dnl Check for header files 
 
-dnl Standard C headers
-AC_HEADER_STDC
-
 dnl Check for typedefs, structures, and compiler characteristics --
 
 dnl if compiler doesn't understand `const', then define it empty
@@ -1249,7 +1246,7 @@ AC_SUBST(MOD_ACTIVATION)
 
 
 AC_ARG_ENABLE(gcov,
-AC_HELP_STRING([--enable-gcov],
+AS_HELP_STRING([--enable-gcov],
[Turn on gcov coverage testing (GCC only).]),
 [
 if test "$enableval" = "yes" ; then




svn commit: r1837265 - /subversion/site/publish/docs/release-notes/1.10.html

2018-08-01 Thread philip
Author: philip
Date: Wed Aug  1 23:06:17 2018
New Revision: 1837265

URL: http://svn.apache.org/viewvc?rev=1837265=rev
Log:
* publish/docs/release-notes/1.10.html: Typo.

Modified:
subversion/site/publish/docs/release-notes/1.10.html

Modified: subversion/site/publish/docs/release-notes/1.10.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/release-notes/1.10.html?rev=1837265=1837264=1837265=diff
==
--- subversion/site/publish/docs/release-notes/1.10.html (original)
+++ subversion/site/publish/docs/release-notes/1.10.html Wed Aug  1 23:06:17 
2018
@@ -232,7 +232,7 @@ should refer to the
 title="Link to this section">
 
 
-The impoved path-based authorization
+The improved path-based authorization
   changes the behaviour of some existing authz files.
 
 The 1.9 and earlier implementations allowed multiple rules for the




svn commit: r1837185 - /subversion/trunk/subversion/libsvn_client/conflicts.c

2018-07-31 Thread philip
Author: philip
Date: Tue Jul 31 22:14:08 2018
New Revision: 1837185

URL: http://svn.apache.org/viewvc?rev=1837185=rev
Log:
* subversion/libsvn_client/conflicts.c
  (svn_client_conflict_option_get_moved_to_abspath_candidates): Adjust
   indentation, i.e. whitespace only, to fix a compiler warning about
   misleading indentation. 

Modified:
subversion/trunk/subversion/libsvn_client/conflicts.c

Modified: subversion/trunk/subversion/libsvn_client/conflicts.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/conflicts.c?rev=1837185=1837184=1837185=diff
==
--- subversion/trunk/subversion/libsvn_client/conflicts.c (original)
+++ subversion/trunk/subversion/libsvn_client/conflicts.c Tue Jul 31 22:14:08 
2018
@@ -10446,30 +10446,30 @@ svn_client_conflict_option_get_moved_to_
 
   details = conflict->tree_conflict_incoming_details;
   if (details == NULL || details->wc_move_targets == NULL)
-   return svn_error_createf(SVN_ERR_WC_CONFLICT_RESOLVER_FAILURE, NULL,
-_("Getting a list of possible move targets "
-  "requires details for tree conflict at '%s' "
-  "to be fetched from the repository first"),
-   svn_dirent_local_style(victim_abspath,
-  scratch_pool));
+return svn_error_createf(SVN_ERR_WC_CONFLICT_RESOLVER_FAILURE, NULL,
+ _("Getting a list of possible move targets "
+   "requires details for tree conflict at '%s' 
"
+   "to be fetched from the repository first"),
+ svn_dirent_local_style(victim_abspath,
+scratch_pool));
 
-   move_target_wc_abspaths =
+  move_target_wc_abspaths =
  svn_hash_gets(details->wc_move_targets,
get_moved_to_repos_relpath(details, scratch_pool));
 
-   /* Return a copy of the option's move target candidate list. */
-   *possible_moved_to_abspaths =
+  /* Return a copy of the option's move target candidate list. */
+  *possible_moved_to_abspaths =
  apr_array_make(result_pool, move_target_wc_abspaths->nelts,
 sizeof (const char *));
-   for (i = 0; i < move_target_wc_abspaths->nelts; i++)
- {
-   const char *moved_to_abspath;
+  for (i = 0; i < move_target_wc_abspaths->nelts; i++)
+{
+  const char *moved_to_abspath;
 
-   moved_to_abspath = APR_ARRAY_IDX(move_target_wc_abspaths, i,
-const char *);
-   APR_ARRAY_PUSH(*possible_moved_to_abspaths, const char *) =
+  moved_to_abspath = APR_ARRAY_IDX(move_target_wc_abspaths, i,
+   const char *);
+  APR_ARRAY_PUSH(*possible_moved_to_abspaths, const char *) =
  apr_pstrdup(result_pool, moved_to_abspath);
- }
+}
 }
 
   return SVN_NO_ERROR;




svn commit: r1837184 - /subversion/trunk/subversion/libsvn_wc/wc_db.c

2018-07-31 Thread philip
Author: philip
Date: Tue Jul 31 22:09:16 2018
New Revision: 1837184

URL: http://svn.apache.org/viewvc?rev=1837184=rev
Log:
* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_find_working_nodes_with_basename): Remove unused variable.

Modified:
subversion/trunk/subversion/libsvn_wc/wc_db.c

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=1837184=1837183=1837184=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Tue Jul 31 22:09:16 2018
@@ -16651,11 +16651,9 @@ svn_wc__db_find_working_nodes_with_basen
 
   while (have_row)
 {
-  svn_wc__db_status_t presence;
   const char *local_relpath;
   const char *local_abspath;
 
-  presence = svn_sqlite__column_token(stmt, 0, presence_map);
   local_relpath = svn_sqlite__column_text(stmt, 1, NULL);
   local_abspath = svn_dirent_join(wcroot->abspath, local_relpath,
   result_pool);




svn commit: r1837098 - /subversion/site/publish/docs/release-notes/1.10.html

2018-07-30 Thread philip
Author: philip
Date: Tue Jul 31 00:11:45 2018
New Revision: 1837098

URL: http://svn.apache.org/viewvc?rev=1837098=rev
Log:
* publish/docs/release-notes/1.10.html: typo

Modified:
subversion/site/publish/docs/release-notes/1.10.html

Modified: subversion/site/publish/docs/release-notes/1.10.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/release-notes/1.10.html?rev=1837098=1837097=1837098=diff
==
--- subversion/site/publish/docs/release-notes/1.10.html (original)
+++ subversion/site/publish/docs/release-notes/1.10.html Tue Jul 31 00:11:45 
2018
@@ -279,7 +279,7 @@ for the same path:
 
 
 In 1.9 this would define access for both userA
-and userB, in 1.10 the per-repository rule override the
+and userB, in 1.10 the per-repository rule overrides the
 global rule and this only defines access for userB.  The 1.10
 implementation may change in future 1.10.x releases, but the exact
 change is still being discussed on the dev mailing list.




svn commit: r1837096 - /subversion/site/publish/docs/release-notes/1.10.html

2018-07-30 Thread philip
Author: philip
Date: Mon Jul 30 23:54:42 2018
New Revision: 1837096

URL: http://svn.apache.org/viewvc?rev=1837096=rev
Log:
* publish/docs/release-notes/1.10.html 
  (#new-feature-compatibility-table): Link to #authz-compatibility.
  (#authz-compatibility): New, describe authz compatibility concerns.
  (#authzperf, #issue-svn-4762): Link to #authz-compatibility.

Modified:
subversion/site/publish/docs/release-notes/1.10.html

Modified: subversion/site/publish/docs/release-notes/1.10.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/release-notes/1.10.html?rev=1837096=1837095=1837096=diff
==
--- subversion/site/publish/docs/release-notes/1.10.html (original)
+++ subversion/site/publish/docs/release-notes/1.10.html Mon Jul 30 23:54:42 
2018
@@ -114,7 +114,7 @@ and what impact these changes may have.<
 any
 1.10
 any
-Existing authz configurations may need to be adjusted.
+Existing authz configurations may 
need to be adjusted.
   
 
   New interactive conflict resolver
@@ -226,6 +226,66 @@ should refer to the
 
   
 
+
+New path-based authorization compatibility
+  
+
+
+The impoved path-based authorization
+  changes the behaviour of some existing authz files.
+
+The 1.9 and earlier implementations allowed multiple rules for the
+same path:
+
+
+  [/some/path]
+  userA = r
+  [/some/path]
+  userB = rw
+
+
+In 1.9 this would define access for both userA
+and userB, in 1.10 this raises an error and no access is
+possible.
+
+The 1.9 and earlier implementations allowed multiple entries
+matching the same name, alias or group and the last match applied:
+
+
+  [/some/path]
+  user = rw
+  user = r
+   = rw
+   = r
+  @group = rw
+  @group = r
+
+
+In 1.9 the final, read-only, match
+for user,  and @group would be
+selected while 1.10 combines all the lines to give read-write access.
+The 1.10 implementation may change in future 1.10.x releases, perhaps
+to make this case an error.
+
+The 1.9 implementation combined the global and per-repository rules
+for the same path:
+
+
+  [/some/path]
+  userA = rw
+  [repository:/some/path]
+  userB = r
+
+
+In 1.9 this would define access for both userA
+and userB, in 1.10 the per-repository rule override the
+global rule and this only defines access for userB.  The 1.10
+implementation may change in future 1.10.x releases, but the exact
+change is still being discussed on the dev mailing list.
+  
+  
+
 
 svnadmin subcommands print locked paths differently
   
 
  Subversion 1.10 provides a new implementation of path-based authorization
-with improved performance and wildcard support.
+with improved performance and wildcard support. There are some
+compatibility issues.
 
 Existing authz rules come in two flavours, repository-specific and global:

@@ -959,7 +1020,8 @@ tracker for details and for other is
   
 
-Broken in 1.10.0 and 1.10.1.
+Broken in 1.10.0 and 1.10.1.  See also
+  path-based authorization 
compatibility.
 
 
   




svn commit: r1836964 - /subversion/branches/1.10.x/STATUS

2018-07-29 Thread philip
Author: philip
Date: Sun Jul 29 12:02:32 2018
New Revision: 1836964

URL: http://svn.apache.org/viewvc?rev=1836964=rev
Log:
* STATUS: Vote/approve issue 4744 fix.

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=1836964=1836963=1836964=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Sun Jul 29 12:02:32 2018
@@ -15,19 +15,6 @@ Status of 1.10.3:
 Candidate changes:
 ==
 
- * r1833895, r1833897, r1833899, r1833901
-   Fix issue #4744 "during merge: assertion failed (start_rev > end_rev)"
-   Justification:
- Fixes undesirable conflict resolver behaviour.
-   Notes:
- r1833895 adds a regression test
- r1833897 prevents offer of a non-working resolution option
- r1833899 fixes accidental test breakage introduced by r1833897
- r1833901 prevents the assertion failure and adjusts the test
- Issue #4739 fix should be merged before this to avoid merge conflicts.
-  Votes:
-+1: stsp, jcorvel
-
  * r1833465
Enforce the v1 HTTP protocol when a client sends PUT before CHECKOUT.
Justification:
@@ -63,3 +50,16 @@ Veto-blocked changes:
 
 Approved changes:
 =
+
+ * r1833895, r1833897, r1833899, r1833901
+   Fix issue #4744 "during merge: assertion failed (start_rev > end_rev)"
+   Justification:
+ Fixes undesirable conflict resolver behaviour.
+   Notes:
+ r1833895 adds a regression test
+ r1833897 prevents offer of a non-working resolution option
+ r1833899 fixes accidental test breakage introduced by r1833897
+ r1833901 prevents the assertion failure and adjusts the test
+ Issue #4739 fix should be merged before this to avoid merge conflicts.
+  Votes:
+    +1: stsp, jcorvel, philip




svn commit: r1836839 - /subversion/branches/1.10.x/STATUS

2018-07-27 Thread philip
Author: philip
Date: Fri Jul 27 16:17:42 2018
New Revision: 1836839

URL: http://svn.apache.org/viewvc?rev=1836839=rev
Log:
* STATUS: Vote/approve issue 4739 fix.

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=1836839=1836838=1836839=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Fri Jul 27 16:17:42 2018
@@ -15,19 +15,6 @@ Status of 1.10.3:
 Candidate changes:
 ==
 
- * r1830083, r1833864, r1833866
-   Fix issue #4739, "Accept incoming deletion" option doing nothing
-   for a locally deleted file
-   Justification:
- Fixes undesirable conflict resolver behaviour.
-   Notes:
- r1830083 adds a regression test
- r1833864 fixes the issue
- r1833866 is a small follow-up fix
- Issue #4744 fix should be merged after this to avoid merge conflicts.
-   Votes:
- +1: stsp, jcorvel
-
  * r1833895, r1833897, r1833899, r1833901
Fix issue #4744 "during merge: assertion failed (start_rev > end_rev)"
Justification:
@@ -76,3 +63,16 @@ Veto-blocked changes:
 
 Approved changes:
 =
+
+ * r1830083, r1833864, r1833866
+   Fix issue #4739, "Accept incoming deletion" option doing nothing
+   for a locally deleted file
+   Justification:
+ Fixes undesirable conflict resolver behaviour.
+   Notes:
+ r1830083 adds a regression test
+ r1833864 fixes the issue
+ r1833866 is a small follow-up fix
+ Issue #4744 fix should be merged after this to avoid merge conflicts.
+   Votes:
+ +1: stsp, jcorvel, philip




svn commit: r1836803 - /subversion/branches/1.10.x/STATUS

2018-07-27 Thread philip
Author: philip
Date: Fri Jul 27 10:46:22 2018
New Revision: 1836803

URL: http://svn.apache.org/viewvc?rev=1836803=rev
Log:
* STATUS: Extend client cert password proposal.

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=1836803=1836802=1836803=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Fri Jul 27 10:46:22 2018
@@ -64,7 +64,7 @@ Candidate changes:
Votes:
  +1: philip, danielsh
 
- * r1836762
+ * r1836762, r1836802
Store the HTTPS client cert password.
Justification:
  Restores a feature lost when we switched from neon to serf.




svn commit: r1836802 - /subversion/trunk/subversion/libsvn_subr/ssl_client_cert_pw_providers.c

2018-07-27 Thread philip
Author: philip
Date: Fri Jul 27 10:43:54 2018
New Revision: 1836802

URL: http://svn.apache.org/viewvc?rev=1836802=rev
Log:
Followup to r1836762, now that we store client cert passwords it
turns out that the libsecret gnome keyring doesn't accept NULL
usernames.  Pass a dummy username as a workaround.

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c
  (DUMMY_USERNAME): New.
  (svn_auth__ssl_client_cert_pw_cache_get,
   svn_auth__ssl_client_cert_pw_cache_set): Pass dummy username.

Modified:
subversion/trunk/subversion/libsvn_subr/ssl_client_cert_pw_providers.c

Modified: subversion/trunk/subversion/libsvn_subr/ssl_client_cert_pw_providers.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/ssl_client_cert_pw_providers.c?rev=1836802=1836801=1836802=diff
==
--- subversion/trunk/subversion/libsvn_subr/ssl_client_cert_pw_providers.c 
(original)
+++ subversion/trunk/subversion/libsvn_subr/ssl_client_cert_pw_providers.c Fri 
Jul 27 10:43:54 2018
@@ -36,7 +36,7 @@
 #include "svn_private_config.h"
 
 /*---*/
-/* File provider */
+/* File password provider*/
 /*---*/
 
 /* Baton type for the ssl client cert passphrase provider. */
@@ -51,6 +51,13 @@ typedef struct ssl_client_cert_pw_file_p
   apr_hash_t *plaintext_answers;
 } ssl_client_cert_pw_file_provider_baton_t;
 
+/* The client cert password provider only deals with a password and
+   realm (the client cert filename), there is no username.  The gnome
+   keyring backend based on libsecret requires a non-NULL username so
+   we have to invent one.  An empty string is acceptable and doesn't
+   change the value stored by the kwallet backend. */
+#define DUMMY_USERNAME ""
+
 /* This implements the svn_auth__password_get_t interface.
Set **PASSPHRASE to the plaintext passphrase retrieved from CREDS;
ignore other parameters. */
@@ -132,7 +139,8 @@ svn_auth__ssl_client_cert_pw_cache_get(v
   svn_boolean_t done;
 
   SVN_ERR(passphrase_get(, , creds_hash, realmstring,
- NULL, parameters, non_interactive, pool));
+ DUMMY_USERNAME, parameters, non_interactive,
+ pool));
   if (!done)
 password = NULL;
 }
@@ -293,7 +301,7 @@ svn_auth__ssl_client_cert_pw_cache_set(s
   if (may_save_passphrase)
 {
   SVN_ERR(passphrase_set(saved, creds_hash, realmstring,
- NULL, creds->password, parameters,
+ DUMMY_USERNAME, creds->password, parameters,
  non_interactive, pool));
 
   if (*saved && passtype)




svn commit: r1836764 - /subversion/branches/1.10.x/STATUS

2018-07-26 Thread philip
Author: philip
Date: Thu Jul 26 20:24:24 2018
New Revision: 1836764

URL: http://svn.apache.org/viewvc?rev=1836764=rev
Log:
* STATUS: Propose client cert password saving fix.

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=1836764=1836763=1836764=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Thu Jul 26 20:24:24 2018
@@ -64,6 +64,13 @@ Candidate changes:
Votes:
  +1: philip, danielsh
 
+ * r1836762
+   Store the HTTPS client cert password.
+   Justification:
+ Restores a feature lost when we switched from neon to serf.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1836762 - /subversion/trunk/subversion/libsvn_ra_serf/util.c

2018-07-26 Thread philip
Author: philip
Date: Thu Jul 26 20:20:26 2018
New Revision: 1836762

URL: http://svn.apache.org/viewvc?rev=1836762=rev
Log:
Allow the client cert password to be saved.  The ra_neon library
used to do this but the fuction was lost when we switched to serf.

* subversion/libsvn_ra_serf/util.c
  (handle_client_cert_pw): Add comment.
  (handle_response): Invoke svn_auth_save_credentials for the client
   cert creds.

Modified:
subversion/trunk/subversion/libsvn_ra_serf/util.c

Modified: subversion/trunk/subversion/libsvn_ra_serf/util.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/util.c?rev=1836762=1836761=1836762=diff
==
--- subversion/trunk/subversion/libsvn_ra_serf/util.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/util.c Thu Jul 26 20:20:26 2018
@@ -756,6 +756,9 @@ handle_client_cert_pw(void *data,
 
 if (creds)
   {
+/* At this stage we are unable to check whether the password
+   is correct; if it is incorrect serf will fail to establish
+   an SSL connection and will return a generic SSL error. */
 svn_auth_cred_ssl_client_cert_pw_t *pw_creds;
 pw_creds = creds;
 *password = pw_creds->password;
@@ -1445,6 +1448,23 @@ handle_response(serf_request_t *request,
 
  process_body:
 
+  /* A client cert file password was obtained and worked (any HTTP
+ response means that the SSL connection was established.) */
+  if (handler->conn->ssl_client_pw_auth_state)
+{
+  
SVN_ERR(svn_auth_save_credentials(handler->conn->ssl_client_pw_auth_state,
+handler->session->pool));
+  handler->conn->ssl_client_pw_auth_state = NULL;
+}
+  if (handler->conn->ssl_client_auth_state)
+{
+  /* The cert file provider doesn't have any code to save creds so
+ this is currently a no-op. */
+  SVN_ERR(svn_auth_save_credentials(handler->conn->ssl_client_auth_state,
+handler->session->pool));
+  handler->conn->ssl_client_auth_state = NULL;
+}
+
   /* We've been instructed to ignore the body. Drain whatever is present.  */
   if (handler->discard_body)
 {




svn commit: r1836591 - /subversion/branches/1.10.x/STATUS

2018-07-24 Thread philip
Author: philip
Date: Tue Jul 24 23:28:16 2018
New Revision: 1836591

URL: http://svn.apache.org/viewvc?rev=1836591=rev
Log:
* STATUS: Propose pipe/fifo fix (danielsh via email).

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=1836591=1836590=1836591=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Tue Jul 24 23:28:16 2018
@@ -57,6 +57,13 @@ Candidate changes:
Votes:
  +1: julianfoad, jamessan
 
+ * r1836306
+   Ignore stat() reporting size zero when reading from pipe/fifo.
+   Justification:
+ Makes things like 'svn ci -F <(echo foo)' work.
+   Votes:
+ +1: philip, danielsh
+
 Veto-blocked changes:
 =
 




svn commit: r1836306 - /subversion/trunk/subversion/libsvn_subr/io.c

2018-07-19 Thread philip
Author: philip
Date: Thu Jul 19 23:10:51 2018
New Revision: 1836306

URL: http://svn.apache.org/viewvc?rev=1836306=rev
Log:
* subversion/libsvn_subr/io.c
  (stringbuf_from_aprfile): If the file is a FIFO then do not rely on
   the filesize as it will always be zero.  This allows things like:
 svn commit -F <(echo foo)
 svnmucc propsetf p <(echo bar) URL

Modified:
subversion/trunk/subversion/libsvn_subr/io.c

Modified: subversion/trunk/subversion/libsvn_subr/io.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?rev=1836306=1836305=1836306=diff
==
--- subversion/trunk/subversion/libsvn_subr/io.c (original)
+++ subversion/trunk/subversion/libsvn_subr/io.c Thu Jul 19 23:10:51 2018
@@ -2546,9 +2546,10 @@ stringbuf_from_aprfile(svn_stringbuf_t *
 {
   apr_finfo_t finfo = { 0 };
 
-  /* In some cases we get size 0 and no error for non files,
-  so we also check for the name. (= cached in apr_file_t) */
-  if (! apr_file_info_get(, APR_FINFO_SIZE, file) && finfo.fname)
+  /* In some cases we get size 0 and no error for non files, so we
+ also check for the name. (= cached in apr_file_t) and for FIFOs */
+  if (! apr_file_info_get(, APR_FINFO_SIZE | APR_FINFO_TYPE, file)
+  && finfo.fname && finfo.filetype != APR_PIPE)
 {
   /* we've got the file length. Now, read it in one go. */
   svn_boolean_t eof;




svn commit: r1835770 - /subversion/branches/1.10.x/STATUS

2018-07-12 Thread philip
Author: philip
Date: Thu Jul 12 19:37:34 2018
New Revision: 1835770

URL: http://svn.apache.org/viewvc?rev=1835770=rev
Log:
* STATUS: Vote for gnome keyring fix.

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=1835770=1835769=1835770=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Thu Jul 12 19:37:34 2018
@@ -71,7 +71,7 @@ Candidate changes:
  Private API violation; fixes user-reported segfault due to uninitialized
  stack variable.
Votes:
- +1: danielsh
+ +1: danielsh, philip
 
 Veto-blocked changes:
 =




svn commit: r1834175 - /subversion/branches/1.9.x/STATUS

2018-06-22 Thread philip
Author: philip
Date: Fri Jun 22 23:51:05 2018
New Revision: 1834175

URL: http://svn.apache.org/viewvc?rev=1834175=rev
Log:
* STATUS: Propose HTTP v1 protocol fix.

Modified:
subversion/branches/1.9.x/STATUS

Modified: subversion/branches/1.9.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.9.x/STATUS?rev=1834175=1834174=1834175=diff
==
--- subversion/branches/1.9.x/STATUS (original)
+++ subversion/branches/1.9.x/STATUS Fri Jun 22 23:51:05 2018
@@ -119,6 +119,14 @@ Candidate changes:
Votes:
  +1: stsp
 
+ * r1833465
+   Enforce the v1 HTTP protocol when a client sends PUT before CHECKOUT.
+   Justification:
+ Return an error when the client gets the protocol wrong.
+   Branch: ^/subversion/branches/1.9.x-r1833465
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1834174 - in /subversion/branches/1.9.x-r1833465: ./ subversion/mod_dav_svn/repos.c

2018-06-22 Thread philip
Author: philip
Date: Fri Jun 22 23:48:57 2018
New Revision: 1834174

URL: http://svn.apache.org/viewvc?rev=1834174=rev
Log:
On 1.9.x-r1833465 branch: merge r1833465 and adjust call to dav_svn__new_error.

Modified:
subversion/branches/1.9.x-r1833465/   (props changed)
subversion/branches/1.9.x-r1833465/subversion/mod_dav_svn/repos.c

Propchange: subversion/branches/1.9.x-r1833465/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 22 23:48:57 2018
@@ -110,4 +110,4 @@
 /subversion/branches/verify-at-commit:1462039-1462408
 /subversion/branches/verify-keep-going:1439280-1546110
 /subversion/branches/wc-collate-path:1402685-1480384
-/subversion/trunk:1660545-1660547,1660549-1662901,1663003,1663183-1663184,1663253,1663286,1663338,1663347,1663355,1663374,1663450,1663500,1663530,1663671,1663697,1663706,1663738,1663749,1663791,1663991,1664035,1664078,1664080,1664084-1664085,1664187,1664191,1664193,1664200,1664344,1664476,1664480-1664481,1664483,1664489-1664490,1664507,1664520-1664521,1664523,1664526-1664527,1664531-1664532,1664588,1664593-1664594,1664596,1664653,1664664,1664672,1664674,1664684,1664927,1664938-1664940,1664978,1664984,1664997,1665164,1665195,1665213,1665259,1665318,1665437-1665438,1665609,1665611-1665612,1665845,1665850,1665852,1665873,1665886,1665894,1665896,1666096,1666258,1666270,1666272,1666379,1666449,190,1666832,1666851,1666965,1667101,1667106-1667107,1667120,1667228,1667233-1667235,1667249-1667250,1667258,1667290,1667301,1667471,1667691-1667693,1667699-1667700,1667715,1667738,1667941,1667976,1668320,1668598-1668600,1668602-1668603,1668607-1668608,1668618,1668625,1669743,1669746,1669749,166
 
9945,1670139,1670149,1670152,1670329,1670337,1670347,1670353,1671164,1671388,1672295,1672311,1672372,1672404,1672511-1672512,1672578,1672728,1673044,1673062-1673063,1673065,1673153,1673170,1673172,1673197,1673202,1673204,1673228,1673282,1673445,1673691-1673692,1673746,1673785,1673803,1674015,1674032,1674170,1674301,1674305,1674308,1674339-1674340,1674406,1674415,1674455-1674456,1674475,1674487,1674522,1674580,1674626-1674627,1674785,1674891,1675771,1675774,1676526,1676535,1676538,1676555,1676564,1676570,1676665,1676667,1676769,1677003,1677191,1677267,1677440,1678147,1678149,1678494,1678571,1678734,1678742,1678745-1678746,1678755,1678839,1678846,1678894,1678950,1678963,1679166,1679169,1679228,1679230,1679240,1679287,1679864,1679866,1679909,1680242,1680264,1680495,1680705,1680819,1681317,1682714,1682854,1683071,1683126,1683135,1683266-1683267,1683290,1683303,1683311,1683378,1683387,1684034,1684077,1684322,1684325,1684344,1684412,1684940,1685034,1685085,1686175,1686239,1686478,1686541,
 
1686543,1686554,1686557,1686802,1686888,1686984,1687029,1687304,1687389,1687769,1687776,1687812,1688258,1688273,1688395,1689214,1689216,1689721,1689729,1691712-1691713,1691924,1691928,1692091,1692093,1692098,1692448,1692469-1692470,1692798-1692799,1693135,1693138,1693159,1693886,1694023,1694194,1694481,1694929,1695022,1695600,1695606,1695681,1696222,1696225,1696387,1696695,1697381,1697384,1697387,1697664,1697824,1697835,1697845,1697914,1697967,1698106,1698312,1700130,1700215,1700219-1700220,1700740,1700951,1701064,1701206,1701270,1701298,1701598,1701603,1701611,1701633,1701638,1701646,1701736,1701792,1701797,1701838,1701997,1702198,1702200,1702203,1702218,1702231,1702237-1702239,1702247,1702288,1702299-1702300,1702310,1702397,1702407,1702467,1702472,1702474,1702478,1702533,1702549,1702553,1702565,1702891,1702974,1702991,1703470,1703475-1703477,1703544,1703581,1703675,1703688-1703689,1703740,1704292,1704573,1704821,1704847,1705060,1705062,1705064,1705088,1705328,1705843,1706241,17063
 
23-1706324,1706375,1706428,1706432,1706437,1706783,1706983,1706999,1708699,1709388-1709389,1709553,1709562,1710104,1710167,1710215,1710290,1710558,1711250,1711346,1711507,1711510,1714314,1714358,1714790,1715224,1715232,1715262,1715777,1715793,1716808,1717154,1717869,1717871,1717873-1717875,1717878,1718167,1718267,1718269,1718484,1720015,1720643,1721174-1721175,1721285,1721488,1721648,1722164,1722860-1722861,1722879,1722887,1724448,1725180,1728308,1728387,1729060,1729519,1730856,1734106,1734926,1735179,1735826,1736432,1737122,1738259,1738659,1738828,1739278,1739280,1740252,1740254,1740316,1741071-1741073,1741078,1741096,1741200,1741206,1741401,1745515,1746053,1746277,1746364,1748514,1754190,1756266,1757529,1757532,1757539,1758128-1758130,1758153,1758202,1758204,1758207,1758209,1758224,1758269,1758385,1758781,1759116-1759124,1759686,1760570,1761334,1761653,1761755,1762338-1762339,1763934,1764034,1764676,1764851,1766240,1766323,1766327,1766352,1766590,1766699,1766704,1766711,1767768,17
 
69152,1769456,1769973,1770677,1774109,1776742,1776783,1776788,1777103,1779948,1781507,1781655,1783214,1783704,1785053,1785734,1785737-1785738,1785754,1786445-1786447,1786515,1794611,1795116,1796158,1796420,1796720,1800619,1802080,1802316,1804691

svn commit: r1834173 - /subversion/branches/1.9.x-r1833465/

2018-06-22 Thread philip
Author: philip
Date: Fri Jun 22 23:45:05 2018
New Revision: 1834173

URL: http://svn.apache.org/viewvc?rev=1834173=rev
Log:
Create 1.9.x-r1833465 branch.

Added:
subversion/branches/1.9.x-r1833465/   (props changed)
  - copied from r1834172, subversion/branches/1.9.x/

Propchange: subversion/branches/1.9.x-r1833465/
--
--- svn:auto-props (added)
+++ svn:auto-props Fri Jun 22 23:45:05 2018
@@ -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.9.x-r1833465/
--
--- svn:ignore (added)
+++ svn:ignore Fri Jun 22 23:45:05 2018
@@ -0,0 +1,57 @@
+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.sln
+subversion_vcnet.ncb
+subversion_vcnet.suo
+subversion_vcnet.v11.suo
+subversion_vcnet.sdf
+subversion_vcnet.opensdf
+mkmf.log
+.project
+.classpath
+.cdtproject
+.settings
+.cproject
+zlib
+sqlite-amalgamation
+serf
+gmock-fused
+.git
+.gitignore
+compile_commands.json
+.kdev4
+*.kdev4

Propchange: subversion/branches/1.9.x-r1833465/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Jun 22 23:45:05 2018
@@ -0,0 +1,113 @@
+/subversion/branches/1.10-cache-improvements:1675666-1677522,1679679,1679681,1679859
+/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-fix-fsfs:1796142-1796469
+/subversion/branches/1.9.x-fsfs-pack-fixes:1759183-1770158
+/subversion/branches/1.9.x-fsfs-rep-comparison:1717869-1739708
+/subversion/branches/1.9.x-issue4722:1826271-1827687
+/subversion/branches/1.9.x-r1664664:1674265-1674433
+/subversion/branches/1.9.x-r1667233:1673207-1673638
+/subversion/branches/1.9.x-r1700215:1701365-1703825
+/subversion/branches/1.9.x-r1703581:1703613-1713071
+/subversion/branches/1.9.x-r1706428:1711251-1716560
+/subversion/branches/1.9.x-r1721488:1723204-1764572,1764631-1764637
+/subversion/branches/1.9.x-r1725180:1727683-1739396
+/subversion/branches/1.9.x-r1757529-group:1757739-1757935
+/subversion/branches/1.9.x-r1758224-group:1758407-1758693
+/subversion/branches/1.9.x-r1785053:1786519-1794526
+/subversion/branches/1.9.x-r1795116:1795117-1814247
+/subversion/branches/1.9.x-r1802316:1802343-1803754
+/subversion/branches/1.9.x-r1808955:1808957-1820522
+/subversion/branches/1.9.x-rep-cache-db-fixes:1743185-1757778
+/subversion/branches/1.9.x-strict-rep-sharing:1786535-1795992
+/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:1615360
+/subversion/branches/auto-props-sdc:1384106-1401643
+/subversion/branches/bdb-reverse-deltas:872050-872529
+/subversion/branches/cache-server:1458643-1476567
+/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

svn commit: r1834172 - /subversion/branches/1.10.x/STATUS

2018-06-22 Thread philip
Author: philip
Date: Fri Jun 22 23:17:20 2018
New Revision: 1834172

URL: http://svn.apache.org/viewvc?rev=1834172=rev
Log:
* STATUS: Vote for conflict resolver search limit fix.

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=1834172=1834171=1834172=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Fri Jun 22 23:17:20 2018
@@ -50,7 +50,7 @@ Candidate changes:
  User complained and provided a reproduction script:
  https://svn.haxx.se/users/archive-2018-04/0060.shtml
Votes:
- +1: stsp
+ +1: stsp, philip
 
  * r1830083, r1833864, r1833866
Fix issue #4739, "Accept incoming deletion" option doing nothing




svn commit: r1834166 - /subversion/branches/1.10.x/STATUS

2018-06-22 Thread philip
Author: philip
Date: Fri Jun 22 22:01:50 2018
New Revision: 1834166

URL: http://svn.apache.org/viewvc?rev=1834166=rev
Log:
* STATUS: Propose HTTP v1 protocol fix.

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=1834166=1834165=1834166=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Fri Jun 22 22:01:50 2018
@@ -78,6 +78,13 @@ Candidate changes:
   Votes:
 +1: stsp
 
+ * r1833465
+   Enforce the v1 HTTP protocol when a client sends PUT before CHECKOUT.
+   Justification:
+ Return an error when the client gets the protocol wrong.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1834063 - in /subversion/trunk/subversion/svn: shelf-cmd.c svn.c

2018-06-21 Thread philip
Author: philip
Date: Thu Jun 21 22:02:21 2018
New Revision: 1834063

URL: http://svn.apache.org/viewvc?rev=1834063=rev
Log:
Allow "svn x-shelf-log" from outside the working copy.

* subversion/svn/shelf-cmd.c
  (svn_cl__shelf_log): Accept path arguments, supply default '.' path.

* subversion/svn/svn.c
  (svn_cl__cmd_table): Update help text.

Modified:
subversion/trunk/subversion/svn/shelf-cmd.c
subversion/trunk/subversion/svn/svn.c

Modified: subversion/trunk/subversion/svn/shelf-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/shelf-cmd.c?rev=1834063=1834062=1834063=diff
==
--- subversion/trunk/subversion/svn/shelf-cmd.c (original)
+++ subversion/trunk/subversion/svn/shelf-cmd.c Thu Jun 21 22:02:21 2018
@@ -1124,20 +1124,30 @@ svn_cl__shelf_log(apr_getopt_t *os,
   void *baton,
   apr_pool_t *pool)
 {
+  svn_cl__opt_state_t *opt_state = ((svn_cl__cmd_baton_t *) baton)->opt_state;
   svn_client_ctx_t *ctx = ((svn_cl__cmd_baton_t *) baton)->ctx;
   const char *name;
-  const char *local_abspath;
+  apr_array_header_t *targets = NULL;
+  apr_pool_t *iterpool = svn_pool_create(pool);
+  int i;
 
   SVN_ERR(get_next_argument(, os, pool, pool));
 
-  /* There should be no remaining arguments. */
-  if (os->ind < os->argc)
-return svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, 0,
-_("Too many arguments"));
-
-  SVN_ERR(svn_dirent_get_absolute(_abspath, "", pool));
-  SVN_ERR(shelf_log(name, local_abspath,
-ctx, pool));
+  SVN_ERR(svn_cl__args_to_target_array_print_reserved(, os,
+  opt_state->targets,
+  ctx, FALSE, pool));
+  svn_opt_push_implicit_dot_target(targets, pool);
+
+  for (i = 0; i < targets->nelts; ++i)
+{
+  const char *target = APR_ARRAY_IDX(targets, i, const char *);
+
+  svn_pool_clear(iterpool);
+  SVN_ERR(shelf_log(name, target,
+ctx, pool));
+}
+
+  svn_pool_destroy(iterpool);
 
   return SVN_NO_ERROR;
 }

Modified: subversion/trunk/subversion/svn/svn.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/svn.c?rev=1834063=1834062=1834063=diff
==
--- subversion/trunk/subversion/svn/svn.c (original)
+++ subversion/trunk/subversion/svn/svn.c Thu Jun 21 22:02:21 2018
@@ -1999,9 +1999,10 @@ const svn_opt_subcommand_desc3_t svn_cl_
 
   { "x-shelf-log", svn_cl__shelf_log, {"shelf-log"}, {N_(
  "Show the versions of a shelf.\n"
- "usage: x-shelf-log SHELF\n"
+ "usage: x-shelf-log SHELF [PATH...]\n"
  "\n"), N_(
- "  Show all versions of SHELF.\n"
+ "  Show all versions of SHELF for each working copy containing PATH 
(the\n"
+ "  default PATH is '.').\n"
  "\n"), N_(
  "  The shelving feature is EXPERIMENTAL. This command is likely to 
change\n"
  "  in the next release, and there is no promise of backward 
compatibility.\n"




svn commit: r1833937 - in /subversion/trunk/subversion/svn: shelf-cmd.c svn.c

2018-06-20 Thread philip
Author: philip
Date: Wed Jun 20 19:19:52 2018
New Revision: 1833937

URL: http://svn.apache.org/viewvc?rev=1833937=rev
Log:
Allow "svn x-shelf-drop" from outside the working copy.

* subversion/svn/shelf-cmd.c
  (svn_cl__shelf_drop): Accept path arguments, supply default '.' path.

* subversion/svn/svn.c
  (svn_cl__cmd_table): Update help text.

Modified:
subversion/trunk/subversion/svn/shelf-cmd.c
subversion/trunk/subversion/svn/svn.c

Modified: subversion/trunk/subversion/svn/shelf-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/shelf-cmd.c?rev=1833937=1833936=1833937=diff
==
--- subversion/trunk/subversion/svn/shelf-cmd.c (original)
+++ subversion/trunk/subversion/svn/shelf-cmd.c Wed Jun 20 19:19:52 2018
@@ -1068,18 +1068,28 @@ svn_cl__shelf_drop(apr_getopt_t *os,
   svn_cl__opt_state_t *opt_state = ((svn_cl__cmd_baton_t *) baton)->opt_state;
   svn_client_ctx_t *ctx = ((svn_cl__cmd_baton_t *) baton)->ctx;
   const char *name;
-  const char *local_abspath;
+  apr_array_header_t *targets = NULL;
+  apr_pool_t *iterpool = svn_pool_create(pool);
+  int i;
 
   SVN_ERR(get_next_argument(, os, pool, pool));
 
-  /* There should be no remaining arguments. */
-  if (os->ind < os->argc)
-return svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, 0, NULL);
-
-  SVN_ERR(svn_dirent_get_absolute(_abspath, "", pool));
-  SVN_ERR(shelf_drop(name, local_abspath,
- opt_state->dry_run, opt_state->quiet,
- ctx, pool));
+  SVN_ERR(svn_cl__args_to_target_array_print_reserved(, os,
+  opt_state->targets,
+  ctx, FALSE, pool));
+  svn_opt_push_implicit_dot_target(targets, pool);
+
+  for (i = 0; i < targets->nelts; ++i)
+{
+  const char *target = APR_ARRAY_IDX(targets, i, const char *);
+
+  svn_pool_clear(iterpool);
+  SVN_ERR(shelf_drop(name, target,
+ opt_state->dry_run, opt_state->quiet,
+ ctx, iterpool));
+}
+
+  svn_pool_destroy(iterpool);
 
   return SVN_NO_ERROR;
 }

Modified: subversion/trunk/subversion/svn/svn.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/svn.c?rev=1833937=1833936=1833937=diff
==
--- subversion/trunk/subversion/svn/svn.c (original)
+++ subversion/trunk/subversion/svn/svn.c Wed Jun 20 19:19:52 2018
@@ -1962,9 +1962,10 @@ const svn_opt_subcommand_desc3_t svn_cl_
 
   { "x-shelf-drop", svn_cl__shelf_drop, {"shelf-drop"}, {N_(
  "Delete a shelf.\n"
- "usage: x-shelf-drop SHELF\n"
+ "usage: x-shelf-drop SHELF [PATH ...]\n"
  "\n"), N_(
- "  Delete the shelf named SHELF.\n"
+ "  Delete the shelves named SHELF from the working copies containing 
PATH\n"
+ "  (default PATH is '.')\n"
  "\n"), N_(
  "  The shelving feature is EXPERIMENTAL. This command is likely to 
change\n"
  "  in the next release, and there is no promise of backward 
compatibility.\n"




svn commit: r1833936 - /subversion/trunk/subversion/svn/shelf-cmd.c

2018-06-20 Thread philip
Author: philip
Date: Wed Jun 20 19:13:20 2018
New Revision: 1833936

URL: http://svn.apache.org/viewvc?rev=1833936=rev
Log:
* subversion/svn/shelf-cmd.c
  (svn_cl__shelf_list): Rename subpool and use it properly.

Modified:
subversion/trunk/subversion/svn/shelf-cmd.c

Modified: subversion/trunk/subversion/svn/shelf-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/shelf-cmd.c?rev=1833936=1833935=1833936=diff
==
--- subversion/trunk/subversion/svn/shelf-cmd.c (original)
+++ subversion/trunk/subversion/svn/shelf-cmd.c Wed Jun 20 19:13:20 2018
@@ -902,7 +902,7 @@ svn_cl__shelf_list(apr_getopt_t *os,
   svn_cl__opt_state_t *opt_state = ((svn_cl__cmd_baton_t *) baton)->opt_state;
   svn_client_ctx_t *ctx = ((svn_cl__cmd_baton_t *) baton)->ctx;
   apr_array_header_t *targets = NULL;
-  apr_pool_t *subpool = svn_pool_create(pool);
+  apr_pool_t *iterpool = svn_pool_create(pool);
   int i;
 
   SVN_ERR(svn_cl__args_to_target_array_print_reserved(, os,
@@ -915,12 +915,14 @@ svn_cl__shelf_list(apr_getopt_t *os,
 {
   const char *target = APR_ARRAY_IDX(targets, i, const char *);
 
-  svn_pool_clear(subpool);
+  svn_pool_clear(iterpool);
   SVN_ERR(shelves_list(target,
opt_state->quiet,
-   ctx, pool));
+   ctx, iterpool));
 }
 
+  svn_pool_destroy(iterpool);
+
   return SVN_NO_ERROR;
 }
 




svn commit: r1833935 - in /subversion/trunk/subversion/svn: shelf-cmd.c svn.c

2018-06-20 Thread philip
Author: philip
Date: Wed Jun 20 19:02:37 2018
New Revision: 1833935

URL: http://svn.apache.org/viewvc?rev=1833935=rev
Log:
Allow "svn x-shelf-list" from outside the working copy.

* subversion/svn/shelf-cmd.c
  (svn_cl__shelf_list): Accept path arguments, supply default '.' path.

* subversion/svn/svn.c
  (svn_cl__cmd_table): Update help text.

Modified:
subversion/trunk/subversion/svn/shelf-cmd.c
subversion/trunk/subversion/svn/svn.c

Modified: subversion/trunk/subversion/svn/shelf-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/shelf-cmd.c?rev=1833935=1833934=1833935=diff
==
--- subversion/trunk/subversion/svn/shelf-cmd.c (original)
+++ subversion/trunk/subversion/svn/shelf-cmd.c Wed Jun 20 19:02:37 2018
@@ -31,6 +31,7 @@
 #include "svn_hash.h"
 #include "svn_path.h"
 #include "svn_props.h"
+#include "svn_pools.h"
 #include "svn_utf.h"
 
 #include "cl.h"
@@ -900,16 +901,25 @@ svn_cl__shelf_list(apr_getopt_t *os,
 {
   svn_cl__opt_state_t *opt_state = ((svn_cl__cmd_baton_t *) baton)->opt_state;
   svn_client_ctx_t *ctx = ((svn_cl__cmd_baton_t *) baton)->ctx;
-  const char *local_abspath;
+  apr_array_header_t *targets = NULL;
+  apr_pool_t *subpool = svn_pool_create(pool);
+  int i;
 
-  /* There should be no remaining arguments. */
-  if (os->ind < os->argc)
-return svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, 0, NULL);
+  SVN_ERR(svn_cl__args_to_target_array_print_reserved(, os,
+  opt_state->targets,
+  ctx, FALSE, pool));
+  /* Add "." if user passed 0 arguments */
+  svn_opt_push_implicit_dot_target(targets, pool);
 
-  SVN_ERR(svn_dirent_get_absolute(_abspath, "", pool));
-  SVN_ERR(shelves_list(local_abspath,
-   opt_state->quiet,
-   ctx, pool));
+  for (i = 0; i < targets->nelts; ++i)
+{
+  const char *target = APR_ARRAY_IDX(targets, i, const char *);
+
+  svn_pool_clear(subpool);
+  SVN_ERR(shelves_list(target,
+   opt_state->quiet,
+   ctx, pool));
+}
 
   return SVN_NO_ERROR;
 }

Modified: subversion/trunk/subversion/svn/svn.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/svn.c?rev=1833935=1833934=1833935=diff
==
--- subversion/trunk/subversion/svn/svn.c (original)
+++ subversion/trunk/subversion/svn/svn.c Wed Jun 20 19:02:37 2018
@@ -1973,11 +1973,11 @@ const svn_opt_subcommand_desc3_t svn_cl_
 
   { "x-shelf-list", svn_cl__shelf_list, {"shelf-list", "shelves"}, {N_(
  "List shelves.\n"
- "usage: x-shelf-list\n"
+ "usage: x-shelf-list [PATH ...]\n"
  "\n"), N_(
- "  List shelves. Include the first line of any log message\n"
- "  and some details about the contents of the shelf, unless '-q' is\n"
- "  given.\n"
+ "  List shelves for each working copy containing PATH (default is '.')\n"
+ "  Include the first line of any log message and some details about the\n"
+ "  contents of the shelf, unless '-q' is given.\n"
  "\n"), N_(
  "  The shelving feature is EXPERIMENTAL. This command is likely to 
change\n"
  "  in the next release, and there is no promise of backward 
compatibility.\n"




svn commit: r1833601 - in /subversion/trunk: ./ subversion/tests/afl/ subversion/tests/afl/afl-svndiff-testcase/

2018-06-15 Thread philip
Author: philip
Date: Fri Jun 15 14:52:05 2018
New Revision: 1833601

URL: http://svn.apache.org/viewvc?rev=1833601=rev
Log:
Add a fuzzing test for svn_txdelta_parse_svndiff().  No issue found so far.

* build.conf: Add afl-svndiff

* subversion/tests/afl/afl-svndiff.c: New.

* subversion/tests/afl/afl-svndiff-testcase/: New.

* subversion/tests/afl/afl-svndiff-testcase/test1: New.

* subversion/tests/afl/afl-svndiff-testcase/test2: New.

* subversion/tests/afl/afl-svndiff-testcase/test3: New.

Added:
subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/
subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test1   (with 
props)
subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test2   (with 
props)
subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test3   (with 
props)
subversion/trunk/subversion/tests/afl/afl-svndiff.c   (with props)
Modified:
subversion/trunk/build.conf

Modified: subversion/trunk/build.conf
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build.conf?rev=1833601=1833600=1833601=diff
==
--- subversion/trunk/build.conf (original)
+++ subversion/trunk/build.conf Fri Jun 15 14:52:05 2018
@@ -1588,7 +1588,7 @@ libs = __ALL__
conflict-data-test db-test pristine-store-test entries-compat-test
op-depth-test dirent_uri-test wc-queries-test wc-test
auth-test
-   parse-diff-test x509-test xml-test afl-x509 compress-test
+   parse-diff-test x509-test xml-test afl-x509 afl-svndiff compress-test
svndiff-stream-test
 
 [__MORE__]
@@ -1749,3 +1749,12 @@ sources = afl-x509.c
 install = test
 libs = libsvn_subr apr
 testing = skip
+
+[afl-svndiff]
+description = AFL fuzzer for svndiff to txdelta parser
+type = exe
+path = subversion/tests/afl
+sources = afl-svndiff.c
+install = test
+libs = libsvn_delta libsvn_subr apr
+testing = skip

Added: subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test1
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test1?rev=1833601=auto
==
Binary file - no diff available.

Propchange: subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test1
--
svn:mime-type = application/octet-stream

Added: subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test2
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test2?rev=1833601=auto
==
Binary file - no diff available.

Propchange: subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test2
--
svn:mime-type = application/octet-stream

Added: subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test3
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test3?rev=1833601=auto
==
Binary file - no diff available.

Propchange: subversion/trunk/subversion/tests/afl/afl-svndiff-testcase/test3
--
svn:mime-type = application/octet-stream

Added: subversion/trunk/subversion/tests/afl/afl-svndiff.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/afl/afl-svndiff.c?rev=1833601=auto
==
--- subversion/trunk/subversion/tests/afl/afl-svndiff.c (added)
+++ subversion/trunk/subversion/tests/afl/afl-svndiff.c Fri Jun 15 14:52:05 2018
@@ -0,0 +1,85 @@
+/*
+ * afl-svndiff.c an American Fuzz Lop test
+ *
+ * 
+ *Licensed to the Apache Software Foundation (ASF) under one
+ *or more contributor license agreements.  See the NOTICE file
+ *distributed with this work for additional information
+ *regarding copyright ownership.  The ASF licenses this file
+ *to you under the Apache License, Version 2.0 (the
+ *"License"); you may not use this file except in compliance
+ *with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *Unless required by applicable law or agreed to in writing,
+ *software distributed under the License is distributed on an
+ *"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *KIND, either express or implied.  See the License for the
+ *specific language governing permissions and limitations
+ *under the License.
+ * 
+ *
+ */
+
+/*  The input data can either be a file on disk o

svn commit: r1833600 - in /subversion/trunk/subversion/tests/afl/afl-x509-testcase: test2 test3

2018-06-15 Thread philip
Author: philip
Date: Fri Jun 15 14:50:53 2018
New Revision: 1833600

URL: http://svn.apache.org/viewvc?rev=1833600=rev
Log:
Add a couple more testcases for afl-x509.  No further issues found.

* subversion/tests/afl/afl-x509-testcase/test2: New.

* subversion/tests/afl/afl-x509-testcase/test3: New.

Added:
subversion/trunk/subversion/tests/afl/afl-x509-testcase/test2   (with props)
subversion/trunk/subversion/tests/afl/afl-x509-testcase/test3   (with props)

Added: subversion/trunk/subversion/tests/afl/afl-x509-testcase/test2
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/afl/afl-x509-testcase/test2?rev=1833600=auto
==
Binary file - no diff available.

Propchange: subversion/trunk/subversion/tests/afl/afl-x509-testcase/test2
--
svn:mime-type = application/octet-stream

Added: subversion/trunk/subversion/tests/afl/afl-x509-testcase/test3
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/afl/afl-x509-testcase/test3?rev=1833600=auto
==
Binary file - no diff available.

Propchange: subversion/trunk/subversion/tests/afl/afl-x509-testcase/test3
--
svn:mime-type = application/octet-stream




svn commit: r1833559 - /subversion/branches/1.10.x/STATUS

2018-06-14 Thread philip
Author: philip
Date: Thu Jun 14 20:00:49 2018
New Revision: 1833559

URL: http://svn.apache.org/viewvc?rev=1833559=rev
Log:
* STATUS: Vote for external pruning fix.

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=1833559=1833558=1833559=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Thu Jun 14 20:00:49 2018
@@ -21,7 +21,7 @@ Candidate changes:
  Current behaviour is inconsistent: Setting depth to 'empty' prunes
  externals while excluding a subtree does not.
Votes:
- +1: stsp
+ +1: stsp, philip
  +0: rhuijben (in concept, not reviewed)
 
  * r1830882




svn commit: r1833558 - /subversion/branches/1.9.x/STATUS

2018-06-14 Thread philip
Author: philip
Date: Thu Jun 14 19:54:34 2018
New Revision: 1833558

URL: http://svn.apache.org/viewvc?rev=1833558=rev
Log:
* STATUS: Vote/approve serf proxy password fix.

Modified:
subversion/branches/1.9.x/STATUS

Modified: subversion/branches/1.9.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.9.x/STATUS?rev=1833558=1833557=1833558=diff
==
--- subversion/branches/1.9.x/STATUS (original)
+++ subversion/branches/1.9.x/STATUS Thu Jun 14 19:54:34 2018
@@ -88,14 +88,6 @@ Candidate changes:
  +0: danielsh
  +1: stsp
 
- * r1816365
-   Duplicate proxy_password to the correct member of the new session, instead 
of
-   overwriting proxy_username.
-   Justification:
- Incorrect proxy settings can block user's access to the repo
-   Votes:
- +1: jamessan, stsp
-
  * r1820718
Fix JavaHL SSL server trust prompting to allow accepting temporarily.
Justification:
@@ -148,3 +140,11 @@ Veto-blocked changes:
 
 Approved changes:
 =
+
+ * r1816365
+   Duplicate proxy_password to the correct member of the new session, instead 
of
+   overwriting proxy_username.
+   Justification:
+ Incorrect proxy settings can block user's access to the repo
+   Votes:
+ +1: jamessan, stsp, philip




svn commit: r1833482 - /subversion/branches/1.10.x/STATUS

2018-06-13 Thread philip
Author: philip
Date: Wed Jun 13 21:56:38 2018
New Revision: 1833482

URL: http://svn.apache.org/viewvc?rev=1833482=rev
Log:
* STATUS: Vote/approve swig configure fix.

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=1833482=1833481=1833482=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Wed Jun 13 21:56:38 2018
@@ -15,14 +15,6 @@ Status of 1.10.1:
 Candidate changes:
 ==
 
- * r1829260
-   Revert r1751167, since it broke use of pre-generated Swig bindings in
-   release builds.
-   Justification:
- Fix build of pre-generated Swig bindings when swig is not installed
-   Votes:
- +1: jamessan, stsp
-
  * r1830883,r1830900,r1830901
Prune externals from excluded subtrees after 'update --set-depth=exclude'
Justification:
@@ -60,3 +52,11 @@ Approved changes:
  installed, and aids with Python 2 to 3 migration.
Votes:
  +1: jorton, rhuijben, philip
+
+ * r1829260
+   Revert r1751167, since it broke use of pre-generated Swig bindings in
+   release builds.
+   Justification:
+ Fix build of pre-generated Swig bindings when swig is not installed
+   Votes:
+ +1: jamessan, stsp, philip




svn commit: r1833481 - /subversion/branches/1.10.x/STATUS

2018-06-13 Thread philip
Author: philip
Date: Wed Jun 13 21:50:23 2018
New Revision: 1833481

URL: http://svn.apache.org/viewvc?rev=1833481=rev
Log:
* STATUS: Vote/appprove path to python fix.

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=1833481=1833480=1833481=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Wed Jun 13 21:50:23 2018
@@ -32,14 +32,6 @@ Candidate changes:
  +1: stsp
  +0: rhuijben (in concept, not reviewed)
 
- * r1830885,r1831540
-   Ensure consistent use of $PYTHON during build and test.
-   Justification:
- Fixes potential build issues when multiple Python interpreters are
- installed, and aids with Python 2 to 3 migration.
-   Votes:
- +1: jorton, rhuijben
-
  * r1830882
Fix libsvn_auth_gnome_keyring.pc when built using libsecret.
Justification:
@@ -60,3 +52,11 @@ Approved changes:
  A regression in 1.10.0. Broke 'make install-swig-rb-doc'.
Votes:
  +1: julianfoad, stsp, philip
+
+ * r1830885,r1831540
+   Ensure consistent use of $PYTHON during build and test.
+   Justification:
+ Fixes potential build issues when multiple Python interpreters are
+ installed, and aids with Python 2 to 3 migration.
+   Votes:
+ +1: jorton, rhuijben, philip




svn commit: r1833480 - /subversion/branches/1.10.x/STATUS

2018-06-13 Thread philip
Author: philip
Date: Wed Jun 13 21:41:14 2018
New Revision: 1833480

URL: http://svn.apache.org/viewvc?rev=1833480=rev
Log:
* STATUS: Vote/appprove path to rdoc fix.

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=1833480=1833479=1833480=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Wed Jun 13 21:41:14 2018
@@ -15,13 +15,6 @@ Status of 1.10.1:
 Candidate changes:
 ==
 
- * r1829241
-   configure.ac: Fix variable name with path to rdoc, broken in r1806570.
-   Justification:
- A regression in 1.10.0. Broke 'make install-swig-rb-doc'.
-   Votes:
- +1: julianfoad, stsp
-
  * r1829260
Revert r1751167, since it broke use of pre-generated Swig bindings in
release builds.
@@ -60,3 +53,10 @@ Veto-blocked changes:
 
 Approved changes:
 =
+
+ * r1829241
+   configure.ac: Fix variable name with path to rdoc, broken in r1806570.
+   Justification:
+ A regression in 1.10.0. Broke 'make install-swig-rb-doc'.
+   Votes:
+ +1: julianfoad, stsp, philip




svn commit: r1833465 - /subversion/trunk/subversion/mod_dav_svn/repos.c

2018-06-13 Thread philip
Author: philip
Date: Wed Jun 13 16:37:49 2018
New Revision: 1833465

URL: http://svn.apache.org/viewvc?rev=1833465=rev
Log:
* subversion/mod_dav_svn/repos.c
  (open_stream): Return an error if a non-conforming client sends
   a PUT before the corresponding CHECKOUT when attempting a v1
   protocol commit.  This is required for strict v1 compliance
   and does not affect the v2 protocol.

Modified:
subversion/trunk/subversion/mod_dav_svn/repos.c

Modified: subversion/trunk/subversion/mod_dav_svn/repos.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/repos.c?rev=1833465=1833464=1833465=diff
==
--- subversion/trunk/subversion/mod_dav_svn/repos.c (original)
+++ subversion/trunk/subversion/mod_dav_svn/repos.c Wed Jun 13 16:37:49 2018
@@ -2861,6 +2861,13 @@ open_stream(const dav_resource *resource
 "Resource body changes may only be made to 
"
 "working resources (at this time).");
 }
+  if (!resource->info->root.root)
+{
+  return dav_svn__new_error(resource->pool, HTTP_METHOD_NOT_ALLOWED,
+0, 0,
+"Resource body changes may only be made to 
"
+"checked-out resources (at this time).");
+}
 }
 
   /* ### TODO:  Can we support range writes someday? */




svn commit: r1831114 - /subversion/branches/1.10.x/STATUS

2018-05-07 Thread philip
Author: philip
Date: Mon May  7 17:32:29 2018
New Revision: 1831114

URL: http://svn.apache.org/viewvc?rev=1831114=rev
Log:
* STATUS: Add regression test to issue 4741 fix.

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=1831114=1831113=1831114=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Mon May  7 17:32:29 2018
@@ -59,7 +59,7 @@ Candidate changes:
Votes:
  +1: stsp
 
- * r1831110
+ * r1831110, 1831112
Fix issue 4741: authz group cannot refer to multiple groups
Justification:
  Regression from 1.9.




svn commit: r1831112 - /subversion/trunk/subversion/tests/libsvn_repos/authz-test.c

2018-05-07 Thread philip
Author: philip
Date: Mon May  7 17:30:32 2018
New Revision: 1831112

URL: http://svn.apache.org/viewvc?rev=1831112=rev
Log:
* subversion/tests/libsvn_repos/authz-test.c
  (issue_4741_groups): New, regression test for issue 4741.
  (test_funcs): Add new test.

Modified:
subversion/trunk/subversion/tests/libsvn_repos/authz-test.c

Modified: subversion/trunk/subversion/tests/libsvn_repos/authz-test.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_repos/authz-test.c?rev=1831112=183=1831112=diff
==
--- subversion/trunk/subversion/tests/libsvn_repos/authz-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_repos/authz-test.c Mon May  7 
17:30:32 2018
@@ -444,6 +444,40 @@ test_global_rights(apr_pool_t *pool)
   return SVN_NO_ERROR;
 }
 
+static svn_error_t *
+issue_4741_groups(apr_pool_t *pool)
+{
+   const char rules[] =
+ "[groups]"  NL
+ "g1 = userA"NL
+ "g2 = userB"NL
+ "g = @g1, @g2"  NL
+ ""  NL
+ "[/]"   NL
+ "* ="   NL
+ "@g = rw"   NL
+ ;
+
+   svn_stringbuf_t *buf = svn_stringbuf_create(rules, pool);
+   svn_stream_t *stream = svn_stream_from_stringbuf(buf, pool);
+   svn_authz_t *authz;
+   svn_boolean_t access_granted;
+
+   SVN_ERR(svn_repos_authz_parse(, stream, NULL, pool));
+
+   SVN_ERR(svn_repos_authz_check_access(authz, "repo", "/", "userA",
+svn_authz_write, _granted,
+pool));
+   SVN_TEST_ASSERT(access_granted == TRUE);
+
+   SVN_ERR(svn_repos_authz_check_access(authz, "repo", "/", "userB",
+svn_authz_write, _granted,
+pool));
+   SVN_TEST_ASSERT(access_granted == TRUE);
+
+   return SVN_NO_ERROR;
+}
+
 static int max_threads = 4;
 
 static struct svn_test_descriptor_t test_funcs[] =
@@ -453,6 +487,8 @@ static struct svn_test_descriptor_t test
"test svn_authz__parse"),
 SVN_TEST_PASS2(test_global_rights,
"test svn_authz__get_global_rights"),
+SVN_TEST_PASS2(issue_4741_groups,
+   "issue 4741 groups"),
 SVN_TEST_NULL
   };
 




svn commit: r1831111 - /subversion/branches/1.10.x/STATUS

2018-05-07 Thread philip
Author: philip
Date: Mon May  7 17:13:40 2018
New Revision: 183

URL: http://svn.apache.org/viewvc?rev=183=rev
Log:
* STATUS: Propose issue 4741 fix, authz group regression.

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=183=1831110=183=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Mon May  7 17:13:40 2018
@@ -59,6 +59,13 @@ Candidate changes:
Votes:
  +1: stsp
 
+ * r1831110
+   Fix issue 4741: authz group cannot refer to multiple groups
+   Justification:
+ Regression from 1.9.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn propchange: r1831110 - svn:log

2018-05-07 Thread philip
Author: philip
Revision: 1831110
Modified property: svn:log

Modified: svn:log at Mon May  7 17:08:18 2018
--
--- svn:log (original)
+++ svn:log Mon May  7 17:08:18 2018
@@ -1,4 +1,6 @@
 Fix issue 4741: authz group cannot refer to multiple groups.
 
+Reported by: 黄磊 <raymond.huang{_AT_}musjoy.com>
+
 * subversion/libsvn_repos/authz_parse.c
   (expand_group_callback): Do not overwrite variable when recursing.



svn commit: r1831110 - /subversion/trunk/subversion/libsvn_repos/authz_parse.c

2018-05-07 Thread philip
Author: philip
Date: Mon May  7 17:04:22 2018
New Revision: 1831110

URL: http://svn.apache.org/viewvc?rev=1831110=rev
Log:
Fix issue 4741: authz group cannot refer to multiple groups.

* subversion/libsvn_repos/authz_parse.c
  (expand_group_callback): Do not overwrite variable when recursing.

Modified:
subversion/trunk/subversion/libsvn_repos/authz_parse.c

Modified: subversion/trunk/subversion/libsvn_repos/authz_parse.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/authz_parse.c?rev=1831110=1831109=1831110=diff
==
--- subversion/trunk/subversion/libsvn_repos/authz_parse.c (original)
+++ subversion/trunk/subversion/libsvn_repos/authz_parse.c Mon May  7 17:04:22 
2018
@@ -1058,14 +1058,15 @@ expand_group_callback(void *baton,
   else
 {
   /* Recursively expand the group membership */
-  members = svn_hash_gets(cb->parsed_groups, member);
-  if (!members)
+  apr_array_header_t *member_members
+= svn_hash_gets(cb->parsed_groups, member);
+  if (!member_members)
 return svn_error_createf(
 SVN_ERR_AUTHZ_INVALID_CONFIG, NULL,
 _("Undefined group '%s'"),
 member);
   SVN_ERR(expand_group_callback(cb, key, klen,
-members, scratch_pool));
+member_members, scratch_pool));
 }
 }
   return SVN_NO_ERROR;




svn commit: r1830713 - /subversion/branches/1.10.x/STATUS

2018-05-01 Thread philip
Author: philip
Date: Tue May  1 22:22:27 2018
New Revision: 1830713

URL: http://svn.apache.org/viewvc?rev=1830713=rev
Log:
* STATUS: Propose --without-lz4/--without-utf8proc tweak.

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=1830713=1830712=1830713=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Tue May  1 22:22:27 2018
@@ -44,6 +44,13 @@ Candidate changes:
Votes:
  +1: jamessan
 
+ * r1829344
+   Make configure --without-lz4 or --without-utf8proc into explicit errors.
+   Justification:
+ LZ4 and UTF8PROC are not optional and configure should produce an error.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1829344 - in /subversion/trunk/build/ac-macros: lz4.m4 utf8proc.m4

2018-04-17 Thread philip
Author: philip
Date: Tue Apr 17 08:48:57 2018
New Revision: 1829344

URL: http://svn.apache.org/viewvc?rev=1829344=rev
Log:
LZ4 and UTF8PROC are build requirements and so attempts to disable them
via configure options such as --without-lz4 should result in an error.

* build/ac-macros/lz4.m4
  (SVN_LZ4): Produce an error if disabled.

* build/ac-macros/utf8proc.m4:
  (SVN_UTF8PROC): Produce an error if disabled.

Modified:
subversion/trunk/build/ac-macros/lz4.m4
subversion/trunk/build/ac-macros/utf8proc.m4

Modified: subversion/trunk/build/ac-macros/lz4.m4
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build/ac-macros/lz4.m4?rev=1829344=1829343=1829344=diff
==
--- subversion/trunk/build/ac-macros/lz4.m4 (original)
+++ subversion/trunk/build/ac-macros/lz4.m4 Tue Apr 17 08:48:57 2018
@@ -39,6 +39,10 @@ AC_DEFUN(SVN_LZ4,
 ],
 [lz4_prefix=std])
 
+  if test "$lz4_prefix" = "no"; then
+dnl The user has tried to disable LZ4
+AC_MSG_ERROR([Subversion requires LZ4])
+  fi
   if test "$lz4_prefix" = "internal"; then
 AC_MSG_NOTICE([using internal lz4])
 AC_DEFINE([SVN_INTERNAL_LZ4], [1],

Modified: subversion/trunk/build/ac-macros/utf8proc.m4
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build/ac-macros/utf8proc.m4?rev=1829344=1829343=1829344=diff
==
--- subversion/trunk/build/ac-macros/utf8proc.m4 (original)
+++ subversion/trunk/build/ac-macros/utf8proc.m4 Tue Apr 17 08:48:57 2018
@@ -39,6 +39,10 @@ AC_DEFUN(SVN_UTF8PROC,
 ],
 [utf8proc_prefix=std])
 
+  if test "$utf8proc_prefix" = "no"; then
+dnl The user has tried to disable UTF8PROC
+AC_MSG_ERROR([Subversion requires UTF8PROC])
+  fi
   if test "$utf8proc_prefix" = "internal"; then
 AC_MSG_NOTICE([using internal utf8proc])
 AC_DEFINE([SVN_INTERNAL_UTF8PROC], [1],




svn commit: r1828970 - /subversion/trunk/build/transform_sql.py

2018-04-12 Thread philip
Author: philip
Date: Thu Apr 12 11:04:23 2018
New Revision: 1828970

URL: http://svn.apache.org/viewvc?rev=1828970=rev
Log:
Remove one source of unnecessary variation between tarballs for
different Subversion releases.

* build/transform_sql.py
  (main): Avoid putting the full path to token-map.h in the "automatically
   generated" comment as this varies depending on the local path.  The
   other filename in the comment is already simply a basename.

Modified:
subversion/trunk/build/transform_sql.py

Modified: subversion/trunk/build/transform_sql.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build/transform_sql.py?rev=1828970=1828969=1828970=diff
==
--- subversion/trunk/build/transform_sql.py (original)
+++ subversion/trunk/build/transform_sql.py Thu Apr 12 11:04:23 2018
@@ -274,7 +274,7 @@ def main(input_filepath, output):
 '/* This file is automatically generated from %s and %s.\n'
 ' * Do not edit this file -- edit the source and rerun gen-make.py */\n'
 '\n'
-% (filename, token_map_filename))
+% (filename, os.path.basename(token_map_filename)))
 
   proc = Processor(os.path.dirname(input_filepath), output, var_name, 
token_map)
   proc.process_file(input)




svn commit: r26297 - in /dev/subversion: subversion-1.10.0.tar.bz2.asc subversion-1.10.0.tar.gz.asc subversion-1.10.0.zip.asc

2018-04-11 Thread philip
Author: philip
Date: Wed Apr 11 23:38:45 2018
New Revision: 26297

Log:
Sign 1.10.0 Linux

Modified:
dev/subversion/subversion-1.10.0.tar.bz2.asc
dev/subversion/subversion-1.10.0.tar.gz.asc
dev/subversion/subversion-1.10.0.zip.asc

Modified: dev/subversion/subversion-1.10.0.tar.bz2.asc
==
--- dev/subversion/subversion-1.10.0.tar.bz2.asc (original)
+++ dev/subversion/subversion-1.10.0.tar.bz2.asc Wed Apr 11 23:38:45 2018
@@ -57,3 +57,14 @@ F+Cxr73hbIVmBSvzpdinclbtqk+ISuc2O7pLeaBK
 uo39u/oU5pc13FcPb0uLIiiU+ldI+sElMckrBYHIcicJGcaigVo=
 =npig
 -END PGP SIGNATURE-
+-BEGIN PGP SIGNATURE-
+
+iQEzBAABCAAdFiEEqER5D7V0NgbulZIHdteI4e0aWZwFAlrOm/EACgkQdteI4e0a
+WZwowwgAmEzpbjuEC1jJAIaltT+4d0KxZBiz24OZcL+XkXB/9FgK4E46Aics0Qnv
+iHblZVxB+46MbhT3xOvHxO9sK7EV4N48IOnxciUsSn9y/h2GqS0WB7/grJpWlyzu
+SsFWzcD82WhQVnAbLdjXddJbLYDSeEhz6Nlcn8T8KsQcKn7hg6O2YNf5N1UR+6df
+f/zTfKbAgRFb7TxCLicwglNrjuLAcFkWVrFxmxcEzBcEmTERighpr2fY2X21pk4c
+4OyOjdOkGcNY56xGONme79PWzFyXoz9Lk7zXD5GNmceQVJU1rQxlUnDlOkGR83oR
+iyeoDWCFw+rfeR32q5s0T8yDrm5Y5Q==
+=7+LT
+-END PGP SIGNATURE-

Modified: dev/subversion/subversion-1.10.0.tar.gz.asc
==
--- dev/subversion/subversion-1.10.0.tar.gz.asc (original)
+++ dev/subversion/subversion-1.10.0.tar.gz.asc Wed Apr 11 23:38:45 2018
@@ -57,3 +57,14 @@ x2DqbpsxR4d8BbpLWwT9ZmGajQqpbQ4Yeac2Nfk5
 FsTw1EDCaeKl9fI9Yv1gEBvlEtHvdSecU1ZwVir1LKmdzs8znLs=
 =EIpF
 -END PGP SIGNATURE-
+-BEGIN PGP SIGNATURE-
+
+iQEzBAABCAAdFiEEqER5D7V0NgbulZIHdteI4e0aWZwFAlrOm/EACgkQdteI4e0a
+WZxKNwf/SeOS8L+8/LIgRj1S5NXzE35FitbJQC3pJOdsmV3rxEBnfqF+i/stjLC7
++2+p2l788nDzWavU1L+IXoxqIi5cnp7NxRBzsoFD5B+turl4kpVknfduuxDSMXg8
+1akO0s+FET3ReIpbHMYFll9Ku6/Mawo3Hgj+IBL0wgNaP1bXOYBFHM8wsif6xbQn
+J6VK+Kj/fIQQrxKFrAIwE3aenNLJJO9gxbBgWl+7FGcAVnXZjj2ul+40tDMiukHN
+UXN+JitTuZKBh+LQ/A2gspsfkJ0199CXth+SLchWYXVxG0q8a4Z6Ms/sTSSqrEDd
+IUZe/P87mSjK7VydoMfaIkEVkPLyig==
+=n+sY
+-END PGP SIGNATURE-

Modified: dev/subversion/subversion-1.10.0.zip.asc
==
--- dev/subversion/subversion-1.10.0.zip.asc (original)
+++ dev/subversion/subversion-1.10.0.zip.asc Wed Apr 11 23:38:45 2018
@@ -47,3 +47,14 @@ NZiuqsP7FO0PyhRf5dY+tMrMtwLWRa9jCj4EZis6
 x6TuQD1+KjfhQl4S8BTqyTQlxKPiAStzgQUW0Wjrehgj/01G6dI=
 =/L39
 -END PGP SIGNATURE-
+-BEGIN PGP SIGNATURE-
+
+iQEzBAABCAAdFiEEqER5D7V0NgbulZIHdteI4e0aWZwFAlrOm+oACgkQdteI4e0a
+WZwE/QgApXwf3txV2yn27SMC+RkREOemUF2wtoBq/8wuPeQXbEn9/kFbJT57NAFo
+4M87zJjC/C150sFAR3npapf4XJCxzW5Zh60DcnEeVJE0Up+/GDYBLrxIlocnIq0S
+EL2SEnHylDCmHih+9p1HR9m5SpqvXqgC9f5m+wZiJZ1n7cKNRf3D4YWHTqHk9Jyu
+bNPmARovBjAj9zRvKXAVyi/xD0v34OcVWEceC+wJJZb/9c5naQBrEsCZhZarYECi
+Y0/s3pq46knIlC9CbS+fqf27IPsPOFJ9lQ6w8nsX8uIa0VMSR7llbkCMvZNkWd/t
+wNoay1+Gu90uNiDXFvmRqZoiebSIyQ==
+=oiQZ
+-END PGP SIGNATURE-




svn commit: r1828613 - /subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp

2018-04-07 Thread philip
Author: philip
Date: Sat Apr  7 19:20:48 2018
New Revision: 1828613

URL: http://svn.apache.org/viewvc?rev=1828613=rev
Log:
Fix a local refs capacity warning when unparsing externals.

* subversion/bindings/javahl/native/jniwrapper/jni_list.hpp
  (ImmutableList::for_each): Use a local frame to avoid acccumulating
   local refs from constructors.

Modified:
subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp

Modified: 
subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp?rev=1828613=1828612=1828613=diff
==
--- subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp 
(original)
+++ subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_list.hpp 
Sat Apr  7 19:20:48 2018
@@ -173,7 +173,10 @@ public:
 {
   Iterator iter(get_iterator());
   while (iter.has_next())
-function(T(m_env, NativeT(iter.next(;
+{
+  ::Java::LocalFrame frame(m_env);
+  function(T(m_env, NativeT(iter.next(;
+}
   return function;
 }
 };




svn commit: r26034 - in /dev/subversion: subversion-1.10.0-rc2.tar.bz2.asc subversion-1.10.0-rc2.tar.gz.asc

2018-03-29 Thread philip
Author: philip
Date: Thu Mar 29 22:12:33 2018
New Revision: 26034

Log:
Sign 1.10.0-rc2 Linux

Modified:
dev/subversion/subversion-1.10.0-rc2.tar.bz2.asc
dev/subversion/subversion-1.10.0-rc2.tar.gz.asc

Modified: dev/subversion/subversion-1.10.0-rc2.tar.bz2.asc
==
--- dev/subversion/subversion-1.10.0-rc2.tar.bz2.asc (original)
+++ dev/subversion/subversion-1.10.0-rc2.tar.bz2.asc Thu Mar 29 22:12:33 2018
@@ -15,3 +15,14 @@ YTaFr8AvR63G6KF2lakJ7l7RbFo/yV08od/SzJt8
 JNuta8la83v2ENdwdo0H
 =Yqud
 -END PGP SIGNATURE-
+-BEGIN PGP SIGNATURE-
+
+iQEzBAABCAAdFiEEqER5D7V0NgbulZIHdteI4e0aWZwFAlq9YnEACgkQdteI4e0a
+WZzCegf/cmI9Vr3LPJXjK00te1Tmf1GbRrbIxSdFLONvGYGtSaxaaCGPWJ0TTEom
+zl06sfuQO5yz9kJ2PvSatonKSYoTxEaG2daLfBe7K/bwWdFTgsDsyDp454IfCvtR
+ZHK5x9O7L6KaigfArsX9+BG2aBFzFlGwYc6UqriwsvOaBAcdXoUwTqnarcWb32aU
+KUJkQyy+x6DAQKzYtKJn9ygEvZXpgBQPhnCdTFT2PyyZaAPJlOV39SNOUHbitT0+
+jxGuRUyCn8J9ynF6cCd78mjxoSkIXuhH9n+obgNucoPGEjfib6iAH5UNE4oGRzVD
+EOmd0MXP8U8x7OsBVgSkPwlp7VbK2A==
+=Liy8
+-END PGP SIGNATURE-

Modified: dev/subversion/subversion-1.10.0-rc2.tar.gz.asc
==
--- dev/subversion/subversion-1.10.0-rc2.tar.gz.asc (original)
+++ dev/subversion/subversion-1.10.0-rc2.tar.gz.asc Thu Mar 29 22:12:33 2018
@@ -15,3 +15,14 @@ X00zvH5ELyji+SJQmezeUPfQ8ijJeP/jYF2nTpLG
 1dpjbrsOTJ4LdwD2ie6M
 =jSYt
 -END PGP SIGNATURE-
+-BEGIN PGP SIGNATURE-
+
+iQEzBAABCAAdFiEEqER5D7V0NgbulZIHdteI4e0aWZwFAlq9YnEACgkQdteI4e0a
+WZwcCQf+OEjArSNn2aokhwHjVLc2w25AgiAxYzPsvnzX0XXQG1LsFjRLTmCEUO8n
+bq8N9begwhMHp58+6KUSYyjbD0KAWQQWarIxgvO6r6WS3WukNa15WzR4rJmjAp07
+v2WT+HBBG01v4rMFHiBCOgCQMmdzvcBeLH52hgk4KBwrwHBjCtzRsKTR+Uyx/TuK
+9LvHA7nWBC8XOpKa0PSvqhAIzhocAd57LLpUwPfa5PYSSD0LQ8o18TnTXEQiiGbK
+mJVgODzTEeDMQxfez6gnkpIJNcqt0g4a2d+9PgE0D/FE6aLifObzXP9Zoh+diR3z
+KnLNeyWz5epJg7SE3jUCngV/SoclNQ==
+=RhQc
+-END PGP SIGNATURE-




svn commit: r1827379 - /subversion/branches/1.10.x/STATUS

2018-03-20 Thread philip
Author: philip
Date: Wed Mar 21 02:17:03 2018
New Revision: 1827379

URL: http://svn.apache.org/viewvc?rev=1827379=rev
Log:
* STATUS: Update issue 4725 description.

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=1827379=1827378=1827379=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Wed Mar 21 02:17:03 2018
@@ -23,9 +23,10 @@ Candidate changes:
  +1: philip
 
  * r1826811, r1826814, 1826877, r1826907, r1826971
-   Fix issue 4725: zlib error in fsfs cache.
+   Fix issue 4725: FSFS block-read mode doesn't work.
Justification:
- Needed when svnadmin uses a FSFS cache bigger than 64MB.
+ Block-read is enabled automatically when svnadmin has a cache bigger
+ than 64MB.  It can be manually enabled in mod_dav_svn/svnserve.
Votes:
  +1: philip
 




svn commit: r1827201 - /subversion/site/publish/docs/release-notes/1.10.html

2018-03-19 Thread philip
Author: philip
Date: Mon Mar 19 13:46:06 2018
New Revision: 1827201

URL: http://svn.apache.org/viewvc?rev=1827201=rev
Log:
* publish/docs/release-notes/1.10.html: Add revprop caching change.

Modified:
subversion/site/publish/docs/release-notes/1.10.html

Modified: subversion/site/publish/docs/release-notes/1.10.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/release-notes/1.10.html?rev=1827201=1827200=1827201=diff
==
--- subversion/site/publish/docs/release-notes/1.10.html (original)
+++ subversion/site/publish/docs/release-notes/1.10.html Mon Mar 19 13:46:06 
2018
@@ -832,6 +832,21 @@ by default instead.
  title="Link to this section">
 
 
+
+Revprop caching enabled
+  
+
+
+Revprop caching was an optional FSFS feature in previous releases
+but is now always enabled.  In previous releases revprop caching could
+be enabled for mod_dav_svn via the SVNCacheRevprops
+directive, and for svnserve by the --cache-revprops command
+line option.  That directive and command line option are now silently
+ignored and revprop caching is enabled for all FSFS access.
+
+ 
+
 
 New --no-flush-to-disk option for svnadmin load
   

svn commit: r1827193 - /subversion/branches/1.9.x/STATUS

2018-03-19 Thread philip
Author: philip
Date: Mon Mar 19 12:54:19 2018
New Revision: 1827193

URL: http://svn.apache.org/viewvc?rev=1827193=rev
Log:
* STATUS: Extend FSFS checksum nomination.

Modified:
subversion/branches/1.9.x/STATUS

Modified: subversion/branches/1.9.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.9.x/STATUS?rev=1827193=1827192=1827193=diff
==
--- subversion/branches/1.9.x/STATUS (original)
+++ subversion/branches/1.9.x/STATUS Mon Mar 19 12:54:19 2018
@@ -126,7 +126,7 @@ Candidate changes:
Votes:
  +1: philip, stsp
 
- * r1826720, r1826721
+ * r1826720, r1826721, 1827191
Regression test and FSFS checksum verification for issue 4722.
Justification:
  Tests the issue 4722 fix.




svn commit: r1827192 - /subversion/branches/1.10.x/STATUS

2018-03-19 Thread philip
Author: philip
Date: Mon Mar 19 12:53:08 2018
New Revision: 1827192

URL: http://svn.apache.org/viewvc?rev=1827192=rev
Log:
* STATUS: Extend FSFS checksum nomination.

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=1827192=1827191=1827192=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Mon Mar 19 12:53:08 2018
@@ -15,7 +15,7 @@ Status of 1.10.0:
 Candidate changes:
 ==
 
- * r1826720, r1826721
+ * r1826720, r1826721, 1827191
Regression test and FSFS checksum test, part of issue 4722.
Justification:
  Keeps 1.10 in sync with 1.11 and 1.9.




svn commit: r1827191 - /subversion/trunk/subversion/libsvn_fs_fs/cached_data.c

2018-03-19 Thread philip
Author: philip
Date: Mon Mar 19 12:50:38 2018
New Revision: 1827191

URL: http://svn.apache.org/viewvc?rev=1827191=rev
Log:
Followup to r1826720, raise a warning rather than an error
as that gives users a better chance to extract data from a
corrupt repository.

* subversion/libsvn_fs_fs/cached_data.c
  (rep_read_contents): Warning rather than error.

Modified:
subversion/trunk/subversion/libsvn_fs_fs/cached_data.c

Modified: subversion/trunk/subversion/libsvn_fs_fs/cached_data.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/cached_data.c?rev=1827191=1827190=1827191=diff
==
--- subversion/trunk/subversion/libsvn_fs_fs/cached_data.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/cached_data.c Mon Mar 19 12:50:38 
2018
@@ -2151,11 +2151,23 @@ rep_read_contents(void *baton,
   if (rb->current_fulltext)
 svn_stringbuf_appendbytes(rb->current_fulltext, buf, *len);
 
-  /* This is a FULL_READ_FN so a short read implies EOF. */
+  /* This is a FULL_READ_FN so a short read implies EOF and we can
+ verify the length. */
   rb->off += *len;
   if (*len < len_requested && rb->off != rb->len)
-return svn_error_create(SVN_ERR_FS_CORRUPT, NULL,
-_("Length mismatch while reading representation"));
+  {
+/* A warning rather than an error to allow the data to be
+   retrieved when the length is wrong but the data is
+   present, i.e. if repository corruption has stored the wrong
+   expanded length. */
+svn_error_t *err = svn_error_createf(SVN_ERR_FS_CORRUPT, NULL,
+_("Length mismatch while reading representation"
+  " expected %" APR_OFF_T_FMT
+  " got %" APR_OFF_T_FMT), rb->len, rb->off);
+
+rb->fs->warning(rb->fs->warning_baton, err);
+svn_error_clear(err);
+  }
 
   /* Perform checksumming.  We want to check the checksum as soon as
  the last byte of data is read, in case the caller never performs




svn commit: r1827133 - /subversion/branches/1.10.x/STATUS

2018-03-18 Thread philip
Author: philip
Date: Sun Mar 18 11:01:44 2018
New Revision: 1827133

URL: http://svn.apache.org/viewvc?rev=1827133=rev
Log:
* STATUS: Nominate testsuite block-read support.

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=1827133=1827132=1827133=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Sun Mar 18 11:01:44 2018
@@ -29,6 +29,13 @@ Candidate changes:
Votes:
  +1: philip
 
+ * r1827105, r1827114
+   Add testsuite support for testing FSFS with block-read enabled.
+   Justification:
+ Allows testing the code responsible for issue 4725.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1827114 - in /subversion/trunk/subversion/tests/cmdline: davautocheck.sh svnserveautocheck.sh

2018-03-17 Thread philip
Author: philip
Date: Sat Mar 17 22:52:30 2018
New Revision: 1827114

URL: http://svn.apache.org/viewvc?rev=1827114=rev
Log:
* subversion/tests/cmdline/svnserveautocheck.sh: Document environment
   variables interpreted by the script.

* subversion/tests/cmdline/davautocheck.sh: tweak documentation to be
   in a similar form to svnserveautocheck.sh

Modified:
subversion/trunk/subversion/tests/cmdline/davautocheck.sh
subversion/trunk/subversion/tests/cmdline/svnserveautocheck.sh

Modified: subversion/trunk/subversion/tests/cmdline/davautocheck.sh
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/davautocheck.sh?rev=1827114=1827113=1827114=diff
==
--- subversion/trunk/subversion/tests/cmdline/davautocheck.sh (original)
+++ subversion/trunk/subversion/tests/cmdline/davautocheck.sh Sat Mar 17 
22:52:30 2018
@@ -52,6 +52,7 @@
 # Run this script with the test suite name and test number to execute just this
 # test:
 #   subversion/tests/cmdline/davautocheck.sh basic 4
+# This script can also be invoked via "make davautocheck".
 #
 # If the temporary directory is not deleted, it can be reused for further
 # manual DAV protocol interoperation testing. HTTPD must be started by
@@ -65,18 +66,19 @@
 #   APXS=/opt/svn/1.4.x/bin/apxs MODULE_PATH=/opt/svn/1.4.x/modules \
 # subversion/tests/cmdline/davautocheck.sh
 #
-# To prevent the server from advertising httpv2, pass USE_HTTPV1 in
-# the environment.
+# Other environment variables that are interpreted by this script:
 #
-# To enable "SVNCacheRevProps on" set CACHE_REVPROPS in the environment.
+#  make davautocheck CACHE_REVPROPS=1   # sets SVNCacheRevProps on
 #
-# To test over https set USE_SSL in the environment.
+#  make davautocheck BLOCK_READ=1   # sets SVNBlockRead on
 #
-# To use value for "SVNPathAuthz" directive set SVN_PATH_AUTHZ with
-# appropriate value in the environment.
+#  make davautocheck USE_SSL=1  # run over https
 #
-# To load an MPM module for Apache 2.4 use APACHE_MPM=event in the
-# environment.
+#  make davautocheck USE_HTTPV1=1   # sets SVNAdvertiseV2Protocol off
+#
+#  make davautocheck APACHE_MPM=event   # specifies the 2.4 MPM
+#
+#  make davautocheck SVN_PATH_AUTHZ=short_circuit  # SVNPathAuthz short_circuit
 #
 # Passing --no-tests as argv[1] will have the script start a server
 # but not run any tests.  Passing --gdb or --lldb will do the same, and in

Modified: subversion/trunk/subversion/tests/cmdline/svnserveautocheck.sh
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnserveautocheck.sh?rev=1827114=1827113=1827114=diff
==
--- subversion/trunk/subversion/tests/cmdline/svnserveautocheck.sh (original)
+++ subversion/trunk/subversion/tests/cmdline/svnserveautocheck.sh Sat Mar 17 
22:52:30 2018
@@ -31,6 +31,14 @@
 # distribution; it's easiest to just run it as "make svnserveautocheck".
 # Like "make check", you can specify further options like
 # "make svnserveautocheck FS_TYPE=bdb TESTS=subversion/tests/cmdline/basic.py".
+#
+# Other environment variables that can be passed:
+#
+#  make svnserveautocheck CACHE_REVPROPS=1   # run svnserve --cache-revprops
+#
+#  make svnserveautocheck BLOCK_READ=1   # run svnserve --block-read on
+#
+#  make svnserveautocheck THREADED=1 # run svnserve -T
 
 PYTHON=${PYTHON:-python}
 




svn commit: r1827105 - in /subversion/trunk/subversion/tests/cmdline: davautocheck.sh svnserveautocheck.sh

2018-03-17 Thread philip
Author: philip
Date: Sat Mar 17 20:48:57 2018
New Revision: 1827105

URL: http://svn.apache.org/viewvc?rev=1827105=rev
Log:
Add FSFS block-read support to davautocheck and svnserveautcheck. Now

   make davautocheck BLOCK_READ=1
   make svnserveautocheck BLOCK_READ=1

will enable block-read in svnserve and apache.  Block-read is necessary
to trigger the issue 4725 bug.

* subversion/tests/cmdline/davautocheck.sh: Move common part of Location
   block to a separate function, add support for BLOCK_READ env variable.

* subversion/tests/cmdline/svnserveautocheck.sh: Add support for
   BLOCK_READ environment variable.

Modified:
subversion/trunk/subversion/tests/cmdline/davautocheck.sh
subversion/trunk/subversion/tests/cmdline/svnserveautocheck.sh

Modified: subversion/trunk/subversion/tests/cmdline/davautocheck.sh
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/davautocheck.sh?rev=1827105=1827104=1827105=diff
==
--- subversion/trunk/subversion/tests/cmdline/davautocheck.sh (original)
+++ subversion/trunk/subversion/tests/cmdline/davautocheck.sh Sat Mar 17 
20:48:57 2018
@@ -222,6 +222,11 @@ if [ ${CACHE_REVPROPS:+set} ]; then
   CACHE_REVPROPS_SETTING=on
 fi
 
+BLOCK_READ_SETTING=off
+if [ ${BLOCK_READ:+set} ]; then
+  BLOCK_READ_SETTING=on
+fi
+
 if [ ${MODULE_PATH:+set} ]; then
 MOD_DAV_SVN="$MODULE_PATH/mod_dav_svn.so"
 MOD_AUTHZ_SVN="$MODULE_PATH/mod_authz_svn.so"
@@ -539,39 +544,41 @@ Alias /fsdavroot $ABS_BUILDDIR/subversio
 
 
 
+__EOF__
+location_common() {
+cat >> "$HTTPD_CFG" <<__EOF__
   DAV   svn
-  SVNParentPath 
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/repositories"
   AuthzSVNAccessFile 
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/authz"
   AuthType  Basic
   AuthName  "Subversion Repository"
   AuthUserFile  $HTTPD_USERS
-  Require   valid-user
   SVNAdvertiseV2Protocol ${ADVERTISE_V2_PROTOCOL}
   SVNCacheRevProps  ${CACHE_REVPROPS_SETTING}
+  SVNListParentPath On
+  SVNBlockRead  ${BLOCK_READ_SETTING}
+__EOF__
+}
+location_common
+cat >> "$HTTPD_CFG" <<__EOF__
+  SVNParentPath 
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/repositories"
+  Require   valid-user
   ${SVN_PATH_AUTHZ_LINE}
 
 
-  DAV   svn
+__EOF__
+location_common
+cat >> "$HTTPD_CFG" <<__EOF__
   SVNParentPath 
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/repositories"
-  AuthzSVNAccessFile 
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/authz"
-  AuthType  Basic
-  AuthName  "Subversion Repository"
-  AuthUserFile  $HTTPD_USERS
   Require   valid-user
-  SVNAdvertiseV2Protocol ${ADVERTISE_V2_PROTOCOL}
-  SVNCacheRevProps  ${CACHE_REVPROPS_SETTING}
   ${SVN_PATH_AUTHZ_LINE}
   DontDoThatConfigFile "$HTTPD_DONTDOTHAT"
 
 
-  DAV   svn
+__EOF__
+location_common
+cat >> "$HTTPD_CFG" <<__EOF__
   SVNPath   
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/local_tmp/repos"
-  AuthzSVNAccessFile 
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/authz"
-  AuthType  Basic
-  AuthName  "Subversion Repository"
-  AuthUserFile  $HTTPD_USERS
   Require   valid-user
-  SVNAdvertiseV2Protocol ${ADVERTISE_V2_PROTOCOL}
   ${SVN_PATH_AUTHZ_LINE}
 
 
@@ -594,84 +601,54 @@ Alias /fsdavroot $ABS_BUILDDIR/subversio
   ${SVN_PATH_AUTHZ_LINE}
 
 
-  DAV   svn
+__EOF__
+location_common
+cat >> "$HTTPD_CFG" <<__EOF__
   SVNParentPath 
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/local_tmp"
-  AuthzSVNAccessFile 
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/authz"
-  SVNAdvertiseV2Protocol ${ADVERTISE_V2_PROTOCOL}
-  SVNCacheRevProps  ${CACHE_REVPROPS_SETTING}
-  SVNListParentPath On
-  AuthType  Basic
-  AuthName  "Subversion Repository"
-  AuthUserFile  $HTTPD_USERS
   Require   valid-user
   Satisfy Any
   ${SVN_PATH_AUTHZ_LINE}
 
 
-  DAV   svn
+__EOF__
+location_common
+cat >> "$HTTPD_CFG" <<__EOF__
   SVNParentPath 
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/local_tmp"
-  AuthzSVNAccessFile 
"$ABS_BUILDDIR/subversion/tests/cmdline/svn-test-work/authz"
-  SVNAdvertiseV2Protocol ${ADVERTISE_V2_PROTOCOL}
-  SVNCacheRevProps  ${CACHE_REVPROPS_SETTING}
-  SVNListParentPath On
-  AuthType  Basic
-  AuthName  "Subversion Repository"
-  AuthUserFile  $HTTPD_USERS
   Require   valid-user
   AuthzSVNNoAuthWhenAnonymousAllowed On
   SVNPathAuthz On
 
 
-  DAV   svn
+__EOF__
+location_commo

svn commit: r1826972 - /subversion/branches/1.10.x/STATUS

2018-03-16 Thread philip
Author: philip
Date: Fri Mar 16 11:17:43 2018
New Revision: 1826972

URL: http://svn.apache.org/viewvc?rev=1826972=rev
Log:
* STATUS: Update FSFS cache fix.

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=1826972=1826971=1826972=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Fri Mar 16 11:17:43 2018
@@ -54,7 +54,7 @@ Candidate changes:
Votes:
  +1: kotkov, philip
 
- * r1826811, r1826814, 1826877, r1826907
+ * r1826811, r1826814, 1826877, r1826907, r1826971
Fix issue 4725: zlib error in fsfs cache.
Justification:
  Needed when svnadmin uses a FSFS cache bigger than 64MB.




svn commit: r1826971 - /subversion/trunk/subversion/libsvn_fs_fs/cached_data.c

2018-03-16 Thread philip
Author: philip
Date: Fri Mar 16 11:15:23 2018
New Revision: 1826971

URL: http://svn.apache.org/viewvc?rev=1826971=rev
Log:
* subversion/libsvn_fs_fs/cached_data.c (cache_windows): Add missing SVN_ERR.

Modified:
subversion/trunk/subversion/libsvn_fs_fs/cached_data.c

Modified: subversion/trunk/subversion/libsvn_fs_fs/cached_data.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/cached_data.c?rev=1826971=1826970=1826971=diff
==
--- subversion/trunk/subversion/libsvn_fs_fs/cached_data.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/cached_data.c Fri Mar 16 11:15:23 
2018
@@ -3271,7 +3271,7 @@ cache_windows(svn_fs_t *fs,
 {
   apr_pool_t *iterpool = svn_pool_create(pool);
 
-  auto_read_diff_version(rs, iterpool);
+  SVN_ERR(auto_read_diff_version(rs, iterpool));
 
   while (rs->current < rs->size)
 {




svn commit: r1826912 - /subversion/site/publish/mailing-lists.html

2018-03-15 Thread philip
Author: philip
Date: Fri Mar 16 01:39:21 2018
New Revision: 1826912

URL: http://svn.apache.org/viewvc?rev=1826912=rev
Log:
* publish/mailing-list.html: Add new Apache links, remove broken mbox links.

Modified:
subversion/site/publish/mailing-lists.html

Modified: subversion/site/publish/mailing-lists.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/mailing-lists.html?rev=1826912=1826911=1826912=diff
==
--- subversion/site/publish/mailing-lists.html (original)
+++ subversion/site/publish/mailing-lists.html Fri Mar 16 01:39:21 2018
@@ -145,12 +145,13 @@ delay for your post to appear (see below
   Archives:
   
   https://mail-archives.apache.org/mod_mbox/subversion-users/;
-  >mail-archives.apache.org
-  (mbox files)
+  >mail-archives.apache.org
+  https://lists.apache.org/list.html?us...@subversion.apache.org;
+  >lists.apache.org (searchable)
   https://svn.haxx.se/users/;
   >svn.haxx.se
   news.gmane.org (NNTP/SSL)
+  >news.gmane.org (NNTP/SSL)
   
 
 
@@ -206,12 +207,13 @@ delay for your post to appear (see below
   Archives:
   
   https://mail-archives.apache.org/mod_mbox/subversion-dev/;
-  >mail-archives.apache.org
-  (mbox files)
+  >mail-archives.apache.org
+  https://lists.apache.org/list.html?d...@subversion.apache.org;
+  >lists.apache.org (searchable)
   https://svn.haxx.se/dev/;
   >svn.haxx.se
   news.gmane.org (NNTP/SSL)
+  >news.gmane.org (NNTP/SSL)
   
 
 
@@ -247,8 +249,9 @@ delay for your post to appear (see below
   Archives:
   
   https://mail-archives.apache.org/mod_mbox/subversion-commits/;
-  >mail-archives.apache.org
-  (mbox files)
+  >mail-archives.apache.org
+  https://lists.apache.org/list.html?commits@subversion.apache.org;
+  >lists.apache.org (searchable)
   
 
 
@@ -286,8 +289,9 @@ delay for your post to appear (see below
   Archives:
   
   https://mail-archives.apache.org/mod_mbox/subversion-announce/;
-  >mail-archives.apache.org
-  (mbox files)
+  >mail-archives.apache.org
+  https://lists.apache.org/list.html?annou...@subversion.apache.org;
+  >lists.apache.org (searchable)
   
 
 
@@ -334,8 +338,9 @@ delay for your post to appear (see below
   Archives:
   
   https://mail-archives.apache.org/mod_mbox/subversion-notifications/;
-  >mail-archives.apache.org
-  (mbox files)
+  >mail-archives.apache.org
+  https://lists.apache.org/list.html?notificati...@subversion.apache.org;
+  >lists.apache.org (searchable)
   
 
 




svn commit: r1826910 - /subversion/branches/1.10.x/STATUS

2018-03-15 Thread philip
Author: philip
Date: Fri Mar 16 00:02:50 2018
New Revision: 1826910

URL: http://svn.apache.org/viewvc?rev=1826910=rev
Log:
* STATUS: Update FSFS cache fix.

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=1826910=1826909=1826910=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Fri Mar 16 00:02:50 2018
@@ -54,7 +54,7 @@ Candidate changes:
Votes:
  +1: kotkov, philip
 
- * r1826811, r1826814, 1826877
+ * r1826811, r1826814, 1826877, r1826907
Fix issue 4725: zlib error in fsfs cache.
Justification:
  Needed when svnadmin uses a FSFS cache bigger than 64MB.




svn commit: r1826907 - /subversion/trunk/subversion/libsvn_fs_fs/cached_data.c

2018-03-15 Thread philip
Author: philip
Date: Fri Mar 16 00:00:23 2018
New Revision: 1826907

URL: http://svn.apache.org/viewvc?rev=1826907=rev
Log:
Fix issue 4727 which is a bug in the fix for issue 4725.

* subversion/libsvn_fs_fs/cached_data.c
  (cache_windows): Move auto_read_diff_version() call before the loop.

Modified:
subversion/trunk/subversion/libsvn_fs_fs/cached_data.c

Modified: subversion/trunk/subversion/libsvn_fs_fs/cached_data.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/cached_data.c?rev=1826907=1826906=1826907=diff
==
--- subversion/trunk/subversion/libsvn_fs_fs/cached_data.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/cached_data.c Fri Mar 16 00:00:23 
2018
@@ -3270,6 +3270,9 @@ cache_windows(svn_fs_t *fs,
   apr_pool_t *pool)
 {
   apr_pool_t *iterpool = svn_pool_create(pool);
+
+  auto_read_diff_version(rs, iterpool);
+
   while (rs->current < rs->size)
 {
   apr_off_t end_offset;
@@ -3310,8 +3313,6 @@ cache_windows(svn_fs_t *fs,
   apr_size_t window_len;
   char *buf;
 
-  auto_read_diff_version(rs, iterpool);
-
   /* navigate to the current window */
   SVN_ERR(rs_aligned_seek(rs, NULL, start_offset, iterpool));
   SVN_ERR(svn_txdelta__read_raw_window_len(_len,




svn commit: r1826878 - /subversion/branches/1.10.x/STATUS

2018-03-15 Thread philip
Author: philip
Date: Thu Mar 15 22:05:12 2018
New Revision: 1826878

URL: http://svn.apache.org/viewvc?rev=1826878=rev
Log:
* STATUS: Propose issue 4725 fix, zlib error in FSFS cache.

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=1826878=1826877=1826878=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Thu Mar 15 22:05:12 2018
@@ -54,6 +54,13 @@ Candidate changes:
Votes:
  +1: kotkov, philip
 
+ * r1826811, r1826814, 1826877
+   Fix issue 4725: zlib error in fsfs cache.
+   Justification:
+ Needed when svnadmin uses a FSFS cache bigger than 64MB.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1826877 - in /subversion/trunk/subversion: libsvn_fs_fs/cached_data.c libsvn_fs_fs/temp_serializer.h tests/cmdline/svnadmin_tests.py

2018-03-15 Thread philip
Author: philip
Date: Thu Mar 15 21:58:57 2018
New Revision: 1826877

URL: http://svn.apache.org/viewvc?rev=1826877=rev
Log:
Fix issue 4725: zlib error in fsfs cache.  Make the raw window
cache store the svndiff version of the data so that the version
is available when the data is retreived from the cache.

* subversion/libsvn_fs_fs/temp_serializer.h
  (svn_fs_fs__raw_cached_window_t): Add svndiff version member.

* subversion/libsvn_fs_fs/cached_data.c
  (parse_raw_window): Use version retrieved from cache.
  (init_rep_state): Initialize version to the unknown value.
  (cache_windows): Read version, store in cache.

* subversion/tests/cmdline/svnadmin_tests.py
  (load_issue4725): Remove XFail marking.

Modified:
subversion/trunk/subversion/libsvn_fs_fs/cached_data.c
subversion/trunk/subversion/libsvn_fs_fs/temp_serializer.h
subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py

Modified: subversion/trunk/subversion/libsvn_fs_fs/cached_data.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/cached_data.c?rev=1826877=1826876=1826877=diff
==
--- subversion/trunk/subversion/libsvn_fs_fs/cached_data.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/cached_data.c Thu Mar 15 21:58:57 
2018
@@ -1268,7 +1268,7 @@ parse_raw_window(void **out,
   stream = svn_stream_from_string(_window, result_pool);
 
   /* parse it */
-  SVN_ERR(svn_txdelta_read_svndiff_window(>window, stream, 1,
+  SVN_ERR(svn_txdelta_read_svndiff_window(>window, stream, window->ver,
   result_pool));
 
   /* complete the window and return it */
@@ -3212,7 +3212,7 @@ init_rep_state(rep_state_t *rs,
   rs->start = entry->offset + rs->header_size;
   rs->current = rep_header->type == svn_fs_fs__rep_plain ? 0 : 4;
   rs->size = entry->size - rep_header->header_size - 7;
-  rs->ver = 1;
+  rs->ver = -1;
   rs->chunk_index = 0;
   rs->raw_window_cache = ffd->raw_window_cache;
   rs->window_cache = ffd->txdelta_window_cache;
@@ -3310,6 +3310,8 @@ cache_windows(svn_fs_t *fs,
   apr_size_t window_len;
   char *buf;
 
+  auto_read_diff_version(rs, iterpool);
+
   /* navigate to the current window */
   SVN_ERR(rs_aligned_seek(rs, NULL, start_offset, iterpool));
   SVN_ERR(svn_txdelta__read_raw_window_len(_len,
@@ -3330,6 +3332,7 @@ cache_windows(svn_fs_t *fs,
   window.end_offset = rs->current;
   window.window.len = window_len;
   window.window.data = buf;
+  window.ver = rs->ver;
 
   /* cache the window now */
   SVN_ERR(svn_cache__set(rs->raw_window_cache, , ,

Modified: subversion/trunk/subversion/libsvn_fs_fs/temp_serializer.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/temp_serializer.h?rev=1826877=1826876=1826877=diff
==
--- subversion/trunk/subversion/libsvn_fs_fs/temp_serializer.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/temp_serializer.h Thu Mar 15 
21:58:57 2018
@@ -60,6 +60,9 @@ typedef struct
 
   /* the offset within the representation right after reading the window */
   apr_off_t end_offset;
+
+  /* svndiff version */
+  int ver;
 } svn_fs_fs__raw_cached_window_t;
 
 /**

Modified: subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py?rev=1826877=1826876=1826877=diff
==
--- subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py Thu Mar 15 
21:58:57 2018
@@ -3802,7 +3802,6 @@ def dump_invalid_filtering_option(sbox):
   '--include', '/A/B/E',
   sbox.repo_dir)
 
-@XFail(svntest.main.is_fs_type_fsfs)
 @Issue(4725)
 def load_issue4725(sbox):
   """load that triggers issue 4725"""




svn commit: r1826814 - /subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py

2018-03-15 Thread philip
Author: philip
Date: Thu Mar 15 13:30:23 2018
New Revision: 1826814

URL: http://svn.apache.org/viewvc?rev=1826814=rev
Log:
* subversion/tests/cmdline/svnadmin_tests.py
  (load_issue4725): Reduce memory request, no need for 1GB.

Modified:
subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py?rev=1826814=1826813=1826814=diff
==
--- subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py Thu Mar 15 
13:30:23 2018
@@ -3823,7 +3823,7 @@ def load_issue4725(sbox):
 
   sbox2 = sbox.clone_dependent()
   sbox2.build(create_wc=False, empty=True)
-  load_and_verify_dumpstream(sbox2, None, [], None, False, dump, '-M1000')
+  load_and_verify_dumpstream(sbox2, None, [], None, False, dump, '-M100')
 
 
 # Run the tests




svn commit: r1826811 - /subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py

2018-03-15 Thread philip
Author: philip
Date: Thu Mar 15 13:17:19 2018
New Revision: 1826811

URL: http://svn.apache.org/viewvc?rev=1826811=rev
Log:
Add a regression test for issue 4725: svnadmin load error due to FSFS cache.

* subversion/tests/cmdline/svnadmin_tests.py
  (load_issue4725): New.
  (test_list): Add load_issue4725, mark as XFail for FSFS.

Modified:
subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py?rev=1826811=1826810=1826811=diff
==
--- subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py Thu Mar 15 
13:17:19 2018
@@ -3802,6 +3802,29 @@ def dump_invalid_filtering_option(sbox):
   '--include', '/A/B/E',
   sbox.repo_dir)
 
+@XFail(svntest.main.is_fs_type_fsfs)
+@Issue(4725)
+def load_issue4725(sbox):
+  """load that triggers issue 4725"""
+
+  sbox.build(empty=True)
+
+  sbox.simple_mkdir('subversion')
+  sbox.simple_commit()
+  sbox.simple_mkdir('subversion/trunk')
+  sbox.simple_mkdir('subversion/branches')
+  sbox.simple_commit()
+  sbox.simple_mkdir('subversion/trunk/src')
+  sbox.simple_commit()
+
+  _, dump, _ = svntest.actions.run_and_verify_svnadmin(None, [],
+   'dump', '-q',
+   sbox.repo_dir)
+
+  sbox2 = sbox.clone_dependent()
+  sbox2.build(create_wc=False, empty=True)
+  load_and_verify_dumpstream(sbox2, None, [], None, False, dump, '-M1000')
+
 
 # Run the tests
 
@@ -3874,7 +3897,8 @@ test_list = [ None,
   dump_exclude_by_pattern,
   dump_include_by_pattern,
   dump_exclude_all_rev_changes,
-  dump_invalid_filtering_option
+  dump_invalid_filtering_option,
+  load_issue4725,
  ]
 
 if __name__ == '__main__':




svn commit: r1826761 - /subversion/branches/1.10.x/STATUS

2018-03-14 Thread philip
Author: philip
Date: Wed Mar 14 23:48:05 2018
New Revision: 1826761

URL: http://svn.apache.org/viewvc?rev=1826761=rev
Log:
* STATUS: Vote for svn_txdelta_to_svndiff_stream fix.

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=1826761=1826760=1826761=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Wed Mar 14 23:48:05 2018
@@ -52,7 +52,7 @@ Candidate changes:
  A bug that can cause failing commits over http://, regression
  introduced in 1.10.
Votes:
- +1: kotkov
+ +1: kotkov, philip
 
 Veto-blocked changes:
 =




svn commit: r1826726 - /subversion/branches/1.9.x/STATUS

2018-03-14 Thread philip
Author: philip
Date: Wed Mar 14 14:59:29 2018
New Revision: 1826726

URL: http://svn.apache.org/viewvc?rev=1826726=rev
Log:
* STATUS: Separate the issue 4722 nominations, only the first is on the branch.

Modified:
subversion/branches/1.9.x/STATUS

Modified: subversion/branches/1.9.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.9.x/STATUS?rev=1826726=1826725=1826726=diff
==
--- subversion/branches/1.9.x/STATUS (original)
+++ subversion/branches/1.9.x/STATUS Wed Mar 14 14:59:29 2018
@@ -118,14 +118,20 @@ Candidate changes:
Votes:
  +1: julianfoad, stsp
 
- * r1826272, r1826720, r1826721
+ * r1826272
Fix issue 4722: commits that fail when a file DELTA is a multiple of 16K.
Justification:
  Commits fail with a false "Filesystem is corrupt" error.
Branch: ^/subversion/branches/1.9.x-issue4722
Votes:
+ +1: philip, stsp
+
+ * r1826720, r1826721
+   Regression test and FSFS checksum verification for issue 4722.
+   Justification:
+ Tests the issue 4722 fix.
+   Votes:
  +1: philip
- +1: stsp (r1826272 only)
 
 Veto-blocked changes:
 =




svn commit: r1826724 - /subversion/branches/1.10.x/STATUS

2018-03-14 Thread philip
Author: philip
Date: Wed Mar 14 14:34:12 2018
New Revision: 1826724

URL: http://svn.apache.org/viewvc?rev=1826724=rev
Log:
* STATUS: Nominate testing for issue 4722.

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=1826724=1826723=1826724=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Wed Mar 14 14:34:12 2018
@@ -38,6 +38,13 @@ Candidate changes:
Votes:
  +1: danielsh, jamessan
 
+ * r1826720, r1826721
+   Regression test and FSFS checksum test, part of issue 4722.
+   Justification:
+ Keeps 1.10 in sync with 1.11 and 1.9.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1826723 - /subversion/branches/1.9.x/STATUS

2018-03-14 Thread philip
Author: philip
Date: Wed Mar 14 14:33:37 2018
New Revision: 1826723

URL: http://svn.apache.org/viewvc?rev=1826723=rev
Log:
* STATUS: Nominate additional testing for issue 4722.

Modified:
subversion/branches/1.9.x/STATUS

Modified: subversion/branches/1.9.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.9.x/STATUS?rev=1826723=1826722=1826723=diff
==
--- subversion/branches/1.9.x/STATUS (original)
+++ subversion/branches/1.9.x/STATUS Wed Mar 14 14:33:37 2018
@@ -118,13 +118,14 @@ Candidate changes:
Votes:
  +1: julianfoad, stsp
 
- * r1826272
+ * r1826272, r1826720, r1826721
Fix issue 4722: commits that fail when a file DELTA is a multiple of 16K.
Justification:
  Commits fail with a false "Filesystem is corrupt" error.
Branch: ^/subversion/branches/1.9.x-issue4722
Votes:
- +1: philip, stsp
+ +1: philip
+ +1: stsp (r1826272 only)
 
 Veto-blocked changes:
 =




svn commit: r1826721 - /subversion/trunk/subversion/tests/cmdline/commit_tests.py

2018-03-14 Thread philip
Author: philip
Date: Wed Mar 14 14:26:04 2018
New Revision: 1826721

URL: http://svn.apache.org/viewvc?rev=1826721=rev
Log:
Add a regression test for issue 4722, a commit checksum fail in 1.9.7.

* subversion/tests/cmdline/commit_tests.py
  (commit_issue4722_checksum): New.
  (test_list): Add new test.

Modified:
subversion/trunk/subversion/tests/cmdline/commit_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/commit_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/commit_tests.py?rev=1826721=1826720=1826721=diff
==
--- subversion/trunk/subversion/tests/cmdline/commit_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/commit_tests.py Wed Mar 14 
14:26:04 2018
@@ -3113,6 +3113,39 @@ def commit_xml(sbox):
   sbox.simple_append('index.html', '', True)
   sbox.simple_commit()
 
+@Issue(4722)
+def commit_issue4722_checksum(sbox):
+  "commit that triggered checksum failure"
+
+  sbox.build()
+
+  # This bug only ever affected FSFS in 1.9.7.  The test could be
+  # considered a bit "fragile" as any change to the on-disk
+  # representation may well make it pass trivially.  On the other hand
+  # it should still pass irrespective of that representation, and for
+  # all other repository types.
+
+  # Enough data to allow the bug to occur
+  with open(sbox.ospath('f'), 'w') as fp:
+for i in range(0, 2001):
+  fp.write('abcdefghijklmnopqrstuvwxyz')
+  sbox.simple_add('f')
+  sbox.simple_commit()
+
+  # Just the right data to trigger the bug
+  with open(sbox.ospath('f'), 'w') as fp:
+for i in range(0, 8713):
+  fp.write(str(i))
+fp.write("1")
+  sbox.simple_commit()
+
+  # Trigger deduplication which is when the bug occurred
+  with open(sbox.ospath('f'), 'w') as fp:
+for i in range(0, 2001):
+  fp.write('abcdefghijklmnopqrstuvwxyz')
+  sbox.simple_commit()
+
+
 
 # Run the tests
 
@@ -3190,6 +3223,7 @@ test_list = [ None,
   commit_mergeinfo_ood,
   mkdir_conflict_proper_error,
   commit_xml,
+  commit_issue4722_checksum,
  ]
 
 if __name__ == '__main__':




svn commit: r1826720 - /subversion/trunk/subversion/libsvn_fs_fs/cached_data.c

2018-03-14 Thread philip
Author: philip
Date: Wed Mar 14 14:24:36 2018
New Revision: 1826720

URL: http://svn.apache.org/viewvc?rev=1826720=rev
Log:
Add a checksum length verification to the FSFS checksum code.  This
may have prevented the issue 4722 checksum bug by making the problem
much more visible: it would have failed lots of successful commits
that only succeeded by ignoring the length error.

* subversion/libsvn_fs_fs/cached_data.c
  (rep_read_contents): This is now a READ_FULL_FN for svn_stream_t
   and a short read is EOF at which point the length can be checked.
   When originally written the code was a READ_FN and a short read
   was not necessarily EOF.

Modified:
subversion/trunk/subversion/libsvn_fs_fs/cached_data.c

Modified: subversion/trunk/subversion/libsvn_fs_fs/cached_data.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/cached_data.c?rev=1826720=1826719=1826720=diff
==
--- subversion/trunk/subversion/libsvn_fs_fs/cached_data.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/cached_data.c Wed Mar 14 14:24:36 
2018
@@ -2103,13 +2103,14 @@ skip_contents(struct rep_read_baton *bat
 
 /* BATON is of type `rep_read_baton'; read the next *LEN bytes of the
representation and store them in *BUF.  Sum as we read and verify
-   the MD5 sum at the end. */
+   the MD5 sum at the end.  This is a READ_FULL_FN for svn_stream_t. */
 static svn_error_t *
 rep_read_contents(void *baton,
   char *buf,
   apr_size_t *len)
 {
   struct rep_read_baton *rb = baton;
+  apr_size_t len_requested = *len;
 
   /* Get data from the fulltext cache for as long as we can. */
   if (rb->fulltext_cache)
@@ -2150,6 +2151,12 @@ rep_read_contents(void *baton,
   if (rb->current_fulltext)
 svn_stringbuf_appendbytes(rb->current_fulltext, buf, *len);
 
+  /* This is a FULL_READ_FN so a short read implies EOF. */
+  rb->off += *len;
+  if (*len < len_requested && rb->off != rb->len)
+return svn_error_create(SVN_ERR_FS_CORRUPT, NULL,
+_("Length mismatch while reading representation"));
+
   /* Perform checksumming.  We want to check the checksum as soon as
  the last byte of data is read, in case the caller never performs
  a short read, but we don't want to finalize the MD5 context
@@ -2157,7 +2164,6 @@ rep_read_contents(void *baton,
   if (!rb->checksum_finalized)
 {
   SVN_ERR(svn_checksum_update(rb->md5_checksum_ctx, buf, *len));
-  rb->off += *len;
   if (rb->off == rb->len)
 {
   svn_checksum_t *md5_checksum;




svn commit: r1826274 - /subversion/branches/1.9.x/STATUS

2018-03-08 Thread philip
Author: philip
Date: Thu Mar  8 20:35:49 2018
New Revision: 1826274

URL: http://svn.apache.org/viewvc?rev=1826274=rev
Log:
* STATUS: Propose issue 4722 fix.

Modified:
subversion/branches/1.9.x/STATUS

Modified: subversion/branches/1.9.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.9.x/STATUS?rev=1826274=1826273=1826274=diff
==
--- subversion/branches/1.9.x/STATUS (original)
+++ subversion/branches/1.9.x/STATUS Thu Mar  8 20:35:49 2018
@@ -118,6 +118,14 @@ Candidate changes:
Votes:
  +1: julianfoad, stsp
 
+ * r1826272
+   Fix issue 4722: commits that fail when a file DELTA is a multiple of 16K.
+   Justification:
+ Commits fail with a false "Filesystem is corrupt" error.
+   Branch: ^/subversion/branches/1.9.x-issue4722
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1826272 - /subversion/branches/1.9.x-issue4722/subversion/libsvn_fs_fs/cached_data.c

2018-03-08 Thread philip
Author: philip
Date: Thu Mar  8 20:29:21 2018
New Revision: 1826272

URL: http://svn.apache.org/viewvc?rev=1826272=rev
Log:
On 1.9.x-issue4722 branch: fix the commit checksum failure.

* subversion/libsvn_fs_fs/cached_data.c
  (svn_fs_fs__get_contents_from_file): Set expanded_size in rep.

Found by: Myria <myriachan{_AT_}gmail.com>

Modified:
subversion/branches/1.9.x-issue4722/subversion/libsvn_fs_fs/cached_data.c

Modified: 
subversion/branches/1.9.x-issue4722/subversion/libsvn_fs_fs/cached_data.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.9.x-issue4722/subversion/libsvn_fs_fs/cached_data.c?rev=1826272=1826271=1826272=diff
==
--- subversion/branches/1.9.x-issue4722/subversion/libsvn_fs_fs/cached_data.c 
(original)
+++ subversion/branches/1.9.x-issue4722/subversion/libsvn_fs_fs/cached_data.c 
Thu Mar  8 20:29:21 2018
@@ -2199,6 +2199,7 @@ svn_fs_fs__get_contents_from_file(svn_st
   next_rep.revision = rh->base_revision;
   next_rep.item_index = rh->base_item_index;
   next_rep.size = rh->base_length;
+  next_rep.expanded_size = rep->expanded_size;
   svn_fs_fs__id_txn_reset(_rep.txn_id);
 
   SVN_ERR(build_rep_list(>rs_list, >base_window,




svn commit: r1826271 - /subversion/branches/1.9.x-issue4722/

2018-03-08 Thread philip
Author: philip
Date: Thu Mar  8 20:28:08 2018
New Revision: 1826271

URL: http://svn.apache.org/viewvc?rev=1826271=rev
Log:
Create 1.9.x branch for issue 4722.

Added:
subversion/branches/1.9.x-issue4722/   (props changed)
  - copied from r1826269, subversion/branches/1.9.x/

Propchange: subversion/branches/1.9.x-issue4722/
--
--- bugtraq:logregex (added)
+++ bugtraq:logregex Thu Mar  8 20:28:08 2018
@@ -0,0 +1,2 @@
+[Ii]ssues?:?(\s*(,|and)?\s*#\d+)+
+(\d+)

Propchange: subversion/branches/1.9.x-issue4722/
--
bugtraq:url = http://subversion.tigris.org/issues/show_bug.cgi?id=%BUGID%

Propchange: subversion/branches/1.9.x-issue4722/
--
--- svn:auto-props (added)
+++ svn:auto-props Thu Mar  8 20:28:08 2018
@@ -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.9.x-issue4722/
--
--- svn:ignore (added)
+++ svn:ignore Thu Mar  8 20:28:08 2018
@@ -0,0 +1,57 @@
+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.sln
+subversion_vcnet.ncb
+subversion_vcnet.suo
+subversion_vcnet.v11.suo
+subversion_vcnet.sdf
+subversion_vcnet.opensdf
+mkmf.log
+.project
+.classpath
+.cdtproject
+.settings
+.cproject
+zlib
+sqlite-amalgamation
+serf
+gmock-fused
+.git
+.gitignore
+compile_commands.json
+.kdev4
+*.kdev4

Propchange: subversion/branches/1.9.x-issue4722/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Mar  8 20:28:08 2018
@@ -0,0 +1,112 @@
+/subversion/branches/1.10-cache-improvements:1675666-1677522,1679679,1679681,1679859
+/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-fix-fsfs:1796142-1796469
+/subversion/branches/1.9.x-fsfs-pack-fixes:1759183-1770158
+/subversion/branches/1.9.x-fsfs-rep-comparison:1717869-1739708
+/subversion/branches/1.9.x-r1664664:1674265-1674433
+/subversion/branches/1.9.x-r1667233:1673207-1673638
+/subversion/branches/1.9.x-r1700215:1701365-1703825
+/subversion/branches/1.9.x-r1703581:1703613-1713071
+/subversion/branches/1.9.x-r1706428:1711251-1716560
+/subversion/branches/1.9.x-r1721488:1723204-1764572,1764631-1764637
+/subversion/branches/1.9.x-r1725180:1727683-1739396
+/subversion/branches/1.9.x-r1757529-group:1757739-1757935
+/subversion/branches/1.9.x-r1758224-group:1758407-1758693
+/subversion/branches/1.9.x-r1785053:1786519-1794526
+/subversion/branches/1.9.x-r1795116:1795117-1814247
+/subversion/branches/1.9.x-r1802316:1802343-1803754
+/subversion/branches/1.9.x-r1808955:1808957-1820522
+/subversion/branches/1.9.x-rep-cache-db-fixes:1743185-1757778
+/subversion/branches/1.9.x-strict-rep-sharing:1786535-1795992
+/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:1615360
+/subversion/branches/auto-props-sdc:1384106-1401643
+/subversion/branches/bdb-reverse-deltas:872050-872529
+/subversion/branches/cache-server:1458643-1476567
+/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

svn commit: r1826020 - /subversion/branches/1.10.x/STATUS

2018-03-06 Thread philip
Author: philip
Date: Tue Mar  6 18:13:22 2018
New Revision: 1826020

URL: http://svn.apache.org/viewvc?rev=1826020=rev
Log:
* STATUS: Vote for macOS lz4 warning fix.

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=1826020=1826019=1826020=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Tue Mar  6 18:13:22 2018
@@ -21,7 +21,7 @@ Candidate changes:
Justification:
  The core build should be warning-free.
Votes:
- +1: brane
+ +1: brane, philip
 
  * r1825709, r1825711
Don't offer conflict resolution options for 'local move vs incoming move'.




svn commit: r1826015 - /subversion/branches/1.10.x/STATUS

2018-03-06 Thread philip
Author: philip
Date: Tue Mar  6 17:56:26 2018
New Revision: 1826015

URL: http://svn.apache.org/viewvc?rev=1826015=rev
Log:
* STATUS: Vote for UTF8 test fix.

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=1826015=1826014=1826015=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Tue Mar  6 17:56:26 2018
@@ -37,7 +37,7 @@ Candidate changes:
Justification:
  Fixes test failure
Votes:
- +1: jamessan
+ +1: jamessan, philip
 
  * r1825979
Minor clarification to docstring.




svn commit: r1826009 - /subversion/branches/1.10.x/STATUS

2018-03-06 Thread philip
Author: philip
Date: Tue Mar  6 17:44:13 2018
New Revision: 1826009

URL: http://svn.apache.org/viewvc?rev=1826009=rev
Log:
* STATUS: Vote for move conflict fix.

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=1826009=1826008=1826009=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Tue Mar  6 17:44:13 2018
@@ -29,7 +29,7 @@ Candidate changes:
  The resolver does not support 'move vs move' resolution yet.
  The current behaviour is misleading.
Votes:
- +1: stsp
+ +1: stsp, philip
 
  * r1825783, r1825787, r1825788
Ensure test data is correctly aligned before calling




svn commit: r1826004 - /subversion/branches/1.10.x/STATUS

2018-03-06 Thread philip
Author: philip
Date: Tue Mar  6 17:32:12 2018
New Revision: 1826004

URL: http://svn.apache.org/viewvc?rev=1826004=rev
Log:
* STATUS: Vote for macOS version fix.

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=1826004=1826003=1826004=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Tue Mar  6 17:32:12 2018
@@ -31,13 +31,6 @@ Candidate changes:
Votes:
  +1: stsp
 
- * r1825721
-   Convert macOS versions 10.13.x to release name "High Sierra".
-   Justication:
- Cosmetic correctness of 'svn --version --verbose' output.
-   Votes:
- +1: brane, stsp
-
  * r1825783, r1825787, r1825788
Ensure test data is correctly aligned before calling
svn_utf__utf{16,32}_to_utf8
@@ -58,3 +51,10 @@ Veto-blocked changes:
 
 Approved changes:
 =
+
+ * r1825721
+   Convert macOS versions 10.13.x to release name "High Sierra".
+   Justication:
+ Cosmetic correctness of 'svn --version --verbose' output.
+   Votes:
+     +1: brane, stsp, philip




svn commit: r1825779 - /subversion/branches/1.10.x/STATUS

2018-03-03 Thread philip
Author: philip
Date: Sat Mar  3 17:12:05 2018
New Revision: 1825779

URL: http://svn.apache.org/viewvc?rev=1825779=rev
Log:
* STATUS: Nominate mod_authz_svn revert.

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=1825779=1825778=1825779=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Sat Mar  3 17:12:05 2018
@@ -38,13 +38,14 @@ Candidate changes:
Votes:
  +1: brane, stsp
 
- * r1825736
+ * r1825736, r1825778
Fix a memory usage problem in mod_authz_svn.
Justifiation:
  Server uses too much memory if authz is enabled.
  See https://svn.haxx.se/dev/archive-2018-03/0010.shtml
Votes:
- +1: stsp
+ +1: philip
+ +1: stsp (without r1825778)
   
 Veto-blocked changes:
 =




svn commit: r1825778 - /subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c

2018-03-03 Thread philip
Author: philip
Date: Sat Mar  3 16:58:13 2018
New Revision: 1825778

URL: http://svn.apache.org/viewvc?rev=1825778=rev
Log:
Revert r1825736, r1779188 and r1778923.  This reverts to
caching the authz file for the duration of the connection
in mod_authz_svn.  This was due to performance issues:

https://mail-archives.apache.org/mod_mbox/subversion-dev/201803.mbox/%3CCAP_GPNii50yPBMNogDYgrgk9%3DpUs802YAjM3to2g5s7R21GX5g%40mail.gmail.com%3E

* subversion/mod_authz_svn/mod_authz_svn.c
  (get_access_conf, req_check_access, subreq_bypass2): Revert.

Modified:
subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c

Modified: subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c?rev=1825778=1825777=1825778=diff
==
--- subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c (original)
+++ subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c Sat Mar  3 
16:58:13 2018
@@ -395,17 +395,18 @@ resolve_repos_relative_url(const char **
 }
 
 /*
- * Get the svn_authz_t for this request.
+ * Get the, possibly cached, svn_authz_t for this request.
  */
 static svn_authz_t *
 get_access_conf(request_rec *r, authz_svn_config_rec *conf,
-apr_pool_t *result_pool,
 apr_pool_t *scratch_pool)
 {
+  const char *cache_key = NULL;
   const char *access_file;
   const char *groups_file;
   const char *repos_path;
   const char *repos_url = NULL;
+  void *user_data = NULL;
   svn_authz_t *access_conf = NULL;
   svn_error_t *svn_err = SVN_NO_ERROR;
   dav_error *dav_err;
@@ -465,19 +466,31 @@ get_access_conf(request_rec *r, authz_sv
 "Path to groups file is %s", groups_file);
 }
 
-  svn_err = svn_repos_authz_read3(_conf,
-  access_file, groups_file,
-  TRUE, NULL,
-  result_pool, scratch_pool);
-
-  if (svn_err)
+  cache_key = apr_pstrcat(scratch_pool, "mod_authz_svn:",
+  access_file, groups_file, SVN_VA_NULL);
+  apr_pool_userdata_get(_data, cache_key, r->connection->pool);
+  access_conf = user_data;
+  if (access_conf == NULL)
 {
-  log_svn_error(APLOG_MARK, r,
-"Failed to load the mod_authz_svn config:",
-svn_err, scratch_pool);
-  access_conf = NULL;
-}
+  svn_err = svn_repos_authz_read3(_conf, access_file,
+  groups_file, TRUE, NULL,
+  r->connection->pool,
+  scratch_pool);
 
+  if (svn_err)
+{
+  log_svn_error(APLOG_MARK, r,
+"Failed to load the mod_authz_svn config:",
+svn_err, scratch_pool);
+  access_conf = NULL;
+}
+  else
+{
+  /* Cache the open repos for the next request on this connection */
+  apr_pool_userdata_set(access_conf, cache_key,
+NULL, r->connection->pool);
+}
+}
   return access_conf;
 }
 
@@ -688,7 +701,7 @@ req_check_access(request_rec *r,
 }
 
   /* Retrieve/cache authorization file */
-  access_conf = get_access_conf(r,conf, r->pool, r->pool);
+  access_conf = get_access_conf(r,conf, r->pool);
   if (access_conf == NULL)
 return DECLINED;
 
@@ -805,7 +818,7 @@ subreq_bypass2(request_rec *r,
 }
 
   /* Retrieve authorization file */
-  access_conf = get_access_conf(r, conf, scratch_pool, scratch_pool);
+  access_conf = get_access_conf(r, conf, scratch_pool);
   if (access_conf == NULL)
 return HTTP_FORBIDDEN;
 




svn commit: r1825556 - /subversion/site/publish/docs/community-guide/debugging.part.html

2018-02-28 Thread philip
Author: philip
Date: Wed Feb 28 12:13:40 2018
New Revision: 1825556

URL: http://svn.apache.org/viewvc?rev=1825556=rev
Log:
* publish/docs/community-guide/debugging.part.html
  (net-trace-neon): Remove, neon is no longer supported.

Modified:
subversion/site/publish/docs/community-guide/debugging.part.html

Modified: subversion/site/publish/docs/community-guide/debugging.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/community-guide/debugging.part.html?rev=1825556=182=1825556=diff
==
--- subversion/site/publish/docs/community-guide/debugging.part.html (original)
+++ subversion/site/publish/docs/community-guide/debugging.part.html Wed Feb 28 
12:13:40 2018
@@ -299,23 +299,6 @@ when Wireshark was called Ethereal).
 
  
 
-
-Network tracing with neon-debug-mask 
-  #net-trace-neon"
-title="Link to this section">
-
-
-Alternatively, you may set the neon-debug-mask parameter in your
-servers configuration file to cause neon's debugging output
-to appear when you run the svn client.  The numeric value of
-neon-debug-mask is a combination of the NE_DBG_... values
-in the header file ne_utils.h.  For current versions of neon, setting
-neon-debug-mask to 130 (i.e. NE_DBG_HTTP+NE_DBG_HTTPBODY)
-will cause the HTTP data to be shown. Note that neon-debug-mask will
-only work if neon was compiled with debugging support.
-
- 
-
 
 Network tracing with socat 
   #net-trace-socat"




svn commit: r1825550 - /subversion/site/publish/docs/community-guide/debugging.part.html

2018-02-28 Thread philip
Author: philip
Date: Wed Feb 28 11:19:45 2018
New Revision: 1825550

URL: http://svn.apache.org/viewvc?rev=1825550=rev
Log:
* publish/docs/community-guide/debugging.part.html
  (net-trace-socat): Add https example.

Modified:
subversion/site/publish/docs/community-guide/debugging.part.html

Modified: subversion/site/publish/docs/community-guide/debugging.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/community-guide/debugging.part.html?rev=1825550=1825549=1825550=diff
==
--- subversion/site/publish/docs/community-guide/debugging.part.html (original)
+++ subversion/site/publish/docs/community-guide/debugging.part.html Wed Feb 28 
11:19:45 2018
@@ -337,6 +337,22 @@ traffic from port 9630 to the normal svn
 print all traffic in both directions to standard error, prefixing it
 with  and  signs to show the direction of the traffic.
 
+To log readable HTTP from an encrypted https:// connection run a
+socat proxy that connects using TLS to the server:
+
+socat -v TCP-LISTEN:9630,reuseaddr,fork
+OPENSSL:example.com:443
+
+and then use that as a proxy for a plain http:// connection:
+
+svn ls http://example.com/svn/repos/trunk \
+--config-option servers:global:http-proxy-host=localhost \
+--config-option servers:global:http-proxy-port=9630 \
+--config-option servers:global:http-compression=no
+
+The socat proxy logs the plain HTTP while all the network traffic
+with the server is encrypted using TLS.
+
  
 
 




svn commit: r25202 - in /dev/subversion: subversion-1.10.0-rc1.tar.bz2.asc subversion-1.10.0-rc1.tar.gz.asc

2018-02-21 Thread philip
Author: philip
Date: Wed Feb 21 20:46:07 2018
New Revision: 25202

Log:
Sign 1.10.0-rc1 Linux

Modified:
dev/subversion/subversion-1.10.0-rc1.tar.bz2.asc
dev/subversion/subversion-1.10.0-rc1.tar.gz.asc

Modified: dev/subversion/subversion-1.10.0-rc1.tar.bz2.asc
==
--- dev/subversion/subversion-1.10.0-rc1.tar.bz2.asc (original)
+++ dev/subversion/subversion-1.10.0-rc1.tar.bz2.asc Wed Feb 21 20:46:07 2018
@@ -15,3 +15,14 @@ tA63MTtw3MiGStcFReRDMYBsAUqrJ9o+UWsMgb7T
 u4nCiFgq5Z7vNVOiTaPg
 =co6m
 -END PGP SIGNATURE-
+-BEGIN PGP SIGNATURE-
+
+iQEzBAABCAAdFiEEqER5D7V0NgbulZIHdteI4e0aWZwFAlqN1/0ACgkQdteI4e0a
+WZy6TAgAmUQSQfuOWXuQq20ElDRlqxO54H+byo7mSqtCstWd/oP+Bb8H0I5eJyU8
+97EF3TdceKvcgEHj3ofUEPMbL4VHcjmnwLI4cmLS/CTxUV2m8ekSIZK3+ewXjCYy
+76j0g021k4RYswUmxpUchw8aHiTarxSVvl/ZkNIgom0xOXeKphcioc+hXHIh387r
+OgrS2qKy67+rbuO3qf3B9bqDXpISmS1QGPGf4j2JmlKUYopHWKQz4Rw3P7TyfJS6
+b3b18cimeBcPGne+TLPhiM3UUvcjmI4u90lAyZvGSZrQj0q80S4t3Yz8coAZaTVJ
+ynqmxog6hGcbsqI5nxt99o0f8JwaBA==
+=J2tV
+-END PGP SIGNATURE-

Modified: dev/subversion/subversion-1.10.0-rc1.tar.gz.asc
==
--- dev/subversion/subversion-1.10.0-rc1.tar.gz.asc (original)
+++ dev/subversion/subversion-1.10.0-rc1.tar.gz.asc Wed Feb 21 20:46:07 2018
@@ -15,3 +15,14 @@ afyupVFyKoKjYdxPWLhLr6ECqhv4492ndSUPYMSf
 q5odKjoQ3mhDUIaUhEpD
 =0SUI
 -END PGP SIGNATURE-
+-BEGIN PGP SIGNATURE-
+
+iQEzBAABCAAdFiEEqER5D7V0NgbulZIHdteI4e0aWZwFAlqN1/0ACgkQdteI4e0a
+WZwFXAf/XwMWLoGEWdzV9CqY0JvvOj2dwszvwEDq+05O8lUDXLOFjul4zWwby0I+
+YGQwCQ7KnF20/GeHsnEv43rkYgcmtpL7w5qPBkPlN/UwclvuINvTuidDtl1OgARM
+u8TUhRrogr/vl4+RWU3ylFT5NRHw6qSEY+67vr2hyKVjIhpHdjLW8yPTQ213KtTb
+kItyFGL2ehqEMgHk5/EjhzZ2+KBBMEQidz1WX8hWkTBzdtPijgxx+0hzDY9gbyU4
+srxV0oKYr0ZTzOQubcIJoaybExMBH//MBk3RTK6tbROxQTC9T+VSzCsOPONhv5RE
+nBQOCPDYx8tPAzvKhEiOEfQuqTJzvw==
+=dv+E
+-END PGP SIGNATURE-




svn commit: r1824182 - /subversion/branches/1.10.x/STATUS

2018-02-13 Thread philip
Author: philip
Date: Tue Feb 13 22:18:35 2018
New Revision: 1824182

URL: http://svn.apache.org/viewvc?rev=1824182=rev
Log:
* STATUS: Cast four votes, approve 'make check' with binaries.

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=1824182=1824181=1824182=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Tue Feb 13 22:18:35 2018
@@ -21,32 +21,32 @@ Candidate changes:
Justification:
  The release build scripts should match those in the recommended APR deps.
Votes:
- +1: julianfoad
+ +1: julianfoad, philip
 
  * r1823791
Ensure that libsvn_swig_perl is built before Makefile.PL.
Justification:
  Fixes the Perl bindings build in parallel mode (make -jN)
Votes:
- +1: stsp
-
- * r1822587, r1822591
-   Make it possible to run 'nake check' with installed binaries.
-   Justification:
- Cuts 'make check' run time in half for me because invoking the
- libtool wrapper shell scripts is slow (at least on OpenBSD).
-   Votes:
- +1: stsp, danielsh
+ +1: stsp, philip
 
  * r1823211
 Filter standard library directories from SWIG_PL_LINK.
 Justification:
   Consistency with how this is done for other swig bindings.
 Votes:
-  +1: stsp
+  +1: stsp, philip
 
 Veto-blocked changes:
 =
 
 Approved changes:
 =
+
+ * r1822587, r1822591
+   Make it possible to run 'make check' with installed binaries.
+   Justification:
+ Cuts 'make check' run time in half for me because invoking the
+ libtool wrapper shell scripts is slow (at least on OpenBSD).
+   Votes:
+ +1: stsp, danielsh, philip




svn commit: r1824065 - in /subversion/trunk/subversion/tests/cmdline: svnadmin_tests.py svntest/main.py

2018-02-12 Thread philip
Author: philip
Date: Mon Feb 12 20:47:53 2018
New Revision: 1824065

URL: http://svn.apache.org/viewvc?rev=1824065=rev
Log:
Allow testsuite setting such as FSFS_SHARDING=3 to apply to FSX repositories.

* subversion/tests/cmdline/svntest/main.py
  (_post_create_repos): Allow FSFS settings to apply to FSX.

* subversion/tests/cmdline/svnadmin_tests.py
  (fsfs_file): Handle FSX repositories.
  (verify_denormalized_names): Don't special case FSX repositories.

Modified:
subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
subversion/trunk/subversion/tests/cmdline/svntest/main.py

Modified: subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py?rev=1824065=1824064=1824065=diff
==
--- subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py Mon Feb 12 
20:47:53 2018
@@ -777,9 +777,13 @@ def verify_windows_paths_in_repos(sbox):
 def fsfs_file(repo_dir, kind, rev):
   if svntest.main.options.server_minor_version >= 5:
 if svntest.main.options.fsfs_sharding is None:
+  if svntest.main.is_fs_type_fsx():
+rev = 'r' + rev
   return os.path.join(repo_dir, 'db', kind, '0', rev)
 else:
   shard = int(rev) // svntest.main.options.fsfs_sharding
+  if svntest.main.is_fs_type_fsx():
+rev = 'r' + rev
   path = os.path.join(repo_dir, 'db', kind, str(shard), rev)
 
   if svntest.main.options.fsfs_packing is None or kind == 'revprops':
@@ -2856,10 +2860,7 @@ def verify_quickly(sbox):
   "verify quickly using metadata"
 
   sbox.build(create_wc = False)
-  if svntest.main.is_fs_type_fsfs():
-rev_file = open(fsfs_file(sbox.repo_dir, 'revs', '1'), 'r+b')
-  else:
-rev_file = open(fsfs_file(sbox.repo_dir, 'revs', 'r1'), 'r+b')
+  rev_file = open(fsfs_file(sbox.repo_dir, 'revs', '1'), 'r+b')
 
   # set new contents
   rev_file.seek(8)

Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1824065=1824064=1824065=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Mon Feb 12 
20:47:53 2018
@@ -1035,7 +1035,8 @@ def _post_create_repos(path, minor_versi
   users += (crosscheck_username + " = " + crosscheck_password + "\n")
 file_append(os.path.join(path, "conf", "passwd"), users)
 
-  if options.fs_type is None or options.fs_type == 'fsfs':
+  if options.fs_type is None or options.fs_type == 'fsfs' or \
+ options.fs_type == 'fsx':
 # fsfs.conf file
 if (minor_version is None or minor_version >= 6):
   confpath = get_fsfs_conf_file_path(path)




svn commit: r1823714 - /subversion/branches/1.10.x/STATUS

2018-02-09 Thread philip
Author: philip
Date: Fri Feb  9 22:59:10 2018
New Revision: 1823714

URL: http://svn.apache.org/viewvc?rev=1823714=rev
Log:
* STATUS: Vote/approve reversed range mergeinfo fix.

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=1823714=1823713=1823714=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Fri Feb  9 22:59:10 2018
@@ -37,14 +37,6 @@ Candidate changes:
Votes:
  +1: julianfoad, jamessan
 
- * r1823202,r1823203
-   Fix issue #4686 "Unable to parse reversed revision range '19634-19631'"
-   Justification:
- Assertion failure during certain merges.
-   Branch: ^/subversion/branches/1.10.x-issue4686
-   Votes:
- +1: julianfoad, rhuijben
-
  * r1822996
Fix x509 parser to handle RSASSA-PSS certificates.
Justification:
@@ -65,3 +57,11 @@ Veto-blocked changes:
 
 Approved changes:
 =
+
+ * r1823202,r1823203
+   Fix issue #4686 "Unable to parse reversed revision range '19634-19631'"
+   Justification:
+ Assertion failure during certain merges.
+   Branch: ^/subversion/branches/1.10.x-issue4686
+   Votes:
+ +1: julianfoad, rhuijben, philip




svn commit: r1823323 - /subversion/branches/1.10.x/STATUS

2018-02-06 Thread philip
Author: philip
Date: Tue Feb  6 13:03:45 2018
New Revision: 1823323

URL: http://svn.apache.org/viewvc?rev=1823323=rev
Log:
* STATUS: Propose x509 parser fix.

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=1823323=1823322=1823323=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Tue Feb  6 13:03:45 2018
@@ -45,5 +45,13 @@ Candidate changes:
Votes:
  +1: julianfoad, rhuijben
 
+ * r1822996
+   Fix x509 parser to handle RSASSA-PSS certificates.
+   Justification:
+ JavaHL needs this to handle failure to verify such certs.
+ 'svn auth' also affected.
+   Votes:
+ +1: philip
+
 Approved changes:
 =




svn commit: r1822996 - in /subversion/trunk/subversion: libsvn_subr/x509parse.c tests/libsvn_subr/x509-test.c

2018-02-02 Thread philip
Author: philip
Date: Fri Feb  2 18:27:44 2018
New Revision: 1822996

URL: http://svn.apache.org/viewvc?rev=1822996=rev
Log:
Fix x509 parser to accept RSASSA-PSS certs by no longer assuming that
algorithm parameters are NULL for all algorithms.  This change doesn't
affect whether clients can verify RSASSA-PSS certs, that decision is
delegated to OpenSSL, but it does allow JavaHL clients to accept a
failure to verify such certs.

* subversion/libsvn_subr/x509parse.c
  (x509_get_alg): Skip over RSASSA-PSS parameters.

* subversion/tests/libsvn_subr/x509-test.c
  (cert_tests): Add an RSASSA-PSS cert.

Modified:
subversion/trunk/subversion/libsvn_subr/x509parse.c
subversion/trunk/subversion/tests/libsvn_subr/x509-test.c

Modified: subversion/trunk/subversion/libsvn_subr/x509parse.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/x509parse.c?rev=1822996=1822995=1822996=diff
==
--- subversion/trunk/subversion/libsvn_subr/x509parse.c (original)
+++ subversion/trunk/subversion/libsvn_subr/x509parse.c Fri Feb  2 18:27:44 2018
@@ -262,13 +262,34 @@ x509_get_alg(const unsigned char **p, co
 
   if (*p == end)
 return SVN_NO_ERROR;
+  
+  /* The OID encoding of 1.2.840.113549.1.1.10 (id-RSASSA-PSS) */
+#define OID_RSASSA_PSS "\x2a\x86\x48\x86\xf7\x0d\x01\x01\x0a"
 
-  /*
-   * assume the algorithm parameters must be NULL
-   */
-  err = asn1_get_tag(p, end, , ASN1_NULL);
-  if (err)
-return svn_error_create(SVN_ERR_X509_CERT_INVALID_ALG, err, NULL);
+  if (equal(alg->p, alg->len, OID_RSASSA_PSS, sizeof(OID_RSASSA_PSS) - 1))
+{
+  /* Skip over algorithm parameters for id-RSASSA-PSS (RFC 8017)
+   *
+   * RSASSA-PSS-params ::= SEQUENCE {
+   *  hashAlgorithm  [0] HashAlgorithmDEFAULT sha1,
+   *  maskGenAlgorithm   [1] MaskGenAlgorithm DEFAULT mgf1SHA1,
+   *  saltLength [2] INTEGER  DEFAULT 20,
+   *  trailerField   [3] TrailerField DEFAULT trailerFieldBC
+   * }
+   */
+  err = asn1_get_tag(p, end, , ASN1_CONSTRUCTED | ASN1_SEQUENCE);
+  if (err)
+return svn_error_create(SVN_ERR_X509_CERT_INVALID_ALG, err, NULL);
+
+  *p += len;
+}
+  else
+{
+  /* Algorithm parameters must be NULL for other algorithms */
+  err = asn1_get_tag(p, end, , ASN1_NULL);
+  if (err)
+return svn_error_create(SVN_ERR_X509_CERT_INVALID_ALG, err, NULL);
+}
 
   if (*p != end)
 {

Modified: subversion/trunk/subversion/tests/libsvn_subr/x509-test.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_subr/x509-test.c?rev=1822996=1822995=1822996=diff
==
--- subversion/trunk/subversion/tests/libsvn_subr/x509-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_subr/x509-test.c Fri Feb  2 
18:27:44 2018
@@ -592,6 +592,32 @@ static struct x509_test cert_tests[] = {
 "good.example.com",
 "9693f17e59205f41ca2e14450d151b945651b2d7"
   },
+  /* Signed using RSASSA-PSS algorithm with algorithm parameters */
+  {
+"MIICsjCCAWkCCQDHslXYA8hCxTA+BgkqhkiG9w0BAQowMaANMAsGCWCGSAFlAwQC"
+"AaEaMBgGCSqGSIb3DQEBCDALBglghkgBZQMEAgGiBAICAN4wKjEUMBIGA1UECgwL"
+"TXkgTG9jYWwgQ0ExEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0xODAyMDIxNjQ4MzVa"
+"Fw0xODAyMDMxNjQ4MzVaMC4xGDAWBgNVBAoMD015IExvY2FsIFNlcnZlcjESMBAG"
+"A1UEAwwJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCues61"
+"JXXpLQI5yeg4aCLWRfvnJY7wnuU6FSA++3wwCJREx1/7ebnP9RRRqqKM+ZeeFMC+"
+"UlJE3ft2tJTDOVk9j6qjvKrJUKM1YkIe0lARxs4RtZKDGfOdBhw/+iD+6fZzhL0n"
+"+w+dIJGzl6ADWsE/x9yjDTkdgbtxHrx/76K0KQIDAQABMD4GCSqGSIb3DQEBCjAx"
+"oA0wCwYJYIZIAWUDBAIBoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFlAwQCAaIEAgIA"
+"3gOCAQEABYRAijCSGyFdSuUYALUnNzPylqYXlW+dMKPywlUrFEhKnvS+FD9twerI"
+"8kT4MDW6XvhScmL1MCDPNAkFY92UqaUrgT80oyrbpuakVrxFSS1i28xy8+kXAWYq"
+"RNQVaME1NqnATYF0ZMD5xQK4rpa76gvWj3K8Lt++9EjjbkNiirIIMQEOxh1lwnDQ"
+"81q1Rk6iujlnVDGHDQ+w8reE6fKfSWfv1EaQRcjNKCuzrW8WNN387G2byvwaaKeL"
+"M7lV7wiV6PwrTNTZzVG3cWKDOEP1mGE7gyMu66siLECo8U95+ahK7O6vfeT3m3gv"
+"7kzWNYozAQtBSC7b0WqWbVrzWI4HSg==",
+"O=My Local Server, CN=localhost",
+"2.5.4.10 2.5.4.3",
+"O=My Local CA, CN=localhost",
+"2.5.4.10 2.5.4.3",
+"2018-02-02T16:48:35.00Z ",
+"2018-02-03T16:48:35.00Z ",
+"localhost",
+"25ab5a059acfc793fc0d3734d426794a4ca7b631"
+  },
   { NULL }
 };
 




svn commit: r1821209 - /subversion/branches/1.10.x/STATUS

2018-01-15 Thread philip
Author: philip
Date: Tue Jan 16 00:05:09 2018
New Revision: 1821209

URL: http://svn.apache.org/viewvc?rev=1821209=rev
Log:
* STATUS: write-through proxy fix is a release blocker.

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=1821209=1821208=1821209=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Tue Jan 16 00:05:09 2018
@@ -35,6 +35,9 @@ Candidate changes:
  Allows 1.10 write-through proxy to 1.9 master.
Votes:
  +1: philip
+   Notes:
+ I believe this is a release blocker, without it we break backward
+ compatibilty for write-through proxies.
 
  * r1821183
Tweaks to doc strings and Doxygen mark-up of 1.10 API changes.




svn commit: r1820806 - /subversion/branches/1.10.x/STATUS

2018-01-10 Thread philip
Author: philip
Date: Wed Jan 10 23:01:55 2018
New Revision: 1820806

URL: http://svn.apache.org/viewvc?rev=1820806=rev
Log:
* STATUS: Propose write-through proxy fix.

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=1820806=1820805=1820806=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Wed Jan 10 23:01:55 2018
@@ -29,6 +29,13 @@ Candidate changes:
Votes:
  +1: philip
 
+ * r1820778
+   Make mod_dav_svn report commit capabilities based on SVNMasterVersion.
+   Justification:
+ Allows 1.10 write-through proxy to 1.9 master.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1820780 - /subversion/branches/1.9.x/STATUS

2018-01-10 Thread philip
Author: philip
Date: Wed Jan 10 20:16:45 2018
New Revision: 1820780

URL: http://svn.apache.org/viewvc?rev=1820780=rev
Log:
* STATUS: Propose JavaHL SSL server trust prompt fix.

Modified:
subversion/branches/1.9.x/STATUS

Modified: subversion/branches/1.9.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.9.x/STATUS?rev=1820780=1820779=1820780=diff
==
--- subversion/branches/1.9.x/STATUS (original)
+++ subversion/branches/1.9.x/STATUS Wed Jan 10 20:16:45 2018
@@ -113,6 +113,13 @@ Candidate changes:
Votes:
  +1: stefan2
 
+ * r1820718
+   Fix JavaHL SSL server trust prompting to allow accepting temporarily.
+   Justification:
+ Cannot accept temporarily without this fix.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1820779 - /subversion/branches/1.10.x/STATUS

2018-01-10 Thread philip
Author: philip
Date: Wed Jan 10 20:15:48 2018
New Revision: 1820779

URL: http://svn.apache.org/viewvc?rev=1820779=rev
Log:
* STATUS: Propose JavaHL SSL server trust prompt fix.

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=1820779=1820778=1820779=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Wed Jan 10 20:15:48 2018
@@ -22,6 +22,13 @@ Candidate changes:
Votes:
  +1: danielsh
 
+ * r1820718
+   Fix JavaHL SSL server trust prompting to allow accepting temporarily.
+   Justification:
+ Cannot accept temporarily without this fix.
+   Votes:
+ +1: philip
+
 Veto-blocked changes:
 =
 




svn commit: r1820778 - in /subversion/trunk/subversion/mod_dav_svn: dav_svn.h mod_dav_svn.c version.c

2018-01-10 Thread philip
Author: philip
Date: Wed Jan 10 20:11:02 2018
New Revision: 1820778

URL: http://svn.apache.org/viewvc?rev=1820778=rev
Log:
Make the reporting of commit capabilites such as SVNDIFF version and
PUT checksums depend on the master version when a master-slave proxy
version is configured.  This allows 1.10 to be a slave proxy for
earlier version masters.

* subversion/mod_dav_svn/dav_svn.h
* subversion/mod_dav_svn/mod_dav_svn.c
  (dav_svn__check_ephemeral_txnprops_support): Remove.

* subversion/mod_dav_svn/version.c
  (get_vsn_options): Don't report commit capabilities here as we do
   not have access to the master version.
  (get_option): Report commit capabilities here.

Modified:
subversion/trunk/subversion/mod_dav_svn/dav_svn.h
subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c
subversion/trunk/subversion/mod_dav_svn/version.c

Modified: subversion/trunk/subversion/mod_dav_svn/dav_svn.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/dav_svn.h?rev=1820778=1820777=1820778=diff
==
--- subversion/trunk/subversion/mod_dav_svn/dav_svn.h (original)
+++ subversion/trunk/subversion/mod_dav_svn/dav_svn.h Wed Jan 10 20:11:02 2018
@@ -359,10 +359,6 @@ svn_boolean_t dav_svn__get_list_parentpa
master server version (if provided via SVNMasterVersion).  */
 svn_boolean_t dav_svn__check_httpv2_support(request_rec *r);
 
-/* For the repository referred to by this request, should ephemeral
-   txnprop support be advertised?  */
-svn_boolean_t dav_svn__check_ephemeral_txnprops_support(request_rec *r);
-
 
 
 /* SPECIAL URI

Modified: subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c?rev=1820778=1820777=1820778=diff
==
--- subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c (original)
+++ subversion/trunk/subversion/mod_dav_svn/mod_dav_svn.c Wed Jan 10 20:11:02 
2018
@@ -923,21 +923,6 @@ dav_svn__check_httpv2_support(request_re
 }
 
 
-svn_boolean_t
-dav_svn__check_ephemeral_txnprops_support(request_rec *r)
-{
-  svn_version_t *version = dav_svn__get_master_version(r);
-
-  /* We know this server supports ephemeral txnprops.  But if we're
- proxying requests to a master server, we need to see if it
- supports them, too.  */
-  if (version && (! svn_version__at_least(version, 1, 8, 0)))
-return FALSE;
-
-  return TRUE;
-}
-
-
 /* FALSE if path authorization should be skipped.
  * TRUE if either the bypass or the apache subrequest methods should be used.
  */

Modified: subversion/trunk/subversion/mod_dav_svn/version.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/version.c?rev=1820778=1820777=1820778=diff
==
--- subversion/trunk/subversion/mod_dav_svn/version.c (original)
+++ subversion/trunk/subversion/mod_dav_svn/version.c Wed Jan 10 20:11:02 2018
@@ -152,9 +152,6 @@ get_vsn_options(apr_pool_t *p, apr_text_
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_INHERITED_PROPS);
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_INLINE_PROPS);
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_REVERSE_FILE_REVS);
-  apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_SVNDIFF1);
-  apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_SVNDIFF2);
-  apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_PUT_RESULT_CHECKSUM);
   apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_LIST);
   /* Mergeinfo is a special case: here we merely say that the server
* knows how to handle mergeinfo -- whether the repository does too
@@ -179,11 +176,29 @@ get_option(const dav_resource *resource,
const apr_xml_elem *elem,
apr_text_header *option)
 {
+  int i;
   request_rec *r = resource->info->r;
   const char *repos_root_uri =
 dav_svn__build_uri(resource->info->repos, DAV_SVN__BUILD_URI_PUBLIC,
SVN_IGNORED_REVNUM, "", FALSE /* add_href */,
resource->pool);
+  svn_version_t *master_version = dav_svn__get_master_version(r);
+
+  /* These capabilities are used during commit and when configured as
+ a WebDAV slave (SVNMasterURI is set) their availablity should
+ depend on the master version (SVNMasterVersion is set) if it is
+ older than our own version.  Also, although SVNDIFF1 is available
+ before 1.10 none of those earlier servers advertised it so for
+ consistency we don't advertise it for masters older than 1.10. */
+  struct capability_versions_t {
+const char *capability_name;
+svn_version_t min_version;
+  } capabilities[] = {
+{ SVN_DAV_NS_DAV_SVN_EPHEMERAL_TXNPROPS,  { 1,  8, 0, ""} },
+{ SVN_DAV_NS_DAV_SVN_SVNDIFF1,{ 1, 10, 0, ""} },
+{ SVN_DAV_NS_DAV_SVN_SVNDIFF2,{ 1, 10, 0, "&q

svn commit: r1820718 - in /subversion/trunk: subversion/bindings/javahl/native/Prompter.cpp tools/examples/ExampleAuthn.java

2018-01-09 Thread philip
Author: philip
Date: Wed Jan 10 01:38:43 2018
New Revision: 1820718

URL: http://svn.apache.org/viewvc?rev=1820718=rev
Log:
Fix a JavaHL bug in the prompting for SSL server trust: attempting to
temporarily accept failures would lead to reject behaviour.

* subversion/bindings/javahl/native/Prompter.cpp
  (Prompter::dispatch_ssl_server_trust_prompt): Always set accepted_failures
   in returned credentials, this matches the behaviour of the standard
   svn_cmdline_auth_ssl_server_trust_prompt().

* tools/examples/ExampleAuthn.java
  (ExampleAuthn.sslServerTrustPrompt): Basic r/t implementation.

Modified:
subversion/trunk/subversion/bindings/javahl/native/Prompter.cpp
subversion/trunk/tools/examples/ExampleAuthn.java

Modified: subversion/trunk/subversion/bindings/javahl/native/Prompter.cpp
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/Prompter.cpp?rev=1820718=1820717=1820718=diff
==
--- subversion/trunk/subversion/bindings/javahl/native/Prompter.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/Prompter.cpp Wed Jan 10 
01:38:43 2018
@@ -342,8 +342,7 @@ svn_error_t *Prompter::dispatch_ssl_serv
   svn_auth_cred_ssl_server_trust_t *cred =
 static_cast<svn_auth_cred_ssl_server_trust_t*>(apr_pcalloc(pool, 
sizeof(*cred)));
   cred->may_save = save;
-  if (save)
-cred->accepted_failures = failures;
+  cred->accepted_failures = failures;
   *cred_p = cred;
 
   return SVN_NO_ERROR;

Modified: subversion/trunk/tools/examples/ExampleAuthn.java
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/examples/ExampleAuthn.java?rev=1820718=1820717=1820718=diff
==
--- subversion/trunk/tools/examples/ExampleAuthn.java (original)
+++ subversion/trunk/tools/examples/ExampleAuthn.java Wed Jan 10 01:38:43 2018
@@ -68,8 +68,11 @@ public class ExampleAuthn {
  SSLServerCertFailures failures,
  SSLServerCertInfo info,
  boolean maySave) {
-  System.out.println("sslServerTrustPrompt not implemented!");
-  return SSLServerTrustResult.acceptTemporarily();
+  System.out.println("sslServerTrustPrompt");
+  System.out.println("(r)eject or (t)emporary?");
+  String s = System.console().readLine();
+  return s.equals("t") ? SSLServerTrustResult.acceptTemporarily()
+   : SSLServerTrustResult.reject();
 }
 
 public SSLClientCertResult




svn commit: r1804744 - /subversion/trunk/subversion/svn/notify.c

2017-08-10 Thread philip
Author: philip
Date: Thu Aug 10 23:39:48 2017
New Revision: 1804744

URL: http://svn.apache.org/viewvc?rev=1804744=rev
Log:
Avoid the extra blank progress notifications in most cases.

* subversion/svn/notify.c
  (struct notify_baton): Add progress_revision.
  (notify_body): Use progress_revision to avoid many of the blanking prints.
  (svn_cl__get_notifier): Initialise progress_revision.

Modified:
subversion/trunk/subversion/svn/notify.c

Modified: subversion/trunk/subversion/svn/notify.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/notify.c?rev=1804744=1804743=1804744=diff
==
--- subversion/trunk/subversion/svn/notify.c (original)
+++ subversion/trunk/subversion/svn/notify.c Thu Aug 10 23:39:48 2017
@@ -54,6 +54,7 @@ struct notify_baton
   svn_boolean_t is_wc_to_repos_copy;
   svn_boolean_t sent_first_txdelta;
   int in_external;
+  svn_revnum_t progress_revision;
   svn_boolean_t had_print_error; /* Used to not keep printing error messages
 when we've already had one print error. */
 
@@ -477,18 +478,27 @@ notify_body(struct notify_baton *nb,
  _("Searching tree conflict details for '%s' "
"in repository:\n"),
  path_local));
+  nb->progress_revision = 0;
   break;
 
 case svn_wc_notify_tree_conflict_details_progress:
   /* First printf is to obliterate any previous progress printf,
  assuming no more than 10 digit revisions.  Avoid i18n so the
- text length is known. */
-  SVN_ERR(svn_cmdline_printf(pool, "\rChecking r "));
+ text length is known.  We only need to do this if the new
+ revision is 4 digits less than the previous revision but that
+ requires counting digits.  Dividing by 1000 works well
+ enough: it triggers when needed, it sometimes triggers when
+ not needed, but in typical cases it doesn't trigger as the
+ revisions don't vary much. */
+  if (n->revision < nb->progress_revision / 1000)
+SVN_ERR(svn_cmdline_printf(pool, "\rChecking r "));
   SVN_ERR(svn_cmdline_printf(pool, "\rChecking r%ld...", n->revision));
+  nb->progress_revision = n->revision;
   break;
 
 case svn_wc_notify_end_search_tree_conflict_details:
   SVN_ERR(svn_cmdline_printf(pool, _(" done\n")));
+  nb->progress_revision = 0;
   break;
 
 case svn_wc_notify_add:
@@ -1239,6 +1249,7 @@ svn_cl__get_notifier(svn_wc_notify_func2
   nb->is_export = FALSE;
   nb->is_wc_to_repos_copy = FALSE;
   nb->in_external = 0;
+  nb->progress_revision = 0;
   nb->had_print_error = FALSE;
   nb->conflict_stats = conflict_stats;
   SVN_ERR(svn_dirent_get_absolute(>path_prefix, "", pool));




svn propchange: r1804739 - svn:log

2017-08-10 Thread philip
Author: philip
Revision: 1804739
Modified property: svn:log

Modified: svn:log at Thu Aug 10 23:00:48 2017
--
--- svn:log (original)
+++ svn:log Thu Aug 10 23:00:48 2017
@@ -1,3 +1,9 @@
 * contrib/hook-scripts/CVE-2017-9800-pre-commit.py: Move from here...
 
 * tools/hook-scripts/CVE-2017-9800-pre-commit.py: ...to here.
+
+[Note from the future: accidentally included an extra bug fix:
+
+* subversion/svn/notify.c
+  (notify_body): Prevent garbled output of progress notification when
+   the revision number gets much shorter.]



svn commit: r1804739 - in /subversion/trunk: contrib/hook-scripts/CVE-2017-9800-pre-commit.py subversion/svn/notify.c tools/hook-scripts/CVE-2017-9800-pre-commit.py

2017-08-10 Thread philip
Author: philip
Date: Thu Aug 10 22:55:16 2017
New Revision: 1804739

URL: http://svn.apache.org/viewvc?rev=1804739=rev
Log:
* contrib/hook-scripts/CVE-2017-9800-pre-commit.py: Move from here...

* tools/hook-scripts/CVE-2017-9800-pre-commit.py: ...to here.

Added:
subversion/trunk/tools/hook-scripts/CVE-2017-9800-pre-commit.py
  - copied unchanged from r1804737, 
subversion/trunk/contrib/hook-scripts/CVE-2017-9800-pre-commit.py
Removed:
subversion/trunk/contrib/hook-scripts/CVE-2017-9800-pre-commit.py
Modified:
subversion/trunk/subversion/svn/notify.c

Modified: subversion/trunk/subversion/svn/notify.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/notify.c?rev=1804739=1804738=1804739=diff
==
--- subversion/trunk/subversion/svn/notify.c (original)
+++ subversion/trunk/subversion/svn/notify.c Thu Aug 10 22:55:16 2017
@@ -480,7 +480,11 @@ notify_body(struct notify_baton *nb,
   break;
 
 case svn_wc_notify_tree_conflict_details_progress:
-  SVN_ERR(svn_cmdline_printf(pool, _("\rChecking r%ld..."), n->revision));
+  /* First printf is to obliterate any previous progress printf,
+ assuming no more than 10 digit revisions.  Avoid i18n so the
+ text length is known. */
+  SVN_ERR(svn_cmdline_printf(pool, "\rChecking r "));
+  SVN_ERR(svn_cmdline_printf(pool, "\rChecking r%ld...", n->revision));
   break;
 
 case svn_wc_notify_end_search_tree_conflict_details:




svn commit: r1804735 - in /subversion/branches/1.8.x: STATUS subversion/include/svn_version.h

2017-08-10 Thread philip
Author: philip
Date: Thu Aug 10 22:07:07 2017
New Revision: 1804735

URL: http://svn.apache.org/viewvc?rev=1804735=rev
Log:
Bump 1.8.x patch level post-release.

* CHANGES: Bump.

* subversion/include/svn_version.h: Bump.

Modified:
subversion/branches/1.8.x/STATUS
subversion/branches/1.8.x/subversion/include/svn_version.h

Modified: subversion/branches/1.8.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1804735=1804734=1804735=diff
==
--- subversion/branches/1.8.x/STATUS (original)
+++ subversion/branches/1.8.x/STATUS Thu Aug 10 22:07:07 2017
@@ -10,7 +10,7 @@ See http://subversion.apache.org/docs/co
 for details on how release lines and voting work, what kinds of bugs can
 delay a release, etc.
 
-Status of 1.8.19:
+Status of 1.8.20:
 
 Candidate changes:
 ==

Modified: subversion/branches/1.8.x/subversion/include/svn_version.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/include/svn_version.h?rev=1804735=1804734=1804735=diff
==
--- subversion/branches/1.8.x/subversion/include/svn_version.h (original)
+++ subversion/branches/1.8.x/subversion/include/svn_version.h Thu Aug 10 
22:07:07 2017
@@ -70,7 +70,7 @@ extern "C" {
  *
  * @since New in 1.1.
  */
-#define SVN_VER_PATCH  19
+#define SVN_VER_PATCH  20
 
 
 /** @deprecated Provided for backward compatibility with the 1.0 API. */




  1   2   3   4   5   6   7   8   9   10   >