svn propchange: r1905107 - svn:log

2022-11-12 Thread danielsh
Author: danielsh
Revision: 1905107
Modified property: svn:log

Modified: svn:log at Sun Nov 13 04:01:02 2022
--
--- svn:log (original)
+++ svn:log Sun Nov 13 04:01:02 2022
@@ -10,3 +10,5 @@ Merge r1900882 from trunk:
  +1: danielsh, jamessan
  -0: futatuki (This breaks Python 2.7 support;
+1 if r1900890 (see below) is also backported)
+
+[ Editor's note: r1900890 got backported in r1905108. ]



svn commit: r1903311 - /subversion/trunk/tools/client-side/store-plaintext-password.py

2022-08-09 Thread danielsh
Author: danielsh
Date: Tue Aug  9 16:35:48 2022
New Revision: 1903311

URL: http://svn.apache.org/viewvc?rev=1903311=rev
Log:
tools: Rename a local function.

* tools/client-side/store-plaintext-password.py
  (svn_hash_read): Rename to…
  (hash_read): … this.
  (main): Update callers.

Modified:
subversion/trunk/tools/client-side/store-plaintext-password.py

Modified: subversion/trunk/tools/client-side/store-plaintext-password.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/client-side/store-plaintext-password.py?rev=1903311=1903310=1903311=diff
==
--- subversion/trunk/tools/client-side/store-plaintext-password.py (original)
+++ subversion/trunk/tools/client-side/store-plaintext-password.py Tue Aug  9 
16:35:48 2022
@@ -76,7 +76,9 @@ def _read_one_datum(fd, letter):
 
 return datum
 
-def svn_hash_read(fd):
+# Our version of svn_hash_read2(), named without "svn_" prefix to avoid
+# potential naming conflicts with stuff star-imported from svn.core.
+def hash_read(fd):
 """\
 Read an svn_hash_write2()-formatted file from FD, terminated by "END".
 
@@ -165,7 +167,7 @@ def main():
 
 # In an existing file, we add/replace password/username/passtype
 if existingFile:
-hash = svn_hash_read(open(authfileName, 'rb'))
+hash = hash_read(open(authfileName, 'rb'))
 if args.user is not None:
 hash[b'username'] = args.user.encode('utf-8')
 hash[b'password'] = password.encode('utf-8')




svn commit: r1902730 - /subversion/trunk/tools/dist/release.py

2022-07-15 Thread danielsh
Author: danielsh
Date: Fri Jul 15 10:33:20 2022
New Revision: 1902730

URL: http://svn.apache.org/viewvc?rev=1902730=rev
Log:
* tools/dist/release.py: Remove unused variable.
Follow-up to the previous commit.

Modified:
subversion/trunk/tools/dist/release.py

Modified: subversion/trunk/tools/dist/release.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/dist/release.py?rev=1902730=1902729=1902730=diff
==
--- subversion/trunk/tools/dist/release.py (original)
+++ subversion/trunk/tools/dist/release.py Fri Jul 15 10:33:20 2022
@@ -1470,7 +1470,6 @@ def check_sigs(args):
 def get_keys(args):
 'Import the LDAP-based KEYS file to gpg'
 with tempfile.NamedTemporaryFile() as keysfile:
-  keyspath = tmpfile.name
   subprocess.check_call([
   os.path.dirname(__file__) + '/make-keys.sh',
   '-c', os.path.dirname(__file__) + '/../../COMMITTERS',




svn commit: r1902729 - /subversion/trunk/tools/dist/release.py

2022-07-15 Thread danielsh
Author: danielsh
Date: Fri Jul 15 10:30:35 2022
New Revision: 1902729

URL: http://svn.apache.org/viewvc?rev=1902729=rev
Log:
* tools/dist/release.py
  (get_keys): Give a local variable a meaningful name in preparation for adding
another NamedTemporaryFile instance.
.
While there, wrap to 80 columns.

Modified:
subversion/trunk/tools/dist/release.py

Modified: subversion/trunk/tools/dist/release.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/dist/release.py?rev=1902729=1902728=1902729=diff
==
--- subversion/trunk/tools/dist/release.py (original)
+++ subversion/trunk/tools/dist/release.py Fri Jul 15 10:30:35 2022
@@ -1469,10 +1469,14 @@ def check_sigs(args):
 
 def get_keys(args):
 'Import the LDAP-based KEYS file to gpg'
-with tempfile.NamedTemporaryFile() as tmpfile:
+with tempfile.NamedTemporaryFile() as keysfile:
   keyspath = tmpfile.name
-  subprocess.check_call([os.path.dirname(__file__) + '/make-keys.sh', 
'-c', os.path.dirname(__file__) + '/../../COMMITTERS', '-o', keyspath])
-  subprocess.check_call(['gpg', '--import', keyspath])
+  subprocess.check_call([
+  os.path.dirname(__file__) + '/make-keys.sh',
+  '-c', os.path.dirname(__file__) + '/../../COMMITTERS',
+  '-o', keysfile.name,
+  ])
+  subprocess.check_call(['gpg', '--import', keysfile.name])
 
 def add_to_changes_dict(changes_dict, audience, section, change, revision):
 # Normalize arguments




svn commit: r1902704 - /subversion/site/staging/faq.html

2022-07-13 Thread danielsh
Author: danielsh
Date: Wed Jul 13 14:48:38 2022
New Revision: 1902704

URL: http://svn.apache.org/viewvc?rev=1902704=rev
Log:
[in site/staging/]

* faq.html
  (#plaintext-passwords): Link to the store-plaintext-password.py.

Modified:
subversion/site/staging/faq.html

Modified: subversion/site/staging/faq.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/faq.html?rev=1902704=1902703=1902704=diff
==
--- subversion/site/staging/faq.html (original)
+++ subversion/site/staging/faq.html Wed Jul 13 14:48:38 2022
@@ -3332,9 +3332,9 @@ time."
 have written a Python script that can store a plain-text password to the
 cache. If you understand the security implications, have ruled out other
 alternatives, and still want to cache your password in plain-text on disk, you
-may find the script here:
-
-TODO: Link to the script.
+may find the script https://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/store-plaintext-password.py;
+>in the tools/client-side/ directory in (as of this writing) our 
trunk.
 
 Additional Information
 




svn commit: r1900922 - /subversion/branches/1.14.x/STATUS

2022-05-15 Thread danielsh
Author: danielsh
Date: Sun May 15 10:02:56 2022
New Revision: 1900922

URL: http://svn.apache.org/viewvc?rev=1900922=rev
Log:
* STATUS (r1900882): Mention the issue number, for greppability.

Suggested by: hartmannathan

Modified:
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1900922=1900921=1900922=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Sun May 15 10:02:56 2022
@@ -40,7 +40,7 @@ Candidate changes:
  +1: rhuijben
 
  * r1900882
-   Replace a call to a function deprecated upstream.
+   SVN-4899: Replace a call to a function deprecated upstream.
Justification:
  No-op on Python 3.2 and newer, but will allow Subversion 1.14.x to be
  built by future Python 3.12.  Note that Python 3.2 was released 9 years




svn commit: r1900884 - /subversion/site/staging/docs/release-notes/index.html

2022-05-14 Thread danielsh
Author: danielsh
Date: Sat May 14 13:03:55 2022
New Revision: 1900884

URL: http://svn.apache.org/viewvc?rev=1900884=rev
Log:
[in site/staging]
* docs/release-notes/index.html
  (#supported-versions): Declare 1.10 EOL.

Modified:
subversion/site/staging/docs/release-notes/index.html

Modified: subversion/site/staging/docs/release-notes/index.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/docs/release-notes/index.html?rev=1900884=1900883=1900884=diff
==
--- subversion/site/staging/docs/release-notes/index.html (original)
+++ subversion/site/staging/docs/release-notes/index.html Sat May 14 13:03:55 
2022
@@ -115,14 +115,8 @@ official support status for the various
 Long-Term Support
 
 
-1.11.x - 1.13.x
-No longer supported
-
-1.10.x
-Long-Term Support
-
 
-1.9.x and earlier
+1.13.x and earlier
 No longer supported
 
 




svn commit: r1900883 - /subversion/branches/1.14.x/STATUS

2022-05-14 Thread danielsh
Author: danielsh
Date: Sat May 14 12:57:32 2022
New Revision: 1900883

URL: http://svn.apache.org/viewvc?rev=1900883=rev
Log:
* STATUS: Nominate r1900882.

Modified:
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1900883=1900882=1900883=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Sat May 14 12:57:32 2022
@@ -39,6 +39,15 @@ Candidate changes:
votes:
  +1: rhuijben
 
+ * r1900882
+   Replace a call to a function deprecated upstream.
+   Justification:
+ No-op on Python 3.2 and newer, but will allow Subversion 1.14.x to be
+ built by future Python 3.12.  Note that Python 3.2 was released 9 years
+ before Subversion 1.14.0.
+   Votes:
+ +1: danielsh
+
 Veto-blocked changes:
 =
 




svn commit: r1900882 - /subversion/trunk/build/generator/gen_base.py

2022-05-14 Thread danielsh
Author: danielsh
Date: Sat May 14 12:54:19 2022
New Revision: 1900882

URL: http://svn.apache.org/viewvc?rev=1900882=rev
Log:
Replace a call to a function deprecated upstream.

The behaviour of «ConfigParser.readfp(foo)» has changed across Python versions
as follows:

- Python 3.1: readfp(foo) would repeatedly call foo.readline().

- Python 3.2 through 3.11: readfp(foo) iterates foo.

- Python 3.12: readfp itself would be removed (according to a deprecation
warning that 3.10's readfp() emits).

Patch by: Hugo
Issue: SVN-4899 (in part)

* build/generator/gen_base.py
  (GeneratorBase.__init__): As above.

Modified:
subversion/trunk/build/generator/gen_base.py

Modified: subversion/trunk/build/generator/gen_base.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_base.py?rev=1900882=1900881=1900882=diff
==
--- subversion/trunk/build/generator/gen_base.py (original)
+++ subversion/trunk/build/generator/gen_base.py Sat May 14 12:54:19 2022
@@ -76,7 +76,7 @@ class GeneratorBase:
 
 # Now read and parse build.conf
 parser = configparser.ConfigParser()
-parser.readfp(open(fname))
+parser.read_file(open(fname))
 
 self.conf = build_path(os.path.abspath(fname))
 




svn commit: r1900532 - /subversion/site/staging/roadmap.html

2022-05-03 Thread danielsh
Author: danielsh
Date: Wed May  4 02:54:53 2022
New Revision: 1900532

URL: http://svn.apache.org/viewvc?rev=1900532=rev
Log:
* roadmap.html: Fix two typos.

Modified:
subversion/site/staging/roadmap.html

Modified: subversion/site/staging/roadmap.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/roadmap.html?rev=1900532=1900531=1900532=diff
==
--- subversion/site/staging/roadmap.html (original)
+++ subversion/site/staging/roadmap.html Wed May  4 02:54:53 2022
@@ -100,11 +100,11 @@ their initial release.  For instance, 1.
 after the announcement of 1.11.0.
 
 LTS releases are supported for four years from the date of their
-initial release.  For instance, 1.14.x will supported until four years after
+initial release.  For instance, 1.14.x will be supported until four years after
 the announcement of 1.14.0.
 
 LTS releases are supported until three months after the release of
-the the next LTS.
+the next LTS.
 
 The previous two guarantees cumulate: for an LTS release line to be declared
 end-of-life (EOL), it has to both have been first released over four




svn commit: r1900405 - /subversion/site/staging/docs/community-guide/releasing.part.html

2022-04-29 Thread danielsh
Author: danielsh
Date: Fri Apr 29 22:13:16 2022
New Revision: 1900405

URL: http://svn.apache.org/viewvc?rev=1900405=rev
Log:
* docs/community-guide/releasing.part.html
  (#creating-branch): Extend the reminder just added.

Modified:
subversion/site/staging/docs/community-guide/releasing.part.html

Modified: subversion/site/staging/docs/community-guide/releasing.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/docs/community-guide/releasing.part.html?rev=1900405=1900404=1900405=diff
==
--- subversion/site/staging/docs/community-guide/releasing.part.html (original)
+++ subversion/site/staging/docs/community-guide/releasing.part.html Fri Apr 29 
22:13:16 2022
@@ -1623,7 +1623,9 @@ using release.py to automate most of the
backport merge bot.
 
 
-Decide whether the release would be regular or LTS.
+Decide whether the release would be regular or LTS and record the
+decision in lts_release_lines in 
tools/dist/release-lines.yaml
+for release.py.
 
 
  




svn commit: r1900404 - in /subversion/site/staging: docs/community-guide/releasing.part.html roadmap.html

2022-04-29 Thread danielsh
Author: danielsh
Date: Fri Apr 29 22:04:42 2022
New Revision: 1900404

URL: http://svn.apache.org/viewvc?rev=1900404=rev
Log:
Document the emerging consensus on support lifetimes.

* roadmap.html
  (#release-planning): As above.  Drop the promise for a release every
N months.  Add an explicit minimum lifetime guarantee.
   
* docs/community-guide/releasing.part.html
  (#creating-branch): Add a reminder.

Modified:
subversion/site/staging/docs/community-guide/releasing.part.html
subversion/site/staging/roadmap.html

Modified: subversion/site/staging/docs/community-guide/releasing.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/docs/community-guide/releasing.part.html?rev=1900404=1900403=1900404=diff
==
--- subversion/site/staging/docs/community-guide/releasing.part.html (original)
+++ subversion/site/staging/docs/community-guide/releasing.part.html Fri Apr 29 
22:04:42 2022
@@ -1622,6 +1622,8 @@ using release.py to automate most of the
 Ask someone with appropriate access to add the A.B.x branch to the
backport merge bot.
 
+
+Decide whether the release would be regular or LTS.
 
 
  

Modified: subversion/site/staging/roadmap.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/roadmap.html?rev=1900404=1900403=1900404=diff
==
--- subversion/site/staging/roadmap.html (original)
+++ subversion/site/staging/roadmap.html Fri Apr 29 22:04:42 2022
@@ -86,41 +86,46 @@
 title="Link to this section">
 
 
-Subversion plans to make a regular release every 6 months,
-   with a Long-Term Support (LTS) release every 2 years.
-   Regular releases are intended to deliver new features more quickly, while
-   LTS releases are intended to provide stability over longer periods.
+Subversion has two types of releases:
+   regular releases are intended to deliver new features more 
quickly, while
+   LTS releases are 
intended to provide stability over longer periods.
 
 
-
-  
-type of release
-emphasis
-release every
-support period
-release numbers
-  
-  
-LTS release
-stability
-2 years
-4 years
-1.10, 1.14, ...
-  
-  
-regular release
-features
-6 months
-6 months
-1.11, 1.12, 1.13, ...
-  
-
+The two types releases differ in their support lifetime:
+
+
+
+Regular releases are supported for six months from the date of
+their initial release.  For instance, 1.11.x was supported until six months
+after the announcement of 1.11.0.
+
+LTS releases are supported for four years from the date of their
+initial release.  For instance, 1.15.x will supported until four years after
+the announcement of 1.15.0.
+
+LTS releases are supported until three months after the release of
+the the next LTS.
+
+The previous two guarantees cumulate: for an LTS release line to be declared
+end-of-life (EOL), it has to both have been first released over four
+years before and have been supported in parallel to a newer LTS
+release line for at least three months.
+
+For instance, assume 1.42.0 is released on 2042-07-01 and 1.42 is declared
+an LTS line.  In this case, 1.42 will be supported at least until 2046-06-30
+(with no ifs, buts, or maybes).  Furthermore, it is expected that a newer LTS
+release (1.43.0, 1.44.0, etc.) will be made before 2046-04-01, leaving three
+months for upgrading installations.  In case no newer LTS release is made
+until, say, 2048-01-01, the lifetime of 1.42 will automatically be extended
+until 2048-03-31.
+
+At any given time there will be at least one supported LTS release.
+
+
 
 During the support period, we commit to providing updates that fix high
 priority issues such as security and data loss or corruption. We may also
-sometimes fix other issues as appropriate to the emphasis of each release.
-If a release takes longer than planned, we will extend the support periods
-of the previous releases accordingly.
+sometimes fix other issues as appropriate to the emphasis of each release.
 
 In this context, "release" means an increment of the minor release
 number, which is the middle number in our three-component system.
@@ -132,6 +137,9 @@ bugfixes have accumulated to warrant it.
 Subversion 2.0, will probably be done much like the minor releases,
 just with more planning around the exact features.
 
+To date, every release since 1.0 has been LTS, with the exception of 1.11,
+1.12, and 1.13 which were regular.
+
 For more information about Subversion's release numbering and
 compatibility policies, see the section entitled
 "Release




svn commit: r1899945 - /subversion/trunk/subversion/tests/cmdline/svntest/__init__.py

2022-04-17 Thread danielsh
Author: danielsh
Date: Sun Apr 17 13:30:40 2022
New Revision: 1899945

URL: http://svn.apache.org/viewvc?rev=1899945=rev
Log:
* subversion/tests/cmdline/__init__.py
  (): Rewrite a comment.

Modified:
subversion/trunk/subversion/tests/cmdline/svntest/__init__.py

Modified: subversion/trunk/subversion/tests/cmdline/svntest/__init__.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/__init__.py?rev=1899945=1899944=1899945=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/__init__.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/__init__.py Sun Apr 17 
13:30:40 2022
@@ -18,8 +18,6 @@
 # under the License.
 #
 
-# any bozos that do "from svntest import *" should die. export nothing
-# to the dumbasses.
 __all__ = [ ]
 
 import sys




svn commit: r1899944 - /subversion/trunk/subversion/tests/cmdline/svntest/__init__.py

2022-04-17 Thread danielsh
Author: danielsh
Date: Sun Apr 17 13:28:24 2022
New Revision: 1899944

URL: http://svn.apache.org/viewvc?rev=1899944=rev
Log:
* subversion/tests/cmdline/__init__.py
  (): Drop support for Python 2.x.

"We told you so": https://subversion.apache.org/docs/release-notes/1.14#python2

Modified:
subversion/trunk/subversion/tests/cmdline/svntest/__init__.py

Modified: subversion/trunk/subversion/tests/cmdline/svntest/__init__.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/__init__.py?rev=1899944=1899943=1899944=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/__init__.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/__init__.py Sun Apr 17 
13:28:24 2022
@@ -23,11 +23,14 @@
 __all__ = [ ]
 
 import sys
-if sys.hexversion < 0x207:
-  sys.stderr.write('[SKIPPED] at least Python 2.7 is required\n')
+if sys.hexversion < 0x300:
+  sys.stderr.write('[SKIPPED] at least Python 3.0 is required\n')
+  # Yes, it really is required: some tests will FAIL under Python 2 but PASS
+  # under Python 3.  See, for example,
+  # 
https://issues.apache.org/jira/browse/SVN-4891?focusedCommentId=17518154#comment-17518154
 
   # note: exiting is a bit harsh for a library module, but we really do
-  # require Python 2.7. this package isn't going to work otherwise.
+  # require Python 3.0. this package isn't going to work otherwise.
 
   # we're skipping this test, not failing, so exit with 0
   sys.exit(0)




svn propchange: r1898184 - svn:log

2022-04-17 Thread danielsh
Author: danielsh
Revision: 1898184
Modified property: svn:log

Modified: svn:log at Sun Apr 17 13:00:00 2022
--
--- svn:log (original)
+++ svn:log Sun Apr 17 13:00:00 2022
@@ -13,3 +13,5 @@ leaving any such base unfetched and cont
 * subversion/libsvn_wc/wc_db_textbase.c
   (svn_wc__db_textbase_sync): If read access is unauthorized, ignore the
 error and continue even though we failed to fetch the textbase.
+
+[ Note from the future: reverted in r1899616. ]



svn commit: r1899186 - in /subversion/site/staging/docs: i525-user-guide.html release-notes/1.15.html

2022-03-24 Thread danielsh
Author: danielsh
Date: Thu Mar 24 23:37:13 2022
New Revision: 1899186

URL: http://svn.apache.org/viewvc?rev=1899186=rev
Log:
[in site/staging]

Add a rendered version of the issue #525 user guide, maintained in markdown on
the pristines-on-demand-on-mwf branch, so we can point people not to the
markdown source but to the rendered HTML.

* docs/i525-user-guide.html: Rendered version of i525-user-guide.md.
 See keyword expansions within.
 .
 Please don't set svn:keywords on this file :)

* docs/release-notes/1.15.html
  (#bare-working-copies): Point to it.

Added:
subversion/site/staging/docs/i525-user-guide.html   (with props)
Modified:
subversion/site/staging/docs/release-notes/1.15.html

Added: subversion/site/staging/docs/i525-user-guide.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/docs/i525-user-guide.html?rev=1899186=auto
==
--- subversion/site/staging/docs/i525-user-guide.html (added)
+++ subversion/site/staging/docs/i525-user-guide.html Thu Mar 24 23:37:13 2022
@@ -0,0 +1,368 @@
+This is a detailed user guide to the "i525pod" feature.
+
+$LastChangedDate: 2022-03-24 23:26:24 + (Thu, 24 Mar 2022) $
+
+$LastChangedRevision: 1899185 $
+
+$URL: 
https://svn.apache.org/repos/asf/subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md
 $
+
+Terminology
+
+Place-holders:
+
+
+"i525pod" stands for the name of the feature documented here, that is
+as implemented on branch 'pristines-on-demand-on-mwf' on 2022-03-08.
+(Not any other interpretation of what Issue #525 discusses.)
+"bare" stands for the state of a WC in which the feature "i525pod" is
+enabled, and so contains only some of the pristine copies.
+
+
+Terminology:
+
+
+"pristine copy" or "pristine" or "text base": a copy of a file's content
+matching the corresponding base revision in the repository. For any file
+type, not necessarily text format. Enables e.g. local diff and revert,
+and delta update and commit. Stored in the WC metadata area. The term
+herein refers only to file content, although Subversion also stores the
+pristine copy of properties and of tree structure.
+"hydrate" a pristine copy: to fetch the pristine copy from the
+repository and store it in the WC metadata area.
+"dehydrate" a pristine copy: to remove the pristine copy from the WC
+metadata area, while remembering that it may be needed again.
+"sync scope": the set of WC paths in which a Subversion operation will
+check for pristines that need to be hydrated or dehydrated. This is a
+superset of the pristines that the operation will actually need.
+"operation": a high level Subversion operation, such as "diff" or
+"merge" or "update"; e.g. a subcommand of the 'svn' program.
+
+
+"i525pod" User Guide
+
+Functional and Timing Differences
+
+This section details the functional and timing differences when the
+"i525pod" feature is used.
+
+In a WC where "i525pod" is enabled (see other sections for how), basic usage
+differs from that found in previous versions of Subversion (1.14 in case of
+doubt) in the following ways.
+
+Each of the following operations, that previously were offline 
operations,
+will now contact the repository to "hydrate" pristine copies before
+beginning its function, if (and only if) any pristines within the "sync scope"
+are found to be locally modified and currently "dehydrated".
+
+
+svn cat (default case: base version)
+svn diff (default case: base against working)
+svn resolve (also conflicts resolver in merge, 
update)
+svn revert
+
+
+Notes on previously offline operations,:
+
+
+Contacting the repository may require authentication.
+If contact or authorization fails, the operation will error out and not
+be available.
+This contact may be needed as a result of a file being modified that is
+not of interest in the current operation, as the "sync scope" is a
+superset of the pristines that this operation will actually need.
+The "hydrating" phase may take a long time, and (currently) gives no
+progress feedback, before the operation begins its usual (previous)
+behaviour.
+
+
+[TODO: update that if we add progress feedback]
+
+Each of the following operations, that previously were online 
operations,
+also will now require the same.
+
+
+svn diff (comparing repository to WC)
+svn merge
+svn switch
+svn update
+svn checkout --force (similar to update)
+
+
+Additional notes on previously online operations:
+
+
+The "hydrating" phase requires its own connection and authentication to
+the repository, which is not [currently] shared with the main part of
+the operation. This may mean a password would have to be entered an
+additional time, for example, depending on the configuration.
+I

svn commit: r1899185 - /subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md

2022-03-24 Thread danielsh
Author: danielsh
Date: Thu Mar 24 23:26:24 2022
New Revision: 1899185

URL: http://svn.apache.org/viewvc?rev=1899185=rev
Log:
On the pristines-on-demand-on-mwf branch:

* notes/i525/i525-user-guide.md: Put the keywords on separate paragraphs.
Matters for the rendered HTML.

Modified:
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md

Modified: 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md?rev=1899185=1899184=1899185=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md 
(original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md 
Thu Mar 24 23:26:24 2022
@@ -2,7 +2,9 @@
 This is a detailed user guide to the "i525pod" feature.
 
 $LastChangedDate$
+
 $LastChangedRevision$
+
 $URL$
 
 # Terminology




svn commit: r1899184 - /subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md

2022-03-24 Thread danielsh
Author: danielsh
Date: Thu Mar 24 23:24:17 2022
New Revision: 1899184

URL: http://svn.apache.org/viewvc?rev=1899184=rev
Log:
On the pristines-on-demand-on-mwf branch:

* notes/i525/i525-user-guide.md: Set and use svn:keywords, for the benefit of
HTML-rendered versions of this file.

Modified:

subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md   
(contents, props changed)

Modified: 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md?rev=1899184=1899183=1899184=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md 
(original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md 
Thu Mar 24 23:24:17 2022
@@ -1,6 +1,9 @@
 
 This is a detailed user guide to the "i525pod" feature.
 
+$LastChangedDate$
+$LastChangedRevision$
+$URL$
 
 # Terminology
 

Propchange: 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md
--
svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision




svn commit: r1899183 - /subversion/site/staging/docs/release-notes/1.15.html

2022-03-24 Thread danielsh
Author: danielsh
Date: Thu Mar 24 22:04:58 2022
New Revision: 1899183

URL: http://svn.apache.org/viewvc?rev=1899183=rev
Log:
[in site/staging]

* docs/release-notes/1.15.html
  (#bare-working-copies): Remind to link to the user guide.

Modified:
subversion/site/staging/docs/release-notes/1.15.html

Modified: subversion/site/staging/docs/release-notes/1.15.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/docs/release-notes/1.15.html?rev=1899183=1899182=1899183=diff
==
--- subversion/site/staging/docs/release-notes/1.15.html (original)
+++ subversion/site/staging/docs/release-notes/1.15.html Thu Mar 24 22:04:58 
2022
@@ -197,6 +197,10 @@ users.  We'll cover those in this sectio
   this feature.
 
 
+Point to the "User Guide" in https://svn.apache.org/repos/asf/subversion/branches/pristines-on-demand-on-mwf/notes/i525/;
+>notes/i525/; ideally, to an HTML-rendered version thereof
+
 All Subversion working copies require extra storage space in addition to
 the size of the checked out files.
 




svn commit: r1899019 - /subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py

2022-03-17 Thread danielsh
Author: danielsh
Date: Fri Mar 18 02:59:51 2022
New Revision: 1899019

URL: http://svn.apache.org/viewvc?rev=1899019=rev
Log:
Attempt to fix upgrade_tests.py on Windows after (presumably) r1899014.

* subversion/tests/cmdline/svntest/sandbox.py
  (Sandbox.read_wc_formats): Account for platform-dependent path separators.

Modified:
subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py

Modified: subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py?rev=1899019=1899018=1899019=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py Fri Mar 18 
02:59:51 2022
@@ -611,8 +611,10 @@ class Sandbox:
 return found_format
 
   def read_wc_formats(self):
-"""Return a dictionary mapping working copy root paths relative to wc_dir
-to their format numbers.
+"""Return a dictionary mapping working copy root relpaths to their
+format numbers.
+
+The relpaths are relative to self.wc_dir.
 
 The return value will always contain an empty string key.
 """
@@ -625,7 +627,7 @@ class Sandbox:
 # exists and .svn/wc.db doesn't.
 if os.path.exists(wc_db_path):
   ret[root[len(self.wc_dir)+1:]] = self._wc_format_of(wc_db_path)
-return ret
+return { k.replace(os.sep, '/') : ret[k] for k in ret }
 
 def is_url(target):
   return (target.startswith('^/')




svn propchange: r1899012 - svn:log

2022-03-17 Thread danielsh
Author: danielsh
Revision: 1899012
Modified property: svn:log

Modified: svn:log at Fri Mar 18 01:27:00 2022
--
--- svn:log (original)
+++ svn:log Fri Mar 18 01:27:00 2022
@@ -4,10 +4,11 @@ Needed for SVN-4890 as well as for upgra
 and upgrade_1_0_with_externals() (see r1899011).
 
 * subversion/tests/cmdline/svntest/sandbox.py
-  (read_wc_format): Rename to..
-  (_wc_format_of): .. this new staticmethod.  Change signature.
-  (read_wc_formats): New.
+  (Sandbox.read_wc_format): Rename to..
+  (Sandbox._wc_format_of): .. this new staticmethod.  Change signature.
+  (Sandbox.read_wc_formats): New.
 Handles all .svn dirs rather than just the top-level one.
+The os.walk() loop is essentially restored from r1898536.
 
 * subversion/tests/cmdline/upgrade_tests.py
   (check_format): Update caller.



svn commit: r1899017 - /subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py

2022-03-17 Thread danielsh
Author: danielsh
Date: Fri Mar 18 01:24:39 2022
New Revision: 1899017

URL: http://svn.apache.org/viewvc?rev=1899017=rev
Log:
* subversion/tests/cmdline/svntest/sandbox.py
  (Sandbox.read_wc_formats): Remove a scalpel.

Modified:
subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py

Modified: subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py?rev=1899017=1899016=1899017=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py Fri Mar 18 
01:24:39 2022
@@ -625,7 +625,6 @@ class Sandbox:
 # exists and .svn/wc.db doesn't.
 if os.path.exists(wc_db_path):
   ret[root[len(self.wc_dir)+1:]] = self._wc_format_of(wc_db_path)
-# r1898536
 return ret
 
 def is_url(target):




svn commit: r1899016 - /subversion/trunk/subversion/tests/cmdline/upgrade_tests.py

2022-03-17 Thread danielsh
Author: danielsh
Date: Fri Mar 18 01:04:07 2022
New Revision: 1899016

URL: http://svn.apache.org/viewvc?rev=1899016=rev
Log:
* subversion/tests/cmdline/upgrade_tests.py
  (basic_upgrade_1_0, upgrade_1_0_with_externals):
Check format numbers before and after upgrading the outer wc and the
separate wc.  In particular, this verifies that upgrade recurses into
externals.

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

Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1899016=1899015=1899016=diff
==
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Fri Mar 18 
01:04:07 2022
@@ -490,6 +490,12 @@ def basic_upgrade_1_0(sbox):
   # Now upgrade the working copy
   svntest.actions.run_and_verify_svn(None, [],
  'upgrade', sbox.wc_dir)
+
+  # Actually check the format number of the upgraded working copy, including
+  # the external, and of the separate working copy (implicitly)
+  current_format = get_current_format()
+  check_formats(sbox, {'': current_format})
+
   # And the separate working copy below COPIED
   #
   # ### This was originally added in r919021, during 1.7 development, because
@@ -505,8 +511,9 @@ def basic_upgrade_1_0(sbox):
  'upgrade',
  os.path.join(sbox.wc_dir, 'COPIED', 'G'))
 
-  # Actually check the format number of the upgraded working copy
-  check_format(sbox, get_current_format())
+  # Actually check the format number of the upgraded working copy and of
+  # the separate working copy
+  check_formats(sbox, {k: current_format for k in ('', 'COPIED/G')})
 
   # Now check the contents of the working copy
   #  This working copy is not just a basic tree,
@@ -1506,6 +1513,12 @@ def upgrade_1_0_with_externals(sbox):
   # Now upgrade the working copy
   svntest.actions.run_and_verify_svn(None, [],
  'upgrade', sbox.wc_dir)
+
+  # Actually check the format number of the upgraded working copy, including
+  # the external, and of the separate working copy (implicitly)
+  current_format = get_current_format()
+  check_formats(sbox, {'': current_format, 'exdir_G': current_format})
+
   # And the separate working copy below COPIED
   #
   # ### This was originally added in r1702474, during 1.10 development, because
@@ -1522,8 +1535,9 @@ def upgrade_1_0_with_externals(sbox):
  'upgrade',
  os.path.join(sbox.wc_dir, 'COPIED', 'G'))
 
-  # Actually check the format number of the upgraded working copy
-  check_format(sbox, get_current_format())
+  # Actually check the format number of the upgraded working copy, including
+  # the external, and of the separate working copy
+  check_formats(sbox, {k: current_format for k in ('', 'exdir_G', 'COPIED/G')})
 
   # Now check the contents of the working copy
   #  This working copy is not just a basic tree,




svn commit: r1899015 - /subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py

2022-03-17 Thread danielsh
Author: danielsh
Date: Fri Mar 18 01:02:10 2022
New Revision: 1899015

URL: http://svn.apache.org/viewvc?rev=1899015=rev
Log:
tests: Minor fix to a new helper function.

Required for the upcoming upgrade_tests.py changes.

* subversion/tests/cmdline/svntest/sandbox.py
  (Sandbox._wc_format_of): Change signature.
  (Sandbox.read_wc_formats): Don't auto-create empty wc.db files.

Modified:
subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py

Modified: subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py?rev=1899015=1899014=1899015=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py Fri Mar 18 
01:02:10 2022
@@ -601,10 +601,9 @@ class Sandbox:
 pass
 
   @staticmethod
-  def _wc_format_of(working_copy_root_path):
-"""Return the working copy format of the given working copy."""
-dot_svn = svntest.main.get_admin_name()
-db = svntest.sqlite3.connect(os.path.join(working_copy_root_path, dot_svn, 
'wc.db'))
+  def _wc_format_of(wc_db_path):
+"""Return the working copy format of the given wc.db file."""
+db = svntest.sqlite3.connect(wc_db_path)
 c = db.cursor()
 c.execute('pragma user_version;')
 found_format = c.fetchone()[0]
@@ -621,7 +620,11 @@ class Sandbox:
 ret = dict()
 for root, dirs, files in os.walk(self.wc_dir):
   if dot_svn in dirs:
-ret[root[len(self.wc_dir)+1:]] = self._wc_format_of(root)
+wc_db_path = os.path.join(root, dot_svn, 'wc.db')
+# If we didn't check existence, wc.db would be auto-created if .svn
+# exists and .svn/wc.db doesn't.
+if os.path.exists(wc_db_path):
+  ret[root[len(self.wc_dir)+1:]] = self._wc_format_of(wc_db_path)
 # r1898536
 return ret
 




svn commit: r1899014 - /subversion/trunk/subversion/tests/cmdline/upgrade_tests.py

2022-03-17 Thread danielsh
Author: danielsh
Date: Fri Mar 18 00:40:29 2022
New Revision: 1899014

URL: http://svn.apache.org/viewvc?rev=1899014=rev
Log:
* subversion/tests/cmdline/upgrade_tests.py
  (upgrade_with_externals): Verify format numbers of upgraded externals.
  (check_formats): New.
  (check_format): Verify the argument type to guard against typos.

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

Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1899014=1899013=1899014=diff
==
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Fri Mar 18 
00:40:29 2022
@@ -102,11 +102,21 @@ def replace_sbox_repo_with_tarfile(sbox,
   shutil.move(os.path.join(extract_dir, dir), sbox.repo_dir)
 
 def check_format(sbox, expected_format):
+  assert isinstance(expected_format, int)
   formats = sbox.read_wc_formats()
   if formats[''] != expected_format:
 raise svntest.Failure("found format '%d'; expected '%d'; in wc '%s'" %
   (formats[''], expected_format, sbox.wc_dir))
 
+def check_formats(sbox, expected_formats):
+  assert isinstance(expected_formats, dict)
+  formats = sbox.read_wc_formats()
+  ### If we ever need better error messages here, reuse run_and_verify_info().
+  if formats != expected_formats:
+raise svntest.Failure("found format '%s'; expected '%s'; in wc '%s'" %
+  (formats, expected_formats, sbox.wc_dir))
+
+
 def check_pristine(sbox, files):
   for file in files:
 file_path = sbox.ospath(file)
@@ -334,7 +344,18 @@ def upgrade_with_externals(sbox):
  'upgrade', sbox.wc_dir)
 
   # Actually check the format number of the upgraded working copy
-  check_format(sbox, get_current_format())
+  check_formats(sbox,
+  {relpath: get_current_format()
+   for relpath in (
+ '',
+ 'A/D/exdir_A',
+ 'A/D/exdir_A/G',
+ 'A/D/exdir_A/H',
+ 'A/D/x',
+ 'A/C/exdir_G',
+ 'A/C/exdir_H',
+   )})
+
   check_pristine(sbox, ['iota', 'A/mu',
 'A/D/x/lambda', 'A/D/x/E/alpha'])
 




svn commit: r1899013 - /subversion/trunk/subversion/tests/cmdline/upgrade_tests.py

2022-03-17 Thread danielsh
Author: danielsh
Date: Fri Mar 18 00:35:34 2022
New Revision: 1899013

URL: http://svn.apache.org/viewvc?rev=1899013=rev
Log:
Follow-up to r1899012:

* subversion/tests/cmdline/upgrade_tests.py
  (check_format): Rename one more use of the local variable.
  This will avoid a NameError when trying to raise svntest.Failure.

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

Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1899013=1899012=1899013=diff
==
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Fri Mar 18 
00:35:34 2022
@@ -105,7 +105,7 @@ def check_format(sbox, expected_format):
   formats = sbox.read_wc_formats()
   if formats[''] != expected_format:
 raise svntest.Failure("found format '%d'; expected '%d'; in wc '%s'" %
-  (found_format, expected_format, sbox.wc_dir))
+  (formats[''], expected_format, sbox.wc_dir))
 
 def check_pristine(sbox, files):
   for file in files:




svn commit: r1899012 - in /subversion/trunk/subversion/tests/cmdline: svntest/sandbox.py upgrade_tests.py

2022-03-17 Thread danielsh
Author: danielsh
Date: Fri Mar 18 00:23:37 2022
New Revision: 1899012

URL: http://svn.apache.org/viewvc?rev=1899012=rev
Log:
tests: Prepare for verifying format numbers of external working copies.

Needed for SVN-4890 as well as for upgrade_tests.py basic_upgrade_1_0()
and upgrade_1_0_with_externals() (see r1899011).

* subversion/tests/cmdline/svntest/sandbox.py
  (read_wc_format): Rename to..
  (_wc_format_of): .. this new staticmethod.  Change signature.
  (read_wc_formats): New.
Handles all .svn dirs rather than just the top-level one.

* subversion/tests/cmdline/upgrade_tests.py
  (check_format): Update caller.
For now, the additional returned information is ignored.

Modified:
subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py
subversion/trunk/subversion/tests/cmdline/upgrade_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py?rev=1899012=1899011=1899012=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/sandbox.py Fri Mar 18 
00:23:37 2022
@@ -600,15 +600,31 @@ class Sandbox:
self.read_only and "true" or "false"))
 pass
 
-  def read_wc_format(self):
+  @staticmethod
+  def _wc_format_of(working_copy_root_path):
+"""Return the working copy format of the given working copy."""
 dot_svn = svntest.main.get_admin_name()
-db = svntest.sqlite3.connect(os.path.join(self.wc_dir, dot_svn, 'wc.db'))
+db = svntest.sqlite3.connect(os.path.join(working_copy_root_path, dot_svn, 
'wc.db'))
 c = db.cursor()
 c.execute('pragma user_version;')
 found_format = c.fetchone()[0]
 db.close()
 return found_format
 
+  def read_wc_formats(self):
+"""Return a dictionary mapping working copy root paths relative to wc_dir
+to their format numbers.
+
+The return value will always contain an empty string key.
+"""
+dot_svn = svntest.main.get_admin_name()
+ret = dict()
+for root, dirs, files in os.walk(self.wc_dir):
+  if dot_svn in dirs:
+ret[root[len(self.wc_dir)+1:]] = self._wc_format_of(root)
+# r1898536
+return ret
+
 def is_url(target):
   return (target.startswith('^/')
   or target.startswith('file://')

Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1899012=1899011=1899012=diff
==
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Fri Mar 18 
00:23:37 2022
@@ -102,8 +102,8 @@ def replace_sbox_repo_with_tarfile(sbox,
   shutil.move(os.path.join(extract_dir, dir), sbox.repo_dir)
 
 def check_format(sbox, expected_format):
-  found_format = sbox.read_wc_format()
-  if found_format != expected_format:
+  formats = sbox.read_wc_formats()
+  if formats[''] != expected_format:
 raise svntest.Failure("found format '%d'; expected '%d'; in wc '%s'" %
   (found_format, expected_format, sbox.wc_dir))
 




svn commit: r1899011 - /subversion/trunk/subversion/tests/cmdline/upgrade_tests.py

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 23:49:13 2022
New Revision: 1899011

URL: http://svn.apache.org/viewvc?rev=1899011=rev
Log:
* subversion/tests/cmdline/upgrade_tests.py
  (basic_upgrade_1_0, upgrade_1_0_with_externals):
Update a comment.  Note that the test doesn't verify all it could.
The code referenced by the outgoing comments was removed in r1898536.

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

Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1899011=1899010=1899011=diff
==
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Thu Mar 17 
23:49:13 2022
@@ -469,7 +469,17 @@ def basic_upgrade_1_0(sbox):
   # Now upgrade the working copy
   svntest.actions.run_and_verify_svn(None, [],
  'upgrade', sbox.wc_dir)
-  # And the separate working copy below COPIED or check_format() fails
+  # And the separate working copy below COPIED
+  #
+  # ### This was originally added in r919021, during 1.7 development, because
+  # ### check_format() recursed into the separate working copy.
+  # ### 
+  # ### The remainder of the test passes if this call is removed.
+  # ### 
+  # ### So, for now, this call serves only as a smoke test, to confirm that the
+  # ### upgrade returns 0.  However:
+  # ###
+  # ### TODO: Verify the results of this upgrade
   svntest.actions.run_and_verify_svn(None, [],
  'upgrade',
  os.path.join(sbox.wc_dir, 'COPIED', 'G'))
@@ -1475,7 +1485,18 @@ def upgrade_1_0_with_externals(sbox):
   # Now upgrade the working copy
   svntest.actions.run_and_verify_svn(None, [],
  'upgrade', sbox.wc_dir)
-  # And the separate working copy below COPIED or check_format() fails
+  # And the separate working copy below COPIED
+  #
+  # ### This was originally added in r1702474, during 1.10 development, because
+  # ### check_format() recursed into the separate working copy.  It was copied
+  # ### from basic_upgrade_1_0() above.
+  # ### 
+  # ### The remainder of the test passes if this call is removed.
+  # ### 
+  # ### So, for now, this call serves only as a smoke test, to confirm that the
+  # ### upgrade returns 0.  However:
+  # ###
+  # ### TODO: Verify the results of this upgrade
   svntest.actions.run_and_verify_svn(None, [],
  'upgrade',
  os.path.join(sbox.wc_dir, 'COPIED', 'G'))




svn commit: r1899010 - in /subversion/trunk/subversion/libsvn_wc: wc-metadata.sql wc.h

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 23:25:56 2022
New Revision: 1899010

URL: http://svn.apache.org/viewvc?rev=1899010=rev
Log:
multi-wc-format: Note yet another place that hardcodes format number / version
number knowledge.

* subversion/libsvn_wc/wc-metadata.sql:
Add yet another item to the "Bump SVN_WC__VERSION" checklist.

* subversion/libsvn_wc/wc.h:
  (SVN_WC__SUPPORTED_VERSION):
Add the same item to the "Bump SVN_WC__SUPPORTED_VERSION" checklist.

Modified:
subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
subversion/trunk/subversion/libsvn_wc/wc.h

Modified: subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-metadata.sql?rev=1899010=1899009=1899010=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc-metadata.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-metadata.sql Thu Mar 17 23:25:56 
2022
@@ -723,6 +723,7 @@ PRAGMA user_version = 32;
  *   * The implementation of svn_client_latest_wc_version()
  *   * The implementation of svn_wc__format_from_version()
  *   * The implementation of svn_client_get_wc_formats_supported()
+ *   * subversion/tests/cmdline/svntest/main.py:wc_format()
  *   * The comment above the comment above SVN_WC__VERSION
  *   * The value of SVN_WC__VERSION, if needed
  */

Modified: subversion/trunk/subversion/libsvn_wc/wc.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc.h?rev=1899010=1899009=1899010=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc.h Thu Mar 17 23:25:56 2022
@@ -183,6 +183,7 @@ extern "C" {
  */
 /* IMPORTANT: Update the implementation of svn_client_default_wc_version()
   and svn_client_get_wc_formats_supported()
+  and svntest.main.wc_format()
   whenever you change this value! */
 #define SVN_WC__SUPPORTED_VERSION 31
 




svn commit: r1899009 - in /subversion/branches/pristines-on-demand-on-mwf: ./ subversion/include/private/svn_wc_private.h subversion/include/svn_client.h subversion/libsvn_wc/wc-metadata.sql subversio

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 21:31:27 2022
New Revision: 1899009

URL: http://svn.apache.org/viewvc?rev=1899009=rev
Log:
On the pristines-on-demand-on-mwf branch, sync with trunk@r1899007.  No 
functional change.

Modified:
subversion/branches/pristines-on-demand-on-mwf/   (props changed)

subversion/branches/pristines-on-demand-on-mwf/subversion/include/private/svn_wc_private.h

subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_client.h

subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc-metadata.sql
subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc.h

Propchange: subversion/branches/pristines-on-demand-on-mwf/
--
  Merged /subversion/trunk:r1898850-1898998,1899000-1899007

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/include/private/svn_wc_private.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/include/private/svn_wc_private.h?rev=1899009=1899008=1899009=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/subversion/include/private/svn_wc_private.h
 (original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/subversion/include/private/svn_wc_private.h
 Thu Mar 17 21:31:27 2022
@@ -2180,7 +2180,7 @@ svn_wc__working_file_writer_close(svn_wc
 
 
 /**
- * Convert @a version to that version's characteristic working copy
+ * Convert @a version to that version's newest working copy
  * format, returned in @a format.
  *
  * A NULL @a version translates to the library's default version.

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_client.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_client.h?rev=1899009=1899008=1899009=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_client.h 
(original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/subversion/include/svn_client.h 
Thu Mar 17 21:31:27 2022
@@ -1240,10 +1240,10 @@ svn_client_args_to_target_array(apr_arra
  *  set equal to the base properties. 
  *  If @c FALSE, then abort if there are any unversioned
  *  obstructing items.
- * @param[in] wc_format_version is the version number of the Subversion
- *  client that supports the metadata format of the
- *  created working copy; @c NULL means the library's default
- *  format. See svn_client_default_wc_version(),
+ * @param[in] wc_format_version is the version number of the oldest Subversion
+ *  client with which the created working copy should be 
compatible;
+ *  @c NULL means the library's version.
+ *  See svn_client_default_wc_version(),
  *  svn_client_get_wc_formats_supported().
  * @param[in] ctx   The standard client context, used for authentication and
  *  notification.
@@ -4396,12 +4396,14 @@ svn_client_cleanup(const char *dir,
 
 /**
  * Recursively upgrade a working copy and nested externals working
- * copies from any older format to the given WC metadata storage
- * format.  @a wcroot_dir is the path to the WC root.
+ * copies from any older format to a WC metadata storage
+ * format supported by Subversion @a wc_format_version.
  *
- * @a wc_format_version is the version number of the Subversion client
- * that supports a given WC metadata format; @c NULL means the library's
- * default format. See svn_client_default_wc_version(),
+ * If @a wc_format_version is @c NULL, the library's version is used.
+ *
+ * @a wcroot_dir is the path to the WC root.
+ *
+ * @see svn_client_default_wc_version(),
  * svn_client_get_wc_formats_supported().
  *
  * Use @a scratch_pool for any temporary allocations.

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc-metadata.sql
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc-metadata.sql?rev=1899009=1899008=1899009=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc-metadata.sql
 (original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc-metadata.sql
 Thu Mar 17 21:31:27 2022
@@ -791,6 +791,10 @@ PRAGMA user_version = 33; */
  *   * subversion/tests/libsvn_wc/wc-queries-test.c
  * (schema_statements, create_memory_db)
  *   * The implementation of svn_client_latest_wc_version()
+ *   * The implementation of svn_wc__format_from_version()
+ *   * The implementation of svn_client_get_wc_formats_supported()
+ *   * The comment above the comment above SVN_WC__VERSION
+ *   * The value

svn commit: r1899008 - in /subversion/branches/pristines-on-demand-on-mwf: ./ subversion/libsvn_wc/wc.h

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 21:30:29 2022
New Revision: 1899008

URL: http://svn.apache.org/viewvc?rev=1899008=rev
Log:
On the pristines-on-demand-on-mwf branch, cherry-pick r1898999 from trunk with 
changes.

* subversion/libsvn_wc/wc.h:
  (/* format changes */): Document this branch's f32.

Modified:
subversion/branches/pristines-on-demand-on-mwf/   (props changed)
subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc.h

Propchange: subversion/branches/pristines-on-demand-on-mwf/
--
  Merged /subversion/trunk:r1898999

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc.h?rev=1899008=1899007=1899008=diff
==
--- subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc.h 
(original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/libsvn_wc/wc.h 
Thu Mar 17 21:30:29 2022
@@ -162,6 +162,11 @@ extern "C" {
  * == 1.10.x shipped with format 31
  * == 1.11.x shipped with format 31
  *
+ * The bump to 32 adds the pristine-on-demand feature; see the docstring
+ * of STMT_UPGRADE_TO_32 for details.
+ *
+ * == 1.15.x shipped with format 32 and multi-wc-format support
+ *
  * Please document any further format changes here.
  */
 




svn commit: r1899007 - in /subversion/trunk: ./ subversion/svn/svn.c

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 21:23:22 2022
New Revision: 1899007

URL: http://svn.apache.org/viewvc?rev=1899007=rev
Log:
On trunk, cherry-pick r1898997 from the pristines-on-demand-on-mwf branch.


r1898997 | danielsh | 2022-03-17 19:57:18 + (Thu, 17 Mar 2022) | 7 lines

* subversion/svn/svn.c
  (svn_cl__cmd_table_main."checkout",
   svn_cl__cmd_table_main."upgrade"): Slightly rephrase to not imply that 
1.8
 is special in any way.

Review by: julianfoad
Thread: 
https://mail-archives.apache.org/mod_mbox/subversion-dev/202203.mbox/%3C00E57C09-0A19-4AFA-8E84-9DDD8D1A93FD%40getmailspring.com%3E


Modified:
subversion/trunk/   (props changed)
subversion/trunk/subversion/svn/svn.c

Propchange: subversion/trunk/
--
  Merged /subversion/branches/pristines-on-demand-on-mwf:r1898997

Modified: subversion/trunk/subversion/svn/svn.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/svn.c?rev=1899007=1899006=1899007=diff
==
--- subversion/trunk/subversion/svn/svn.c (original)
+++ subversion/trunk/subversion/svn/svn.c Thu Mar 17 21:23:22 2022
@@ -514,9 +514,9 @@ svn_cl__cmd_table_main[] =
  "Check out a working copy from a repository.\n"
  "usage: checkout URL[@REV]... [PATH]\n"
  "\n"), N_(
- "  By default Subversion will create a WC format compatible with\n"
- "  Subversion 1.8 and newer. To create a different WC format,\n"
- "  use an option such as '--compatible-version=1.15'.\n"
+ "  The new working copy (WC) will be compatible with Subversion 1.8 and\n"
+ "  newer (this default may change in the future). To create a different\n"
+ "  WC format, use an option such as '--compatible-version=1.15'.\n"
  "  The versions available are the same as in the 'upgrade' command.\n"
  "  Use 'svn --version' to see the compatible versions supported.\n"
  "\n"), N_(
@@ -1915,8 +1915,8 @@ svn_cl__cmd_table_main[] =
  "Upgrade the metadata storage format for a working copy.\n"
  "usage: upgrade [WCPATH...]\n"
  "\n"), N_(
- "  By default Subversion will upgrade the working copy to a version\n"
- "  compatible with Subversion 1.8 and newer. To upgrade to a different\n"
+ "  The upgraded working copy will be compatible with Subversion 1.8 and\n"
+ "  newer (this default may change in the future. To upgrade to a 
different\n"
  "  version, use an option such as '--compatible-version=1.15'.\n"
  "  The versions available are the same as in the 'checkout' command.\n"
  "  Use 'svn --version' to see the compatible versions supported.\n"




svn commit: r1899006 - /subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 21:19:42 2022
New Revision: 1899006

URL: http://svn.apache.org/viewvc?rev=1899006=rev
Log:
* subversion/libsvn_wc/wc-metadata.sql:
Add another item to the "Bump SVN_WC__VERSION" checklist.

Modified:
subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

Modified: subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-metadata.sql?rev=1899006=1899005=1899006=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc-metadata.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-metadata.sql Thu Mar 17 21:19:42 
2022
@@ -722,6 +722,7 @@ PRAGMA user_version = 32;
  * (schema_statements, create_memory_db)
  *   * The implementation of svn_client_latest_wc_version()
  *   * The implementation of svn_wc__format_from_version()
+ *   * The implementation of svn_client_get_wc_formats_supported()
  *   * The comment above the comment above SVN_WC__VERSION
  *   * The value of SVN_WC__VERSION, if needed
  */




svn commit: r1899005 - /subversion/trunk/subversion/include/svn_client.h

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 21:18:40 2022
New Revision: 1899005

URL: http://svn.apache.org/viewvc?rev=1899005=rev
Log:
multi-wc-format: Clarify public API docstrings.

* subversion/include/svn_client.h
  (svn_client_checkout4, svn_client_upgrade2):
Clarify semantics of versions and formats.

Modified:
subversion/trunk/subversion/include/svn_client.h

Modified: subversion/trunk/subversion/include/svn_client.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=1899005=1899004=1899005=diff
==
--- subversion/trunk/subversion/include/svn_client.h (original)
+++ subversion/trunk/subversion/include/svn_client.h Thu Mar 17 21:18:40 2022
@@ -1240,10 +1240,10 @@ svn_client_args_to_target_array(apr_arra
  *  set equal to the base properties. 
  *  If @c FALSE, then abort if there are any unversioned
  *  obstructing items.
- * @param[in] wc_format_version is the version number of the Subversion
- *  client that supports the metadata format of the
- *  created working copy; @c NULL means the library's default
- *  format. See svn_client_default_wc_version(),
+ * @param[in] wc_format_version is the version number of the oldest Subversion
+ *  client with which the created working copy should be 
compatible;
+ *  @c NULL means the library's version.
+ *  See svn_client_default_wc_version(),
  *  svn_client_get_wc_formats_supported().
  * @param[in] ctx   The standard client context, used for authentication and
  *  notification.
@@ -4396,12 +4396,14 @@ svn_client_cleanup(const char *dir,
 
 /**
  * Recursively upgrade a working copy and nested externals working
- * copies from any older format to the given WC metadata storage
- * format.  @a wcroot_dir is the path to the WC root.
+ * copies from any older format to a WC metadata storage
+ * format supported by Subversion @a wc_format_version.
  *
- * @a wc_format_version is the version number of the Subversion client
- * that supports a given WC metadata format; @c NULL means the library's
- * default format. See svn_client_default_wc_version(),
+ * If @a wc_format_version is @c NULL, the library's version is used.
+ *
+ * @a wcroot_dir is the path to the WC root.
+ *
+ * @see svn_client_default_wc_version(),
  * svn_client_get_wc_formats_supported().
  *
  * Use @a scratch_pool for any temporary allocations.




svn commit: r1899004 - in /subversion/trunk/subversion: include/private/svn_wc_private.h libsvn_wc/wc-metadata.sql

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 21:13:39 2022
New Revision: 1899004

URL: http://svn.apache.org/viewvc?rev=1899004=rev
Log:
multi-wc-format: Update a docstring.

Comment changes only.

* subversion/include/private/svn_wc_private.h
  (svn_wc__format_from_version): Don't say "characteristic" since this term
is unclear/ambiguous.

* subversion/libsvn_wc/wc-metadata.sql:
Update the "Bump SVN_WC__VERSION" checklist.

Modified:
subversion/trunk/subversion/include/private/svn_wc_private.h
subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

Modified: subversion/trunk/subversion/include/private/svn_wc_private.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_wc_private.h?rev=1899004=1899003=1899004=diff
==
--- subversion/trunk/subversion/include/private/svn_wc_private.h (original)
+++ subversion/trunk/subversion/include/private/svn_wc_private.h Thu Mar 17 
21:13:39 2022
@@ -2180,7 +2180,7 @@ svn_wc__working_file_writer_close(svn_wc
 
 
 /**
- * Convert @a version to that version's characteristic working copy
+ * Convert @a version to that version's newest working copy
  * format, returned in @a format.
  *
  * A NULL @a version translates to the library's default version.

Modified: subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-metadata.sql?rev=1899004=1899003=1899004=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc-metadata.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-metadata.sql Thu Mar 17 21:13:39 
2022
@@ -721,6 +721,7 @@ PRAGMA user_version = 32;
  *   * subversion/tests/libsvn_wc/wc-queries-test.c
  * (schema_statements, create_memory_db)
  *   * The implementation of svn_client_latest_wc_version()
+ *   * The implementation of svn_wc__format_from_version()
  *   * The comment above the comment above SVN_WC__VERSION
  *   * The value of SVN_WC__VERSION, if needed
  */




svn commit: r1899003 - in /subversion/trunk: ./ subversion/svn/info-cmd.c subversion/svn/schema/info.rnc subversion/svn/upgrade-cmd.c subversion/tests/cmdline/upgrade_tests.py

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 21:00:18 2022
New Revision: 1899003

URL: http://svn.apache.org/viewvc?rev=1899003=rev
Log:
On trunk, cherry-pick r1898739, r1898740, r1898741 from the
pristines-on-demand-on-mwf branch.


r1898739 | danielsh | 2022-03-08 17:41:51 + (Tue, 08 Mar 2022) | 13 
lines

On the pristines-on-demand-on-mwf branch: Add the WC format and version to 
`svn
info`'s other output modes.

This finishes SVN-4884.

* subversion/svn/info-cmd.c
  (print_info_xml,
   print_info): Emit the equivalents of --show-item=wc-version and
 --show-item=wc-compatible-version.

* subversion/svn/schema/info.rnc
  (wc-info): New children wc-compatible-version and wc-format.
  (wc-compatible-version, wc-format): New elements.

r1898740 | danielsh | 2022-03-08 18:33:54 + (Tue, 08 Mar 2022) | 12 
lines

On the pristines-on-demand-on-mwf branch, show an informational message in 
more cases.

Part of SVN-4885.

* subversion/svn/upgrade-cmd.c
  (svn_cl__upgrade): Show the "You can upgrade further" message even when 
the
command was a no-op.

* subversion/tests/cmdline/upgrade_tests.py
  (dirs_only_upgrade, upgrade_with_missing_subdir): Ensure the message is 
not
generated by passing --compatible-version's default value explicitly.
  (target_ver): New helper function.

r1898741 | danielsh | 2022-03-08 18:36:38 + (Tue, 08 Mar 2022) | 9 lines

On the pristines-on-demand-on-mwf branch, copyedit an informational message.

Part of SVN-4885, but the discussion there did not account for the fact that
there is no single working copy (target) name available in this context.

* subversion/svn/upgrade-cmd.c
  (svn_cl__upgrade): Have the output identify the program that generated
it.  Use plural since this is an overall message relevant to one or
more targets.


Modified:
subversion/trunk/   (props changed)
subversion/trunk/subversion/svn/info-cmd.c
subversion/trunk/subversion/svn/schema/info.rnc
subversion/trunk/subversion/svn/upgrade-cmd.c
subversion/trunk/subversion/tests/cmdline/upgrade_tests.py

Propchange: subversion/trunk/
--
  Merged /subversion/branches/pristines-on-demand-on-mwf:r1898739-1898741

Modified: subversion/trunk/subversion/svn/info-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/info-cmd.c?rev=1899003=1899002=1899003=diff
==
--- subversion/trunk/subversion/svn/info-cmd.c (original)
+++ subversion/trunk/subversion/svn/info-cmd.c Thu Mar 17 21:00:18 2022
@@ -592,6 +592,21 @@ print_info_xml(void *baton,
 svn_cl__xml_tagged_cdata(, pool, "wcroot-abspath",
  info->wc_info->wcroot_abspath);
 
+  /* " xx " */
+  /* " xx " */
+  if (info->wc_info->wc_format > 0)
+{
+  const svn_version_t *wc_ver
+= svn_client_wc_version_from_format(info->wc_info->wc_format, 
pool);
+
+  svn_cl__xml_tagged_cdata(, pool, "wc-compatible-version",
+   apr_psprintf(pool, "%d.%d", wc_ver->major,
+wc_ver->minor));
+  svn_cl__xml_tagged_cdata(, pool, "wc-format",
+   apr_psprintf(pool, "%d",
+info->wc_info->wc_format));
+}
+
   /* " xx " */
   svn_cl__xml_tagged_cdata(, pool, "schedule",
schedule_str(info->wc_info->schedule));
@@ -737,6 +752,18 @@ print_info(void *baton,
 info->wc_info->wcroot_abspath,
 pool)));
 
+  if (info->wc_info && info->wc_info->wc_format > 0)
+{
+  const svn_version_t *wc_ver
+= svn_client_wc_version_from_format(info->wc_info->wc_format, pool);
+
+  SVN_ERR(svn_cmdline_printf(pool, _("Working Copy Compatible With 
Version: %d.%d\n"),
+ wc_ver->major, wc_ver->minor));
+  SVN_ERR(svn_cmdline_printf(pool, _("Working Copy Format: %d\n"),
+ info->wc_info->wc_format));
+}
+
+
   if (info->URL)
 SVN_ERR(svn_cmdline_printf(pool,

svn commit: r1899002 - /subversion/site/staging/docs/release-notes/1.15.html

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 20:55:17 2022
New Revision: 1899002

URL: http://svn.apache.org/viewvc?rev=1899002=rev
Log:
[in site/staging]

* docs/release-notes/1.15.html
  (#wc-upgrade): Update for multi-wc-format.

Modified:
subversion/site/staging/docs/release-notes/1.15.html

Modified: subversion/site/staging/docs/release-notes/1.15.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/docs/release-notes/1.15.html?rev=1899002=1899001=1899002=diff
==
--- subversion/site/staging/docs/release-notes/1.15.html (original)
+++ subversion/site/staging/docs/release-notes/1.15.html Thu Mar 17 20:55:17 
2022
@@ -116,13 +116,37 @@ and what impact these changes may have.<
 title="Link to this section">
 
 
-Subversion 1.15 uses the same working copy format as Subversion 1.8 through 
1.14.
+Subversion 1.15 supports the working copy formats used by Subversion 1.0 and
+newer, as follows:
 
-Before using Subversion 1.15 with an existing Subversion 1.7 or older
+
+
+Before using Subversion 1.15 with an existing Subversion 1.7 or 
older
 working copy, users will be required to run the svn upgrade command
 to upgrade working copy metadata to the new format. This command may take a
 while in some cases, and for some users, it may be more practical to simply
-checkout a new working copy.
+checkout a new working copy.
+
+Subversion 1.15 can read and write existing Subversion 1.8 through 
1.14
+working copies in-place, without upgrading them.  Subversion 1.8
+through 1.15 can be used interchangeably on such working copies.  These working
+copies are termed "format 31" working copies.
+
+Additionally, Subversion 1.15 adds a new working copy format that
+cannot be read by Subversion 1.14 and older.  This format is called
+"format 32".
+
+
+
+Both svn checkout and svn upgrade will produce
+format-31 working copies unless explicitly instructed otherwise.
+
+To instruct Subversion to use a particular working copy format, pass the new
+--compatible-version=1.15 command-line option to these commands.  If
+you use multiple Subversion clients, pass the version number of the
+oldest client that should be able to operate on the working copy.
+
+Document what's new in format 32
 
 Note: Subversion 1.15 cannot upgrade working copies that
 a 1.6 client would have refused to operate upon before an svn cleanup




svn commit: r1899000 - /subversion/trunk/subversion/libsvn_wc/wc.h

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 20:17:27 2022
New Revision: 1899000

URL: http://svn.apache.org/viewvc?rev=1899000=rev
Log:
* subversion/libsvn_wc/wc.h
  (SVN_WC__VERSION): Correct a comment.
It is no longer correct; see SVN_WC__DEFAULT_VERSION.

Modified:
subversion/trunk/subversion/libsvn_wc/wc.h

Modified: subversion/trunk/subversion/libsvn_wc/wc.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc.h?rev=1899000=1898999=1899000=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc.h Thu Mar 17 20:17:27 2022
@@ -171,7 +171,7 @@ extern "C" {
  * Please document any further format changes here.
  */
 
-/* The default WC version created by the client. */
+/* The newest WC format this client supports. */
 #define SVN_WC__VERSION 32
 
 /* The minimum WC version supported by the client.




svn commit: r1899001 - /subversion/trunk/subversion/libsvn_wc/wc.h

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 20:19:01 2022
New Revision: 1899001

URL: http://svn.apache.org/viewvc?rev=1899001=rev
Log:
* subversion/libsvn_wc/wc.h
  (SVN_WC__VERSION, SVN_WC__SUPPORTED_VERSION): Add cross-references.
No functional change.

Modified:
subversion/trunk/subversion/libsvn_wc/wc.h

Modified: subversion/trunk/subversion/libsvn_wc/wc.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc.h?rev=1899001=1899000=1899001=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc.h Thu Mar 17 20:19:01 2022
@@ -171,11 +171,17 @@ extern "C" {
  * Please document any further format changes here.
  */
 
-/* The newest WC format this client supports. */
+/* The newest WC format this client supports.
+ *
+ * @see svn_wc__max_supported_format()
+ */
 #define SVN_WC__VERSION 32
 
 /* The minimum WC version supported by the client.
-   IMPORTANT: Update the implementation of svn_client_default_wc_version()
+ *
+ * @see svn_wc__min_supported_format()
+ */
+/* IMPORTANT: Update the implementation of svn_client_default_wc_version()
   and svn_client_get_wc_formats_supported()
   whenever you change this value! */
 #define SVN_WC__SUPPORTED_VERSION 31




svn commit: r1898999 - /subversion/trunk/subversion/libsvn_wc/wc.h

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 20:11:56 2022
New Revision: 1898999

URL: http://svn.apache.org/viewvc?rev=1898999=rev
Log:
* subversion/libsvn_wc/wc.h: Document f32 as it currently is on this branch.
  (The pristines-on-demand-on-mwf branch defines a non-no-op f32.)

Modified:
subversion/trunk/subversion/libsvn_wc/wc.h

Modified: subversion/trunk/subversion/libsvn_wc/wc.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc.h?rev=1898999=1898998=1898999=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc.h (original)
+++ subversion/trunk/subversion/libsvn_wc/wc.h Thu Mar 17 20:11:56 2022
@@ -162,6 +162,12 @@ extern "C" {
  * == 1.10.x shipped with format 31
  * == 1.11.x shipped with format 31
  *
+ * The bump to 32 is a no-op, used for testing the multi-wc-format branch.
+ * Downgrading from format 32 to format 31 is just a matter of running
+ * "PRAGMA user_version = 31;".
+ *
+ * == 1.15.x shipped with format 32
+ *
  * Please document any further format changes here.
  */
 




svn commit: r1898998 - /subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 20:07:12 2022
New Revision: 1898998

URL: http://svn.apache.org/viewvc?rev=1898998=rev
Log:
* subversion/libsvn_wc/wc-metadata.sql:
Extend the list of places to update when bumping the format number.

Modified:
subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

Modified: subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-metadata.sql?rev=1898998=1898997=1898998=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc-metadata.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-metadata.sql Thu Mar 17 20:07:12 
2022
@@ -721,6 +721,8 @@ PRAGMA user_version = 32;
  *   * subversion/tests/libsvn_wc/wc-queries-test.c
  * (schema_statements, create_memory_db)
  *   * The implementation of svn_client_latest_wc_version()
+ *   * The comment above the comment above SVN_WC__VERSION
+ *   * The value of SVN_WC__VERSION, if needed
  */
 
 




svn commit: r1898997 - /subversion/branches/pristines-on-demand-on-mwf/subversion/svn/svn.c

2022-03-17 Thread danielsh
Author: danielsh
Date: Thu Mar 17 19:57:18 2022
New Revision: 1898997

URL: http://svn.apache.org/viewvc?rev=1898997=rev
Log:
* subversion/svn/svn.c
  (svn_cl__cmd_table_main."checkout",
   svn_cl__cmd_table_main."upgrade"): Slightly rephrase to not imply that 1.8
 is special in any way.

Review by: julianfoad
Thread: 
https://mail-archives.apache.org/mod_mbox/subversion-dev/202203.mbox/%3C00E57C09-0A19-4AFA-8E84-9DDD8D1A93FD%40getmailspring.com%3E

Modified:
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/svn.c

Modified: subversion/branches/pristines-on-demand-on-mwf/subversion/svn/svn.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/svn/svn.c?rev=1898997=1898996=1898997=diff
==
--- subversion/branches/pristines-on-demand-on-mwf/subversion/svn/svn.c 
(original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/svn/svn.c Thu Mar 
17 19:57:18 2022
@@ -514,9 +514,9 @@ svn_cl__cmd_table_main[] =
  "Check out a working copy from a repository.\n"
  "usage: checkout URL[@REV]... [PATH]\n"
  "\n"), N_(
- "  By default Subversion will create a WC format compatible with\n"
- "  Subversion 1.8 and newer. To create a different WC format,\n"
- "  use an option such as '--compatible-version=1.15'.\n"
+ "  The new working copy (WC) will be compatible with Subversion 1.8 and\n"
+ "  newer (this default may change in the future). To create a different\n"
+ "  WC format, use an option such as '--compatible-version=1.15'.\n"
  "  The versions available are the same as in the 'upgrade' command.\n"
  "  Use 'svn --version' to see the compatible versions supported.\n"
  "\n"), N_(
@@ -1915,8 +1915,8 @@ svn_cl__cmd_table_main[] =
  "Upgrade the metadata storage format for a working copy.\n"
  "usage: upgrade [WCPATH...]\n"
  "\n"), N_(
- "  By default Subversion will upgrade the working copy to a version\n"
- "  compatible with Subversion 1.8 and newer. To upgrade to a different\n"
+ "  The upgraded working copy will be compatible with Subversion 1.8 and\n"
+ "  newer (this default may change in the future. To upgrade to a 
different\n"
  "  version, use an option such as '--compatible-version=1.15'.\n"
  "  The versions available are the same as in the 'checkout' command.\n"
  "  Use 'svn --version' to see the compatible versions supported.\n"




svn commit: r1898976 - /subversion/site/staging/docs/community-guide/releasing.part.html

2022-03-16 Thread danielsh
Author: danielsh
Date: Wed Mar 16 21:53:30 2022
New Revision: 1898976

URL: http://svn.apache.org/viewvc?rev=1898976=rev
Log:
[in site/staging]

* docs/community-guide/releasing.part.html
  (#before-release-dependencies): Change the subsection's title.
 The outgoing title was copied from the preceding subsection.

Modified:
subversion/site/staging/docs/community-guide/releasing.part.html

Modified: subversion/site/staging/docs/community-guide/releasing.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/docs/community-guide/releasing.part.html?rev=1898976=1898975=1898976=diff
==
--- subversion/site/staging/docs/community-guide/releasing.part.html (original)
+++ subversion/site/staging/docs/community-guide/releasing.part.html Wed Mar 16 
21:53:30 2022
@@ -859,7 +859,7 @@ mkdir -p /opt/svnrm  cd /opt/s
  
 
 
-Install pristine versions of some build tools
+Install some more build tools
   #before-release-dependencies"
 title="Link to this section">
 




svn commit: r1898975 - /subversion/site/staging/docs/community-guide/releasing.part.html

2022-03-16 Thread danielsh
Author: danielsh
Date: Wed Mar 16 21:52:00 2022
New Revision: 1898975

URL: http://svn.apache.org/viewvc?rev=1898975=rev
Log:
[in site/staging]

* docs/community-guide/releasing.part.html
  (#before-release-pristine-tools): A number of minor changes:
- Add emphasis
- Link to a downstream bug to explain why pristine upstream versions are
  needed
- Update pointer to build tools' version numbers

Modified:
subversion/site/staging/docs/community-guide/releasing.part.html

Modified: subversion/site/staging/docs/community-guide/releasing.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/staging/docs/community-guide/releasing.part.html?rev=1898975=1898974=1898975=diff
==
--- subversion/site/staging/docs/community-guide/releasing.part.html (original)
+++ subversion/site/staging/docs/community-guide/releasing.part.html Wed Mar 16 
21:52:00 2022
@@ -835,9 +835,14 @@ list of available subcommands.
 set up a white-room rolling environment.  This environment must
 contain pristine versions of some build tools.
 
-It is important that you do not use distribution shipped versions
+It is important that you do not use distribution shipped versions
 of this software as they are often patched in ways that are not
-portable.  The version numbers given above should normally be
+portable (e.g., Debian's libtool patch:
+https://bugs.debian.org/291641;>#291641,
+https://bugs.debian.org/320698;>#320698.)
+The version numbers given in https://svn.apache.org/repos/asf/subversion/trunk/tools/dist/release-lines.yaml;
+>tools/dist/release-lines.yaml should normally be
 reconsidered and increased to the latest stable upstream release in
 the time leading up to an A.B.0 release.  Changing the version within
 an A.B.x series should only be done with careful consideration.




svn commit: r1898955 - /subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md

2022-03-15 Thread danielsh
Author: danielsh
Date: Wed Mar 16 01:04:38 2022
New Revision: 1898955

URL: http://svn.apache.org/viewvc?rev=1898955=rev
Log:
On the 'pristines-on-demand-on-mwf' branch:

* notes/i525/i525-user-guide.md: Fix misspelled option name.

Modified:
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md

Modified: 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md?rev=1898955=1898954=1898955=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md 
(original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md 
Wed Mar 16 01:04:38 2022
@@ -251,7 +251,7 @@ Not minimal:
 
   - The operation in the end may not look at all the files in "sync scope":
 for example, because of filtering options (such as `--depth`,
-`--changelists`), or because the operation terminated early (for
+`--changelist`), or because the operation terminated early (for
 example, `svn resolve`... and choose `quit`).
   - The operation in the end may not read the pristine copy of every file it
 processes: for example, `svn diff --properties-only`.




svn commit: r1898954 - /subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md

2022-03-15 Thread danielsh
Author: danielsh
Date: Wed Mar 16 01:04:15 2022
New Revision: 1898954

URL: http://svn.apache.org/viewvc?rev=1898954=rev
Log:
On the 'pristines-on-demand-on-mwf' branch:

* notes/i525/i525-user-guide.md: Use more accurate language and the correct 
syntax.
While here, extend the summary.

Modified:
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md

Modified: 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md?rev=1898954=1898953=1898954=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md 
(original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/notes/i525/i525-user-guide.md 
Wed Mar 16 01:04:15 2022
@@ -141,8 +141,8 @@ In brief:
 "i525pod" is an optional feature in Subversion 1.15. It can be enabled
 separately for each WC. By default "i525pod" is not enabled and WCs remain
 compatible with Subversion 1.8 through 1.14. To enable "i525pod" for a given
-WC, check out or upgrade the WC to 1.15-compatible format. A WC in
-1.15-compatible format is no longer compatible with older Subversion
+WC, check out or upgrade the WC to 1.15's format. A WC in
+1.15's format is no longer compatible with older Subversion
 clients.
 
 For details: see "Working Copy Format Upgrade and Compatibility" section.
@@ -228,7 +228,7 @@ locally modified files, are:
   - `H` `D` `svn revert`
   - `H` `D` `svn switch`
   - `H` `D` `svn update`
-  - `-` `D` `svn upgrade` (upgrade to 1.15-compatible WC format)
+  - `-` `D` `svn upgrade --compatible-version=1.15` (upgrade to 1.15's WC 
format enables "i525pod")
 
 ### Which files does Subversion "hydrate" or "dehydrate" ("sync scope")?
 
@@ -268,6 +268,7 @@ Not minimal:
   - Subversion 1.15 by default uses 1.8-compatible WC format, with "i525pod"
 inactive in those WCs, the same as Subversion 1.8 through 1.14.
   - Subversion 1.14 and older cannot read or write a 1.15-compatible WC.
+  - Working copies cannot be downgraded
 
 ## Details
 




svn propchange: r1898847 - svn:log

2022-03-15 Thread danielsh
Author: danielsh
Revision: 1898847
Modified property: svn:log

Modified: svn:log at Wed Mar 16 00:43:27 2022
--
--- svn:log (original)
+++ svn:log Wed Mar 16 00:43:27 2022
@@ -1,7 +1,5 @@
 Factor out restore-missing-file code in the WC update code.
 
-No functional change.
-
 There is one minor change. The order of checking disk-kind first followed by
 db-kind, in deciding whether to restore the top level node in
 svn_wc_crawl_revisions5(), is now reversed, becoming consistent with the
@@ -9,6 +7,8 @@ order it uses in checking every other no
 report_revisions_and_depths() (which is disk-kind then db-kind). This could
 in principle make a difference to timings and failure modes.
 
+Other than that, no functional change.
+
 * subversion/libsvn_wc/adm_crawler.c
   (svn_wc_restore): Move after 'restore_node' and use 'restore_node' rather
 than duplicating that logic.



svn commit: r1898953 - /subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py

2022-03-15 Thread danielsh
Author: danielsh
Date: Tue Mar 15 23:09:26 2022
New Revision: 1898953

URL: http://svn.apache.org/viewvc?rev=1898953=rev
Log:
On the pristines-on-demand-on-mwf branch:

Follow-up to r1898538.

* subversion/tests/cmdline/upgrade_tests.py
  (check_pristine): Don't catch unexpected exceptions.

Modified:

subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py?rev=1898953=1898952=1898953=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py
 (original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py
 Tue Mar 15 23:09:26 2022
@@ -116,7 +116,7 @@ def check_pristine(sbox, files):
 file_text = open(file_path, 'r').read()
 try:
   file_pristine = open(svntest.wc.text_base_path(file_path), 'r').read()
-except:
+except (FileNotFoundError, svntest.Failure): # FileNotFoundError
   if expect_pristines_all_present(sbox):
 raise
   # Pristine missing; pristines optional so ignore it




svn propchange: r1898741 - svn:log

2022-03-08 Thread danielsh
Author: danielsh
Revision: 1898741
Modified property: svn:log

Modified: svn:log at Tue Mar  8 19:11:18 2022
--
--- svn:log (original)
+++ svn:log Tue Mar  8 19:11:18 2022
@@ -5,5 +5,5 @@ there is no single working copy (target)
 
 * subversion/svn/upgrade-cmd.c
   (svn_cl__upgrade): Have the output identify the program that generated
-   it.  Use plural since this is an overall message relevant to 
one or
-   more targets.
+it.  Use plural since this is an overall message relevant to one or
+more targets.



svn commit: r1898741 - /subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c

2022-03-08 Thread danielsh
Author: danielsh
Date: Tue Mar  8 18:36:38 2022
New Revision: 1898741

URL: http://svn.apache.org/viewvc?rev=1898741=rev
Log:
On the pristines-on-demand-on-mwf branch, copyedit an informational message.

Part of SVN-4885, but the discussion there did not account for the fact that
there is no single working copy (target) name available in this context.

* subversion/svn/upgrade-cmd.c
  (svn_cl__upgrade): Have the output identify the program that generated
it.  Use plural since this is an overall message relevant to 
one or
more targets.

Modified:
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c?rev=1898741=1898740=1898741=diff
==
--- subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c 
(original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c 
Tue Mar  8 18:36:38 2022
@@ -91,8 +91,8 @@ svn_cl__upgrade(apr_getopt_t *os,
   && ! opt_state->quiet)
 {
   const char *msg
-= _("Working copy is already at version %d.%d. "
-"The highest version supported by this client can be "
+= _("svn: The target working copies are already at version %d.%d; "
+"the highest version supported by this client can be "
 "specified with '--compatible-version=%d.%d'.\n");
   SVN_ERR(svn_cmdline_printf(scratch_pool, msg,
  default_version->major, 
default_version->minor,




svn commit: r1898740 - in /subversion/branches/pristines-on-demand-on-mwf/subversion: svn/upgrade-cmd.c tests/cmdline/upgrade_tests.py

2022-03-08 Thread danielsh
Author: danielsh
Date: Tue Mar  8 18:33:54 2022
New Revision: 1898740

URL: http://svn.apache.org/viewvc?rev=1898740=rev
Log:
On the pristines-on-demand-on-mwf branch, show an informational message in more 
cases.

Part of SVN-4885.

* subversion/svn/upgrade-cmd.c
  (svn_cl__upgrade): Show the "You can upgrade further" message even when the
command was a no-op.

* subversion/tests/cmdline/upgrade_tests.py
  (dirs_only_upgrade, upgrade_with_missing_subdir): Ensure the message is not
generated by passing --compatible-version's default value explicitly.
  (target_ver): New helper function.

Modified:
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c

subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c?rev=1898740=1898739=1898740=diff
==
--- subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c 
(original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/svn/upgrade-cmd.c 
Tue Mar  8 18:33:54 2022
@@ -83,11 +83,9 @@ svn_cl__upgrade(apr_getopt_t *os,
   svn_pool_destroy(iterpool);
 
   /* Remind the user they can upgrade further if:
-   *   - no upgrade was performed
*   - the user did not specify compatible-version explicitly
*   - a higher version is available. */
-  if (! svn_cl__notifier_get_wc_was_upgraded(ctx->notify_baton2)
-  && ! opt_state->compatible_version
+  if (! opt_state->compatible_version
   && ! svn_version__at_least(default_version,
  latest_version->major, latest_version->minor, 
0)
   && ! opt_state->quiet)

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py?rev=1898740=1898739=1898740=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py
 (original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/upgrade_tests.py
 Tue Mar  8 18:33:54 2022
@@ -58,6 +58,11 @@ def get_current_format():
   """Get the expected WC format."""
   return svntest.main.wc_format()
 
+def target_ver():
+  """Get the default value of --compatible-version to use.
+  
+  Compare svntest.main.wc_format()."""
+  return (svntest.main.options.wc_format_version or 
svntest.main.DEFAULT_COMPATIBLE_VERSION)
 
 def replace_sbox_with_tarfile(sbox, tar_filename,
   dir=None):
@@ -772,8 +777,12 @@ def dirs_only_upgrade(sbox):
   expected_output = ["Upgraded '%s'\n" % (sbox.ospath('').rstrip(os.path.sep)),
  "Upgraded '%s'\n" % (sbox.ospath('A'))]
 
+  # Pass --compatible-version explicitly to silence the "You upgraded to
+  # a version other than the latest" message.
   svntest.actions.run_and_verify_svn(expected_output, [],
- 'upgrade', sbox.wc_dir)
+ 'upgrade', sbox.wc_dir,
+ '--compatible-version',
+ target_ver())
 
   expected_status = svntest.wc.State(sbox.wc_dir, {
   ''  : Item(status='  ', wc_rev='1'),
@@ -1039,8 +1048,12 @@ def upgrade_with_missing_subdir(sbox):
 "Upgraded '%s'\n" % sbox.ospath('A/D/G'),
 "Upgraded '%s'\n" % sbox.ospath('A/D/H'),
   ])
+  # Pass --compatible-version explicitly to silence the "You upgraded to
+  # a version other than the latest" message.
   svntest.actions.run_and_verify_svn(expected_output, [],
- 'upgrade', sbox.wc_dir)
+ 'upgrade', sbox.wc_dir,
+ '--compatible-version',
+ target_ver())
 
   # And now perform an update. (This used to fail with an assertion)
   expected_output = svntest.wc.State(wc_dir, {




svn commit: r1898739 - in /subversion/branches/pristines-on-demand-on-mwf/subversion/svn: info-cmd.c schema/info.rnc

2022-03-08 Thread danielsh
Author: danielsh
Date: Tue Mar  8 17:41:51 2022
New Revision: 1898739

URL: http://svn.apache.org/viewvc?rev=1898739=rev
Log:
On the pristines-on-demand-on-mwf branch: Add the WC format and version to `svn
info`'s other output modes.

This finishes SVN-4884.

* subversion/svn/info-cmd.c
  (print_info_xml,
   print_info): Emit the equivalents of --show-item=wc-version and
 --show-item=wc-compatible-version.

* subversion/svn/schema/info.rnc
  (wc-info): New children wc-compatible-version and wc-format.
  (wc-compatible-version, wc-format): New elements.

Modified:
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/info-cmd.c

subversion/branches/pristines-on-demand-on-mwf/subversion/svn/schema/info.rnc

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/info-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/svn/info-cmd.c?rev=1898739=1898738=1898739=diff
==
--- subversion/branches/pristines-on-demand-on-mwf/subversion/svn/info-cmd.c 
(original)
+++ subversion/branches/pristines-on-demand-on-mwf/subversion/svn/info-cmd.c 
Tue Mar  8 17:41:51 2022
@@ -592,6 +592,21 @@ print_info_xml(void *baton,
 svn_cl__xml_tagged_cdata(, pool, "wcroot-abspath",
  info->wc_info->wcroot_abspath);
 
+  /* " xx " */
+  /* " xx " */
+  if (info->wc_info->wc_format > 0)
+{
+  const svn_version_t *wc_ver
+= svn_client_wc_version_from_format(info->wc_info->wc_format, 
pool);
+
+  svn_cl__xml_tagged_cdata(, pool, "wc-compatible-version",
+   apr_psprintf(pool, "%d.%d", wc_ver->major,
+wc_ver->minor));
+  svn_cl__xml_tagged_cdata(, pool, "wc-format",
+   apr_psprintf(pool, "%d",
+info->wc_info->wc_format));
+}
+
   /* " xx " */
   svn_cl__xml_tagged_cdata(, pool, "schedule",
schedule_str(info->wc_info->schedule));
@@ -737,6 +752,18 @@ print_info(void *baton,
 info->wc_info->wcroot_abspath,
 pool)));
 
+  if (info->wc_info && info->wc_info->wc_format > 0)
+{
+  const svn_version_t *wc_ver
+= svn_client_wc_version_from_format(info->wc_info->wc_format, pool);
+
+  SVN_ERR(svn_cmdline_printf(pool, _("Working Copy Compatible With 
Version: %d.%d\n"),
+ wc_ver->major, wc_ver->minor));
+  SVN_ERR(svn_cmdline_printf(pool, _("Working Copy Format: %d\n"),
+ info->wc_info->wc_format));
+}
+
+
   if (info->URL)
 SVN_ERR(svn_cmdline_printf(pool, _("URL: %s\n"), info->URL));
 

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/schema/info.rnc
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/svn/schema/info.rnc?rev=1898739=1898738=1898739=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/schema/info.rnc 
(original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/subversion/svn/schema/info.rnc 
Tue Mar  8 17:41:51 2022
@@ -57,6 +57,8 @@ uuid = element uuid { uuid.type }
 wc-info =
   element wc-info {
 wcroot-abspath?,
+wc-compatible-version?,
+wc-format?,
 schedule?,
 changelist?,
 copy-from-url?,
@@ -70,6 +72,8 @@ wc-info =
   }
 
 wcroot-abspath = element wcroot-abspath { string }
+wc-compatible-version = element wc-compatible-version { string }
+wc-format = element wc-format { xsd:nonNegativeInteger }
 
 schedule =
   element schedule { "normal" | "add" | "delete" | "replace" | "none" }




svn commit: r1898733 - in /subversion/branches/pristines-on-demand-on-mwf: ./ subversion/tests/cmdline/basic_tests.py

2022-03-08 Thread danielsh
Author: danielsh
Date: Tue Mar  8 14:08:08 2022
New Revision: 1898733

URL: http://svn.apache.org/viewvc?rev=1898733=rev
Log:
On the pristines-on-demand-on-mwf branch, cherry-pick r1898732 from trunk.

Modified:
subversion/branches/pristines-on-demand-on-mwf/   (props changed)

subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/basic_tests.py

Propchange: subversion/branches/pristines-on-demand-on-mwf/
--
  Merged /subversion/trunk:r1898732

Modified: 
subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/basic_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/basic_tests.py?rev=1898733=1898732=1898733=diff
==
--- 
subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/basic_tests.py
 (original)
+++ 
subversion/branches/pristines-on-demand-on-mwf/subversion/tests/cmdline/basic_tests.py
 Tue Mar  8 14:08:08 2022
@@ -430,11 +430,10 @@ def basic_update_corruption(sbox):
   ##
   ##1. Make a working copy at rev 1, duplicate it.  Now we have
   ##two working copies at rev 1.  Call them first and second.
-  ##2. Make a local mod to `first/A/mu'.
-  ##3. Repair the text-base, commit again, expect success.
-  ##4. Intentionally corrupt `second/A/.svn/text-base/mu.svn-base'.
-  ##5. Try to update `second', expect failure.
-  ##6. Repair the text-base, update again, expect success.
+  ##2. Make a local mod to `first/A/mu' and commit it.
+  ##3. Intentionally corrupt `second/A/.svn/text-base/mu.svn-base'.
+  ##4. Try to update `second', expect failure.
+  ##5. Repair the text-base, update again, expect success.
   ##
   ## Here we go...
 




svn commit: r1898732 - /subversion/trunk/subversion/tests/cmdline/basic_tests.py

2022-03-08 Thread danielsh
Author: danielsh
Date: Tue Mar  8 14:06:18 2022
New Revision: 1898732

URL: http://svn.apache.org/viewvc?rev=1898732=rev
Log:
tests: Correct a comment.

Follow-up to r1335623.

* subversion/tests/cmdline/basic_tests.py
  (basic_update_corruption): Delete the "Repair the text-base" part of step #3
and renumber the remaining steps accordingly.  The numbers now match
basic_commit_corruption(), where this comment is originally from.

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

Modified: subversion/trunk/subversion/tests/cmdline/basic_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/basic_tests.py?rev=1898732=1898731=1898732=diff
==
--- subversion/trunk/subversion/tests/cmdline/basic_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/basic_tests.py Tue Mar  8 
14:06:18 2022
@@ -428,11 +428,10 @@ def basic_update_corruption(sbox):
   ##
   ##1. Make a working copy at rev 1, duplicate it.  Now we have
   ##two working copies at rev 1.  Call them first and second.
-  ##2. Make a local mod to `first/A/mu'.
-  ##3. Repair the text-base, commit again, expect success.
-  ##4. Intentionally corrupt `second/A/.svn/text-base/mu.svn-base'.
-  ##5. Try to update `second', expect failure.
-  ##6. Repair the text-base, update again, expect success.
+  ##2. Make a local mod to `first/A/mu' and commit it.
+  ##3. Intentionally corrupt `second/A/.svn/text-base/mu.svn-base'.
+  ##4. Try to update `second', expect failure.
+  ##5. Repair the text-base, update again, expect success.
   ##
   ## Here we go...
 




svn commit: r1898729 - /subversion/trunk/subversion/tests/cmdline/upgrade_tests.py

2022-03-08 Thread danielsh
Author: danielsh
Date: Tue Mar  8 11:29:44 2022
New Revision: 1898729

URL: http://svn.apache.org/viewvc?rev=1898729=rev
Log:
multi-wc-format: Add a test for the change in r1898523.

The test passes on ≥r1898523 and fails before that.

* subversion/tests/cmdline/upgrade_tests.py
  (basic_upgrade): Extend the test.

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

Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1898729=1898728=1898729=diff
==
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Tue Mar  8 
11:29:44 2022
@@ -270,6 +270,14 @@ def basic_upgrade(sbox):
   svntest.actions.run_and_verify_svn(None, not_wc % 'A',
  'upgrade', sbox.ospath('A'))
 
+  # Upgrading to a future version gives an error
+  expected_stderr = 'svn: E27: Cannot guarantee working copy 
compatibility' \
+' with the requested version.*3[.]0'
+  svntest.actions.run_and_verify_svn(None, expected_stderr,
+ sbox.wc_dir, 'upgrade',
+ '--compatible-version',
+ '3.0')
+
   # Now upgrade the working copy
   svntest.actions.run_and_verify_svn(None, [],
  'upgrade', sbox.wc_dir)




svn commit: r1898599 - /subversion/trunk/subversion/tests/cmdline/svntest/actions.py

2022-03-04 Thread danielsh
Author: danielsh
Date: Fri Mar  4 12:30:22 2022
New Revision: 1898599

URL: http://svn.apache.org/viewvc?rev=1898599=rev
Log:
tests: Fix prop_tests.py#12 on Windows, broken in r1897443.

Patch by: jun66j5

* subversion/tests/cmdline/svntest/actions.py
  (disable_revprop_changes): Use a Python hook on Windows.

Modified:
subversion/trunk/subversion/tests/cmdline/svntest/actions.py

Modified: subversion/trunk/subversion/tests/cmdline/svntest/actions.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/actions.py?rev=1898599=1898598=1898599=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/actions.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/actions.py Fri Mar  4 
12:30:22 2022
@@ -2135,11 +2135,7 @@ def disable_revprop_changes(repo_dir):
  'import sys\n'
  'sys.stderr.write("pre-revprop-change %s" %'
   ' " ".join(sys.argv[2:]))\n'
- 'sys.exit(1)\n',
- cmd_alternative=
-   '@shift\n'
-   '@echo pre-revprop-change %* 1>&2\n'
-   '@exit 1\n')
+ 'sys.exit(1)\n')
 
 def create_failing_post_commit_hook(repo_dir):
   """Create a post-commit hook script in the repository at REPO_DIR that always




svn commit: r1898446 - /subversion/trunk/subversion/tests/cmdline/svntest/main.py

2022-02-26 Thread danielsh
Author: danielsh
Date: Sat Feb 26 17:10:28 2022
New Revision: 1898446

URL: http://svn.apache.org/viewvc?rev=1898446=rev
Log:
multi-wc-format: tests: Correct an error message.

* subversion/tests/cmdline/svntest/main.py
  (wc_format): Don't mention the name of options.wc_format_version since
the value might be something else.

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

Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1898446=1898445=1898446=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Sat Feb 26 
17:10:28 2022
@@ -1763,8 +1763,7 @@ def wc_format(ver=None):
 return 32
   if minor >= 8 and minor <= 14:
 return 31
-  raise Exception("Unrecognized wc_format_version '%s'" %
-  options.wc_format_version)
+  raise Exception("Unrecognized version number '%s'" % (ver,))
 
 
 ##




svn commit: r1898445 - in /subversion/trunk/subversion/tests/cmdline: svntest/main.py upgrade_tests.py

2022-02-26 Thread danielsh
Author: danielsh
Date: Sat Feb 26 16:37:03 2022
New Revision: 1898445

URL: http://svn.apache.org/viewvc?rev=1898445=rev
Log:
multi-wc-format: Verify that it's possible to upgrade first to f31 and then
to f32.

* subversion/tests/cmdline/svntest/main.py
  (wc_format): Add docstring.  Take an optional argument.

* subversion/tests/cmdline/upgrade_tests.py
  (basic_upgrade): Extend the test to run a second 'svn upgrade'.

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

Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1898445=1898444=1898445=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Sat Feb 26 
16:37:03 2022
@@ -1748,8 +1748,16 @@ def is_httpd_authz_provider_enabled():
 def is_remote_http_connection_allowed():
   return options.allow_remote_http_connection
 
-def wc_format():
-  ver = (options.wc_format_version or DEFAULT_COMPATIBLE_VERSION)
+def wc_format(ver=None):
+  """Return the WC format number used by Subversion version VER.
+
+  VER should be a version string such as '1.15' or '1.15.0' or '1.15.0-beta2'.
+
+  If omitted, the format number of new working copies, as expected to be
+  created by 'svn checkout' without '--compatible-version', is returned.
+  """
+  if not ver:
+ver = (options.wc_format_version or DEFAULT_COMPATIBLE_VERSION)
   minor = int(ver.split('.')[1])
   if minor >= 15 and minor <= SVN_VER_MINOR:
 return 32

Modified: subversion/trunk/subversion/tests/cmdline/upgrade_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/upgrade_tests.py?rev=1898445=1898444=1898445=diff
==
--- subversion/trunk/subversion/tests/cmdline/upgrade_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/upgrade_tests.py Sat Feb 26 
16:37:03 2022
@@ -290,10 +290,33 @@ def basic_upgrade(sbox):
   check_format(sbox, get_current_format())
 
   # Now check the contents of the working copy
+  # This verification is repeated below.
   expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, 1)
   run_and_verify_status_no_server(sbox.wc_dir, expected_status)
   check_pristine(sbox, ['iota', 'A/mu'])
 
+  # Upgrade again to the latest format.
+  #
+  # This may or may not be a no-op, depending on whether the test suite was
+  # launched with --wc-format-version / WC_FORMAT_VERSION set a version that
+  # uses the same format as SVN_VER_MAJOR.SVN_VER_MINOR.
+  to_version = svntest.main.svn_wc__max_supported_format_version()
+  if svntest.main.wc_format() == svntest.main.wc_format(to_version):
+# Upgrade is a no-op
+expected_stdout = []
+  else:
+# Upgrade is not a no-op
+expected_stdout = "Upgraded '.*'"
+  svntest.actions.run_and_verify_svn(expected_stdout, [],
+ 'upgrade',
+ '--compatible-version',
+ to_version, sbox.wc_dir)
+  check_format(sbox, svntest.main.wc_format(to_version))
+
+  # Repeat the same verification as above
+  run_and_verify_status_no_server(sbox.wc_dir, expected_status)
+  check_pristine(sbox, ['iota', 'A/mu'])
+
 def upgrade_with_externals(sbox):
   "upgrade with externals"
 




svn commit: r1898444 - /subversion/trunk/subversion/tests/cmdline/svntest/main.py

2022-02-26 Thread danielsh
Author: danielsh
Date: Sat Feb 26 16:28:41 2022
New Revision: 1898444

URL: http://svn.apache.org/viewvc?rev=1898444=rev
Log:
multi-wc-format: Don't assume test functions will use a particular option
syntax.

* subversion/tests/cmdline/svntest/main.py
  (_with_wc_format_version): Detect both long option syntaxes.

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

Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1898444=1898443=1898444=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Sat Feb 26 
16:28:41 2022
@@ -801,7 +801,9 @@ def copy_trust(dst_cfgdir, src_cfgdir):
 shutil.copy(os.path.join(src_ssl_dir, f), os.path.join(dst_ssl_dir, f))
 
 def _with_wc_format_version(args):
-  if '--compatible-version' in args or options.wc_format_version is None:
+  if '--compatible-version' in args \
+  or any(one_arg.startswith('--compatible-version=') for one_arg in args) \
+  or options.wc_format_version is None:
 return args
   non_opt_args = [a for a in args if not str(a).startswith('-')]
   if non_opt_args:




svn commit: r1898443 - /subversion/trunk/subversion/tests/cmdline/svntest/main.py

2022-02-26 Thread danielsh
Author: danielsh
Date: Sat Feb 26 16:26:08 2022
New Revision: 1898443

URL: http://svn.apache.org/viewvc?rev=1898443=rev
Log:
multi-wc-format: Make svntest.main.run_svn() and friends not add
--compatible-version when a test has passed this option already.

The outgoing option name is the test suite programs' option name, as opposed to
svn(1)'s option name.

* subversion/tests/cmdline/svntest/main.py
  (_with_wc_format_version): Fix option name.

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

Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1898443=1898442=1898443=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Sat Feb 26 
16:26:08 2022
@@ -801,7 +801,7 @@ def copy_trust(dst_cfgdir, src_cfgdir):
 shutil.copy(os.path.join(src_ssl_dir, f), os.path.join(dst_ssl_dir, f))
 
 def _with_wc_format_version(args):
-  if '--wc-format-version' in args or options.wc_format_version is None:
+  if '--compatible-version' in args or options.wc_format_version is None:
 return args
   non_opt_args = [a for a in args if not str(a).startswith('-')]
   if non_opt_args:




svn commit: r1898427 - /subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

2022-02-25 Thread danielsh
Author: danielsh
Date: Fri Feb 25 20:00:16 2022
New Revision: 1898427

URL: http://svn.apache.org/viewvc?rev=1898427=rev
Log:
Follow-up to r1898397:

* subversion/libsvn_wc/wc-metadata.sql
  (latest format): Add svn_client_latest_wc_version() to the list of places to
update upon creating a new format.

Modified:
subversion/trunk/subversion/libsvn_wc/wc-metadata.sql

Modified: subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-metadata.sql?rev=1898427=1898426=1898427=diff
==
--- subversion/trunk/subversion/libsvn_wc/wc-metadata.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-metadata.sql Fri Feb 25 20:00:16 
2022
@@ -720,6 +720,7 @@ PRAGMA user_version = 32;
  *
  *   * subversion/tests/libsvn_wc/wc-queries-test.c
  * (schema_statements, create_memory_db)
+ *   * The implementation of svn_client_latest_wc_version()
  */
 
 




svn commit: r1898224 - /subversion/trunk/subversion/tests/cmdline/davautocheck.sh

2022-02-19 Thread danielsh
Author: danielsh
Date: Sat Feb 19 15:45:40 2022
New Revision: 1898224

URL: http://svn.apache.org/viewvc?rev=1898224=rev
Log:
davautocheck: Create the convenience stop script in the build directory rather
than in the source directory.

Creating it in the source directory is wrong because it hardcode paths to the
build directory, and any given source directory may be used by multiple build
directories simultaneously.

While there, just create it in the root of the build directory.  I don't think
there's much point in having everyone type «s/t/c/.d» rather than just
«./.d» to use this convenience feature.

* subversion/tests/cmdline/davautocheck.sh
  ($STOPSCRIPT): As above.

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

Modified: subversion/trunk/subversion/tests/cmdline/davautocheck.sh
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/davautocheck.sh?rev=1898224=1898223=1898224=diff
==
--- subversion/trunk/subversion/tests/cmdline/davautocheck.sh (original)
+++ subversion/trunk/subversion/tests/cmdline/davautocheck.sh Sat Feb 19 
15:45:40 2022
@@ -88,7 +88,7 @@ PYTHON=${PYTHON:-python}
 
 SCRIPTDIR=$(dirname $0)
 SCRIPT=$(basename $0)
-STOPSCRIPT=$SCRIPTDIR/.$SCRIPT.stop
+STOPSCRIPT=$(pwd)/.$SCRIPT.stop
 
 trap stop_httpd_and_die HUP TERM INT
 




svn commit: r1898003 - /subversion/site/publish/docs/community-guide/how-to-roll-releases-in-private.txt

2022-02-12 Thread danielsh
Author: danielsh
Date: Sat Feb 12 13:52:18 2022
New Revision: 1898003

URL: http://svn.apache.org/viewvc?rev=1898003=rev
Log:
* docs/community-guide/how-to-roll-releases-in-private.txt:
Add a top-of-file summary of what this file contains.

Modified:

subversion/site/publish/docs/community-guide/how-to-roll-releases-in-private.txt

Modified: 
subversion/site/publish/docs/community-guide/how-to-roll-releases-in-private.txt
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/community-guide/how-to-roll-releases-in-private.txt?rev=1898003=1898002=1898003=diff
==
--- 
subversion/site/publish/docs/community-guide/how-to-roll-releases-in-private.txt
 (original)
+++ 
subversion/site/publish/docs/community-guide/how-to-roll-releases-in-private.txt
 Sat Feb 12 13:52:18 2022
@@ -1,6 +1,13 @@
 HOW TO ROLL RELEASES IN PRIVATE
 ===
 
+This file documents how to roll a security release in private, in a way that
+generates tarballs that differ from the previous release's tarballs only by
+a security patch.  For instance, subversion-1.5.7.tar.gz differs from
+subversion-1.5.6.tar.gz only by the patch for CVE-2009-2411, and was rolled and
+voted on privately (on svn-full-committ...@red-bean.com, the predecessor of
+priv...@subversion.apache.org).
+
 To roll the release:
 
 




svn commit: r1897503 - /subversion/trunk/subversion/tests/cmdline/svntest/main.py

2022-01-26 Thread danielsh
Author: danielsh
Date: Wed Jan 26 12:34:42 2022
New Revision: 1897503

URL: http://svn.apache.org/viewvc?rev=1897503=rev
Log:
Follow-up to r1897452: Fix 'make check' under Python 3.

Found by: julianfoad

* subversion/tests/cmdline/svntest/main.py
  (run_command_stdin): Don't refer to 'unicode' under Python 3.

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

Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1897503=1897502=1897503=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Wed Jan 26 
12:34:42 2022
@@ -616,7 +616,12 @@ def run_command_stdin(command, error_exp
 
   start = time.time()
 
-  assert all(isinstance(arg, (str, unicode, int)) for arg in varargs)
+  if sys.version_info >= (3, 0):
+# Don't include 'bytes' since spawn_process() would raise.
+assert all(isinstance(arg, (str, int)) for arg in varargs)
+  else:
+# Include 'unicode' since svnrdump_tests pass b''.decode().
+assert all(isinstance(arg, (str, unicode, int)) for arg in varargs)
 
   exit_code, stdout_lines, stderr_lines = spawn_process(command,
 bufsize,




svn commit: r1897457 - /subversion/trunk/subversion/tests/cmdline/log_tests.py

2022-01-25 Thread danielsh
Author: danielsh
Date: Tue Jan 25 14:38:57 2022
New Revision: 1897457

URL: http://svn.apache.org/viewvc?rev=1897457=rev
Log:
* subversion/tests/cmdline/log_tests.py
  (log_xml_with_merge_history): Expect to pass over svn:// and http://, since
it does.

Requested by: dsahlberg

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

Modified: subversion/trunk/subversion/tests/cmdline/log_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/log_tests.py?rev=1897457=1897456=1897457=diff
==
--- subversion/trunk/subversion/tests/cmdline/log_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/log_tests.py Tue Jan 25 14:38:57 
2022
@@ -2816,7 +2816,7 @@ def log_with_merge_history_and_search(sb
   if count(output, "

svn propchange: r1897452 - svn:log

2022-01-25 Thread danielsh
Author: danielsh
Revision: 1897452
Modified property: svn:log

Modified: svn:log at Tue Jan 25 12:42:27 2022
--
--- svn:log (original)
+++ svn:log Tue Jan 25 12:42:27 2022
@@ -8,14 +8,4 @@ svntest.Failure) by such validation.  Se
 [1] 
https://mail-archives.apache.org/mod_mbox/subversion-dev/202201.mbox/%3C20220125113122.GA26658%40tarpaulin.shahaf.local2%3E
 
 * subversion/tests/cmdline/svntest/main.py
-  (run_command_stdin): Smoke test the variadic arguments.--- 
a/subversion/tests/cmdline/svntest/main.py
-+++ b/subversion/tests/cmdline/svntest/main.py
-@@ -616,6 +616,8 @@
- 
-   start = time.time()
- 
-+  assert all(isinstance(arg, (str, unicode, int)) for arg in varargs)
-+
-   exit_code, stdout_lines, stderr_lines = spawn_process(command,
- bufsize,
- binary_mode,
+  (run_command_stdin): Smoke test the variadic arguments.



svn commit: r1897452 - /subversion/trunk/subversion/tests/cmdline/svntest/main.py

2022-01-25 Thread danielsh
Author: danielsh
Date: Tue Jan 25 11:34:50 2022
New Revision: 1897452

URL: http://svn.apache.org/viewvc?rev=1897452=rev
Log:
svntest: Guard against test-writing bugs, such as the one described in r1897439.

I was going to validate «error_expected» too for being a boolean-esque type
(NoneType, bool, or int), but it turns out some tests pass string values into
it, and as such would have been broken hard (AssertionError rather than
svntest.Failure) by such validation.  See [1] for details.

[1] 
https://mail-archives.apache.org/mod_mbox/subversion-dev/202201.mbox/%3C20220125113122.GA26658%40tarpaulin.shahaf.local2%3E

* subversion/tests/cmdline/svntest/main.py
  (run_command_stdin): Smoke test the variadic arguments.--- 
a/subversion/tests/cmdline/svntest/main.py
+++ b/subversion/tests/cmdline/svntest/main.py
@@ -616,6 +616,8 @@
 
   start = time.time()
 
+  assert all(isinstance(arg, (str, unicode, int)) for arg in varargs)
+
   exit_code, stdout_lines, stderr_lines = spawn_process(command,
 bufsize,
 binary_mode,

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

Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1897452=1897451=1897452=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Tue Jan 25 
11:34:50 2022
@@ -616,6 +616,8 @@ def run_command_stdin(command, error_exp
 
   start = time.time()
 
+  assert all(isinstance(arg, (str, unicode, int)) for arg in varargs)
+
   exit_code, stdout_lines, stderr_lines = spawn_process(command,
 bufsize,
 binary_mode,




svn commit: r1897450 - /subversion/branches/1.14.x/STATUS

2022-01-25 Thread danielsh
Author: danielsh
Date: Tue Jan 25 10:59:57 2022
New Revision: 1897450

URL: http://svn.apache.org/viewvc?rev=1897450=rev
Log:
* STATUS: Nominate r1897449.

Modified:
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1897450=1897449=1897450=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Tue Jan 25 10:59:57 2022
@@ -115,6 +115,14 @@ Candidate changes:
 Votes:
   +1: stsp
 
+ * r1897449
+   tests: Include additional information in an error message.
+   Justification:
+ Trivial test harness change that may help investigate unreproducible
+ errors.
+   Votes:
+ +1: danielsh
+
 Veto-blocked changes:
 =
 




svn commit: r1897449 - /subversion/trunk/build/run_tests.py

2022-01-25 Thread danielsh
Author: danielsh
Date: Tue Jan 25 10:58:39 2022
New Revision: 1897449

URL: http://svn.apache.org/viewvc?rev=1897449=rev
Log:
tests: Include additional information in an error message.

I saw this error today with task-test 4 in a threaded svnserveautocheck run,
but the exit code wasn't logged, I had little information to go on (and the
error didn't reproduce).

* build/run_tests.py
  (TestHarness._check_for_unknown_failure): Log the exit code.

Modified:
subversion/trunk/build/run_tests.py

Modified: subversion/trunk/build/run_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/build/run_tests.py?rev=1897449=1897448=1897449=diff
==
--- subversion/trunk/build/run_tests.py (original)
+++ subversion/trunk/build/run_tests.py Tue Jan 25 10:58:39 2022
@@ -798,10 +798,12 @@ class TestHarness:
 # ### Even if failure==1 it could be that the test didn't run at all.
 if test_failed and test_failed != 1:
   if self.log:
-log.write('FAIL:  %s: Unknown test failure; see tests.log.\n' % 
progbase)
+log.write('FAIL:  %s: Unknown test failure (%s); see tests.log.\n'
+  % (progbase, test_failed))
 log.flush()
   else:
-log.write('FAIL:  %s: Unknown test failure.\n' % progbase)
+log.write('FAIL:  %s: Unknown test failure (%s).\n'
+  % (progbase, test_failed))
 
   def _run_c_test(self, progabs, progdir, progbase, test_nums, dot_count):
 'Run a c test, escaping parameters as required.'




svn commit: r1897443 - in /subversion/trunk/subversion/tests/cmdline/svntest: actions.py main.py

2022-01-25 Thread danielsh
Author: danielsh
Date: Tue Jan 25 09:59:40 2022
New Revision: 1897443

URL: http://svn.apache.org/viewvc?rev=1897443=rev
Log:
Stop encoding a test's number in the svntest library.

* subversion/tests/cmdline/svntest/main.py
  (run_command_stdin): Stop hardcoding an exception for "prop_tests-12".

* subversion/tests/cmdline/svntest/actions.py
  (disable_revprop_changes): Stop emitting pre-revprop-change's argv[1].
This function is only used by prop_tests.py 12 revprop_change(), and that
function doesn't care about the value of argv[1].

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

Modified: subversion/trunk/subversion/tests/cmdline/svntest/actions.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/actions.py?rev=1897443=1897442=1897443=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/actions.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/actions.py Tue Jan 25 
09:59:40 2022
@@ -2134,9 +2134,10 @@ def disable_revprop_changes(repo_dir):
   main.create_python_hook_script(hook_path,
  'import sys\n'
  'sys.stderr.write("pre-revprop-change %s" %'
-  ' " ".join(sys.argv[1:]))\n'
+  ' " ".join(sys.argv[2:]))\n'
  'sys.exit(1)\n',
  cmd_alternative=
+   '@shift\n'
'@echo pre-revprop-change %* 1>&2\n'
'@exit 1\n')
 

Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1897443=1897442=1897443=diff
==
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Tue Jan 25 
09:59:40 2022
@@ -637,8 +637,7 @@ def run_command_stdin(command, error_exp
   break
 # Does the server leak the repository on-disk path?
 # (prop_tests-12 installs a hook script that does that intentionally)
-if any(map(_line_contains_repos_diskpath, lines)) \
-   and not any(map(lambda arg: 'prop_tests-12' in arg, varargs)):
+if any(map(_line_contains_repos_diskpath, lines)):
   raise Failure("Repository diskpath in %s: %r" % (name, lines))
 
   valgrind_diagnostic = False




svn commit: r1897439 - /subversion/trunk/subversion/tests/cmdline/pegrev_parse_tests.py

2022-01-24 Thread danielsh
Author: danielsh
Date: Tue Jan 25 07:33:33 2022
New Revision: 1897439

URL: http://svn.apache.org/viewvc?rev=1897439=rev
Log:
Rename an internal function.  No functional change.

The name of pegrev_parse_tests.run_svn() can be confused with the name of
svntest.main.run_svn() when using one's $EDITOR's "Jump to the definition of
the function named «run_svn»" functionality, or when referring to functions
solely by their basename.  Furthermore, calling the latter function with actual
arguments appropriate for the former doesn't raise any obvious exception; for
instance, calling «svntest.main.run_svn(sbox, None, [], 'info')» actually runs
«svn None "[]" info» and — because «sbox» is true in boolean context, and
svntest.main.run_svn() doesn't inspect its first actual argument in any other
way — doesn't raise any exception when that command returns a non-zero exit
code.

Furthermore, the new name is more descriptive.

* subversion/tests/cmdline/pegrev_parse_tests.py
  (run_svn): Rename to…
  (run_svn_at_wcdir): … this.

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

Modified: subversion/trunk/subversion/tests/cmdline/pegrev_parse_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/pegrev_parse_tests.py?rev=1897439=1897438=1897439=diff
==
--- subversion/trunk/subversion/tests/cmdline/pegrev_parse_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/pegrev_parse_tests.py Tue Jan 25 
07:33:33 2022
@@ -52,7 +52,7 @@ Item = wc.StateItem
 # commands, because the parser may have (and as of this writing does have)
 # edge-case bugs that we can only expose in this way. Therefore, these helpers
 # ensure that we run 'svn' with the CWD at the root of the working copy.
-def run_svn(sbox, expected_status, expected_stderr, *varargs):
+def run_svn_at_wcdir(sbox, expected_status, expected_stderr, *varargs):
   if expected_stderr is None:
 expected_stderr = []
 
@@ -96,8 +96,8 @@ def do_add_file(sbox, dst, dst_cmdline,
 expected_status.add({dst: Item(status='A ', wc_rev='-')})
 
   main.file_write(sbox.ospath(dst), "This is file '"  + dst + "'.")
-  run_svn(sbox, expected_status, expected_stderr,
-  'add', dst_cmdline)
+  run_svn_at_wcdir(sbox, expected_status, expected_stderr,
+   'add', dst_cmdline)
 
 def do_add_file_e(sbox, dst, dst_cmdline, expected_stderr=None):
   "like do_add_file() but with an empty sandbox"
@@ -109,8 +109,8 @@ def do_make_dir(sbox, dst, dst_cmdline,
   if expected_status is not None:
 expected_status.add({dst: Item(status='A ', wc_rev='-')})
 
-  run_svn(sbox, expected_status, expected_stderr,
-  'mkdir', dst_cmdline)
+  run_svn_at_wcdir(sbox, expected_status, expected_stderr,
+   'mkdir', dst_cmdline)
 
 def do_make_dir_e(sbox, dst, dst_cmdline, expected_stderr=None):
   "like do_make_dir() but with an empty sandbox"
@@ -121,8 +121,8 @@ def do_remove(sbox, dst, dst_cmdline, ex
   if expected_status is not None and dst in expected_status.desc:
 expected_status.tweak(dst, status='D ')
 
-  run_svn(sbox, expected_status, expected_stderr,
-  'remove', dst_cmdline)
+  run_svn_at_wcdir(sbox, expected_status, expected_stderr,
+   'remove', dst_cmdline)
 
 def do_rename(sbox, src, src_cmdline, dst, dst_cmdline,
   expected_stderr=None):
@@ -132,8 +132,8 @@ def do_rename(sbox, src, src_cmdline, ds
 expected_status.add({dst: Item(status='A ', copied='+',
moved_from=src, wc_rev='-')})
 
-  run_svn(sbox, expected_status, expected_stderr,
-  'rename', src_cmdline, dst_cmdline)
+  run_svn_at_wcdir(sbox, expected_status, expected_stderr,
+   'rename', src_cmdline, dst_cmdline)
 
 
 ##




svn commit: r1897407 - /subversion/trunk/subversion/tests/cmdline/basic_tests.py

2022-01-24 Thread danielsh
Author: danielsh
Date: Mon Jan 24 10:54:16 2022
New Revision: 1897407

URL: http://svn.apache.org/viewvc?rev=1897407=rev
Log:
* subversion/tests/cmdline/basic_tests.py
  (keep_local_reverted_properly): New test.
  (test_list): Run it.

Suggested by: hartmannathan

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

Modified: subversion/trunk/subversion/tests/cmdline/basic_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/basic_tests.py?rev=1897407=1897406=1897407=diff
==
--- subversion/trunk/subversion/tests/cmdline/basic_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/basic_tests.py Mon Jan 24 
10:54:16 2022
@@ -3242,6 +3242,42 @@ def filtered_ls_top_level_path(sbox):
 exit_code, output, error = svntest.actions.run_and_verify_svn(
   [], [], 'ls', f_path, '--search=*/*', *extra_opts)
 
+def keep_local_reverted_properly(sbox):
+  "rm --keep-local, /bin/rm, revert"
+
+  sbox.build(read_only=True)
+  wc_dir = sbox.wc_dir
+
+  lambda_path = sbox.ospath('A/B/lambda')
+  E_path =  sbox.ospath('A/B/E')
+  targets = [ lambda_path, E_path ]
+
+  # Modify
+  sbox.simple_append('A/B/lambda', "added text\n")
+  svntest.main.run_svn(None, 'ps', 'k', 'v', E_path)
+
+  # Schedule for removal
+  svntest.main.run_svn(None, 'rm', '--keep-local', *targets)
+
+  # Remove from disk
+  os.unlink(lambda_path)
+  shutil.rmtree(E_path)
+
+  # Revert
+  svntest.main.run_svn(None, 'revert', *targets)
+
+  # Check that the modifications are absent
+  # 
+  # alpha and beta are still scheduled for deletion because 'revert' doesn't
+  # recurse by default.
+  expected_disk = svntest.main.greek_state.copy()
+  expected_disk.remove('A/B/E/alpha', 'A/B/E/beta')
+  expected_output = svntest.actions.get_virginal_state(wc_dir, 1)
+  expected_output.tweak('A/B/E/alpha', 'A/B/E/beta', status='D ')
+  #
+  svntest.actions.verify_disk(sbox.wc_dir, expected_disk, check_props=True)
+  svntest.actions.run_and_verify_status(wc_dir, expected_output)
+
 
 
 # Run the tests
@@ -3318,6 +3354,7 @@ test_list = [ None,
   null_update_last_changed_revision,
   null_prop_update_last_changed_revision,
   filtered_ls_top_level_path,
+  keep_local_reverted_properly,
  ]
 
 if __name__ == '__main__':




svn commit: r1897401 - in /subversion/trunk: ./ subversion/tests/cmdline/externals_tests.py

2022-01-23 Thread danielsh
Author: danielsh
Date: Mon Jan 24 06:47:25 2022
New Revision: 1897401

URL: http://svn.apache.org/viewvc?rev=1897401=rev
Log:
Cherry-pick r1897398,r1897399 from the pristines-on-demand branch, where they
were committed to by mistake.

* subversion/tests/cmdline/externals_tests.py
  (externals_test_setup): Clarify the docstring.  No functional change.

Modified:
subversion/trunk/   (props changed)
subversion/trunk/subversion/tests/cmdline/externals_tests.py

Propchange: subversion/trunk/
--
  Merged /subversion/branches/pristines-on-demand:r1897398-1897399

Modified: subversion/trunk/subversion/tests/cmdline/externals_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/externals_tests.py?rev=1897401=1897400=1897401=diff
==
--- subversion/trunk/subversion/tests/cmdline/externals_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/externals_tests.py Mon Jan 24 
06:47:25 2022
@@ -67,14 +67,21 @@ def externals_test_setup(sbox):
 
   The arrangement of the externals in the first repository is:
 
-/A/B/ ==>  ^/A/D/gamma  gamma
-/A/C/ ==>  exdir_G  :A/D/G
-   ../../..//A/D/H@1 exdir_H
-
-/A/D/ ==>  ^/..//Aexdir_A
-   ///A/D/G/   exdir_A/G/
-   exdir_A/H -r 1   :A/D/H
-   //A/Bx/y/z/blah
+Properties on 'A/B':
+  svn:externals
+^/A/D/gamma gamma
+
+Properties on 'A/C':
+  svn:externals
+exdir_G   ://<...>//A/D/G
+../../..//A/D/H@1 exdir_H
+
+Properties on 'A/D':
+  svn:externals
+^/..//A exdir_A
+///A/D/G/ exdir_A/G/
+exdir_A/H -r 1 ://<...>//A/D/H
+//A/B x/y/z/blah
 
   A dictionary is returned keyed by the directory created by the
   external whose value is the URL of the external.




svn commit: r1897399 - /subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py

2022-01-23 Thread danielsh
Author: danielsh
Date: Mon Jan 24 06:43:43 2022
New Revision: 1897399

URL: http://svn.apache.org/viewvc?rev=1897399=rev
Log:
Further clarify a docstring.  No functional change.

* subversion/tests/cmdline/externals_tests.py
  (externals_test_setup): Use more specific metasyntactic variables.
Correct a syntax error in the non-relative URLs.

Modified:

subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py

Modified: 
subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py?rev=1897399=1897398=1897399=diff
==
--- 
subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py
 (original)
+++ 
subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py
 Mon Jan 24 06:43:43 2022
@@ -73,15 +73,15 @@ def externals_test_setup(sbox):
 
 Properties on 'A/C':
   svn:externals
-exdir_G   :A/D/G
+exdir_G   ://<...>//A/D/G
 ../../..//A/D/H@1 exdir_H
 
 Properties on 'A/D':
   svn:externals
 ^/..//A exdir_A
-///A/D/G/ exdir_A/G/
-exdir_A/H -r 1 :A/D/H
-//A/B x/y/z/blah
+///A/D/G/ exdir_A/G/
+exdir_A/H -r 1 ://<...>//A/D/H
+//A/B x/y/z/blah
 
   A dictionary is returned keyed by the directory created by the
   external whose value is the URL of the external.




svn commit: r1897398 - /subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py

2022-01-23 Thread danielsh
Author: danielsh
Date: Mon Jan 24 06:34:14 2022
New Revision: 1897398

URL: http://svn.apache.org/viewvc?rev=1897398=rev
Log:
Clarify a docstring.  No functional change.

* subversion/tests/cmdline/externals_tests.py
  (externals_test_setup):
Use the `svn proplist --verbose` format to list the externals created.

Modified:

subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py

Modified: 
subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py?rev=1897398=1897397=1897398=diff
==
--- 
subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py
 (original)
+++ 
subversion/branches/pristines-on-demand/subversion/tests/cmdline/externals_tests.py
 Mon Jan 24 06:34:14 2022
@@ -67,14 +67,21 @@ def externals_test_setup(sbox):
 
   The arrangement of the externals in the first repository is:
 
-/A/B/ ==>  ^/A/D/gamma  gamma
-/A/C/ ==>  exdir_G  :A/D/G
-   ../../..//A/D/H@1 exdir_H
-
-/A/D/ ==>  ^/..//Aexdir_A
-   ///A/D/G/   exdir_A/G/
-   exdir_A/H -r 1   :A/D/H
-   //A/Bx/y/z/blah
+Properties on 'A/B':
+  svn:externals
+^/A/D/gamma gamma
+
+Properties on 'A/C':
+  svn:externals
+exdir_G   :A/D/G
+../../..//A/D/H@1 exdir_H
+
+Properties on 'A/D':
+  svn:externals
+^/..//A exdir_A
+///A/D/G/ exdir_A/G/
+exdir_A/H -r 1 :A/D/H
+//A/B x/y/z/blah
 
   A dictionary is returned keyed by the directory created by the
   external whose value is the URL of the external.




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

2021-08-14 Thread danielsh
Author: danielsh
Date: Sat Aug 14 12:42:34 2021
New Revision: 1892335

URL: http://svn.apache.org/viewvc?rev=1892335=rev
Log:
* STATUS (for 1.10.x): Nominate r1891908, with dsahlberg's vote via dev@
  (Message-ID: 
).

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=1892335=1892334=1892335=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Sat Aug 14 12:42:34 2021
@@ -56,6 +56,14 @@ Candidate changes:
Votes:
  +1: futatuki
 
+ * r1891908
+   Fix a bug where «make davautocheck» immediately after configure failed
+   hard because of an unbuilt dependency.
+   Justification:
+ Small fix.  Prevents spurious hard fails of 'make davautocheck'.
+   Votes:
+ +1: danielsh, dsahlberg
+
 Veto-blocked changes:
 =
 




svn commit: r1892334 - /subversion/trunk/subversion/tests/cmdline/authz_tests.py

2021-08-14 Thread danielsh
Author: danielsh
Date: Sat Aug 14 12:34:23 2021
New Revision: 1892334

URL: http://svn.apache.org/viewvc?rev=1892334=rev
Log:
Add a regression test for issue #4878, "DELETE /file requires
svn_authz_recursive, fails due to glob rules".

* subversoin/tests/cmdline/authz_tests.py
  (delete_file_with_starstar_rules): New test.
  (test_list): Run it.

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

Modified: subversion/trunk/subversion/tests/cmdline/authz_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/authz_tests.py?rev=1892334=1892333=1892334=diff
==
--- subversion/trunk/subversion/tests/cmdline/authz_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/authz_tests.py Sat Aug 14 
12:34:23 2021
@@ -1732,6 +1732,38 @@ def empty_group(sbox):
  sbox.repo_url)
 
 
+@Issue(4878)
+@XFail(svntest.main.is_ra_type_dav)
+@Skip(svntest.main.is_ra_type_file)
+def delete_file_with_starstar_rules(sbox):
+  "delete file with ** rules"
+
+  # mod_dav_svn unnecessarily requires svn_authz_recursive access on DELETE of
+  # a file.  See:
+  # 
+  # 
https://mail-archives.apache.org/mod_mbox/subversion-users/202107.mbox/%3C20210731004148.GA26581%40tarpaulin.shahaf.local2%3E
+  # 
https://mail-archives.apache.org/mod_mbox/subversion-dev/202107.mbox/%3C20210731004148.GA26581%40tarpaulin.shahaf.local2%3E
+  # (Both links go to the same message.)
+  #
+  # The test will XPASS if the glob rule is removed.
+  #
+  # Note that the /**/lorem rule can't possibly match ^/iota, but its existence
+  # nevertheless affects the results of the authz check.
+
+  sbox.build(create_wc = False)
+
+  write_restrictive_svnserve_conf(sbox.repo_dir)
+
+  prefixed_rules = dict()
+  prefixed_rules[':glob:/**/lorem'] = '* = \n'
+  prefixed_rules['/'] = '%s = rw\n' % (svntest.main.wc_author,)
+  prefixed_rules['/A'] = '%s = \n' % (svntest.main.wc_author,)
+  prefixed_rules['/iota'] = '%s = rw\n' % (svntest.main.wc_author,)
+  write_authz_file(sbox, None, prefixed_rules = prefixed_rules)
+
+  svntest.main.run_svn(None, 'rm', sbox.repo_url + '/iota', '-m', 'rm by URL')
+
+
 
 # Run the tests
 
@@ -1771,6 +1803,7 @@ test_list = [ None,
   inverted_group_membership,
   group_member_empty_string,
   empty_group,
+  delete_file_with_starstar_rules,
  ]
 serial_only = True
 




svn commit: r1891909 - /subversion/branches/1.14.x/STATUS

2021-07-30 Thread danielsh
Author: danielsh
Date: Fri Jul 30 23:58:25 2021
New Revision: 1891909

URL: http://svn.apache.org/viewvc?rev=1891909=rev
Log:
* STATUS: Nominate r1891908.

Modified:
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1891909=1891908=1891909=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Fri Jul 30 23:58:25 2021
@@ -90,6 +90,14 @@ Candidate changes:
votes:
  +1: rhuijben
 
+ * r1891908
+   Fix a bug where «make davautocheck» immediately after configure failed
+   hard because of an unbuilt dependency.
+   Justification:
+ Small fix.  Prevents spurious hard fails of 'make davautocheck'.
+   Votes:
+ +1: danielsh
+
 Veto-blocked changes:
 =
 




svn commit: r1891908 - /subversion/trunk/Makefile.in

2021-07-30 Thread danielsh
Author: danielsh
Date: Fri Jul 30 23:56:11 2021
New Revision: 1891908

URL: http://svn.apache.org/viewvc?rev=1891908=rev
Log:
Fix a bug where «make davautocheck» immediately after configure failed hard
because of an unbuilt dependency.

The error message was:

davautocheck.sh: dontdothat_module not found, please use '--enable-shared 
--with-apxs' with your 'configure' script

* Makefile.in
  (davcheck, davautocheck): Depend on mod_dontdothat, which is required by 
authz_tests.

Review by: dsahlberg
Thread: 
https://mail-archives.apache.org/mod_mbox/subversion-dev/202107.mbox/%3C20210716135352.GA2413%40tarpaulin.shahaf.local2%3E

Modified:
subversion/trunk/Makefile.in

Modified: subversion/trunk/Makefile.in
URL: 
http://svn.apache.org/viewvc/subversion/trunk/Makefile.in?rev=1891908=1891907=1891908=diff
==
--- subversion/trunk/Makefile.in (original)
+++ subversion/trunk/Makefile.in Fri Jul 30 23:56:11 2021
@@ -638,12 +638,12 @@ check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $
 
 # First, set up Apache as documented in
 # subversion/tests/cmdline/README.
-davcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
+davcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod mod_dontdothat
@$(MAKE) check BASE_URL=http://localhost
 
 # Automatically configure and run Apache httpd on a random port, and then
 # run make check.
-davautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
+davautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod mod_dontdothat
@# Takes MODULE_PATH, USE_HTTPV1 and SVN_PATH_AUTHZ in the environment.
@APXS=$(APXS) MAKE=$(MAKE) $(SHELL) 
$(top_srcdir)/subversion/tests/cmdline/davautocheck.sh
 




svn commit: r1889630 - /subversion/branches/1.14.x/STATUS

2021-05-07 Thread danielsh
Author: danielsh
Date: Fri May  7 14:12:17 2021
New Revision: 1889630

URL: http://svn.apache.org/viewvc?rev=1889630=rev
Log:
* STATUS: Nominate r1889629.

Modified:
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1889630=1889629=1889630=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Fri May  7 14:12:17 2021
@@ -76,6 +76,13 @@ Candidate changes:
Votes:
  +1: futatuki, jun66j5
 
+ * r1889629
+   Document how the port number is passed to custom tunnels.
+   Justification:
+ Documentation should be complete.
+   Votes:
+ +1: danielsh
+
 Veto-blocked changes:
 =
 




svn commit: r1889629 - /subversion/trunk/subversion/libsvn_subr/config_file.c

2021-05-07 Thread danielsh
Author: danielsh
Date: Fri May  7 14:11:28 2021
New Revision: 1889629

URL: http://svn.apache.org/viewvc?rev=1889629=rev
Log:
* subversion/libsvn_subr/config_file.c
  (svn_config_ensure):
Document how the port number is passed to custom tunnels.

Found by: Nils-Johan Andreasson
(on users@)

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

Modified: subversion/trunk/subversion/libsvn_subr/config_file.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/config_file.c?rev=1889629=1889628=1889629=diff
==
--- subversion/trunk/subversion/libsvn_subr/config_file.c (original)
+++ subversion/trunk/subversion/libsvn_subr/config_file.c Fri May  7 14:11:28 
2021
@@ -1442,11 +1442,12 @@ svn_config_ensure(const char *config_dir
 "### is defined.  The command (or environment variable) may contain" NL
 "### arguments, using standard shell quoting for arguments with" NL
 "### spaces.  The command will be invoked as:"   NL
-"### svnserve -t" NL
-"### (If the URL includes a username, then the hostname will be" NL
-"### passed to the tunnel agent as @.)  If the"  NL
-"### built-in ssh scheme were not predefined, it could be defined"   NL
-"### as:"NL
+"### svnserve -t" NL
+"### where  is the hostname part of the URL.  If the URL"  NL
+"### specified a username and/or a port, those are included in the"  NL
+"###  argument in the usual way: @:."NL
+"### If the built-in ssh scheme were not predefined, it could be"NL
+"### defined as:"NL
 "# ssh = $SVN_SSH ssh -q --" NL
 "### If you wanted to define a new 'rsh' scheme, to be used with"NL
 "### 'svn+rsh:' URLs, you could do so as follows:"   NL




svn commit: r1889133 - /subversion/trunk/subversion/tests/svn_test_main.c

2021-04-23 Thread danielsh
Author: danielsh
Date: Fri Apr 23 17:50:11 2021
New Revision: 1889133

URL: http://svn.apache.org/viewvc?rev=1889133=rev
Log:
* subversion/tests/svn_test_main.c
  (svn_test_main): Add a safety net ensuring APR_HAS_THREADS-less builds
would fail, rather than pass silently, if they tried to take the
"Run tests concurrently" codepath (which try would be a bug).

Review by: hartmannathan

Modified:
subversion/trunk/subversion/tests/svn_test_main.c

Modified: subversion/trunk/subversion/tests/svn_test_main.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/svn_test_main.c?rev=1889133=1889132=1889133=diff
==
--- subversion/trunk/subversion/tests/svn_test_main.c (original)
+++ subversion/trunk/subversion/tests/svn_test_main.c Fri Apr 23 17:50:11 2021
@@ -1089,9 +1089,9 @@ svn_test_main(int argc, const char *argv
   svn_pool_clear(cleanup_pool);
 }
 }
-#if APR_HAS_THREADS
   else
 {
+#if APR_HAS_THREADS
   got_error = do_tests_concurrently(opts.prog_name, test_funcs,
 array_size, max_threads,
 , test_pool);
@@ -1099,8 +1099,11 @@ svn_test_main(int argc, const char *argv
   /* Execute all cleanups */
   svn_pool_clear(test_pool);
   svn_pool_clear(cleanup_pool);
-}
+#else
+  /* Can't happen */
+  SVN_ERR_MALFUNCTION();
 #endif
+}
 }
 
   /* Clean up APR */




svn commit: r1888533 - /subversion/trunk/subversion/libsvn_subr/task.c

2021-04-08 Thread danielsh
Author: danielsh
Date: Thu Apr  8 19:41:44 2021
New Revision: 1888533

URL: http://svn.apache.org/viewvc?rev=1888533=rev
Log:
* subversion/libsvn_subr/task.c: Spelling and other cosmetic changes.

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

Modified: subversion/trunk/subversion/libsvn_subr/task.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/task.c?rev=1888533=1888532=1888533=diff
==
--- subversion/trunk/subversion/libsvn_subr/task.c (original)
+++ subversion/trunk/subversion/libsvn_subr/task.c Thu Apr  8 19:41:44 2021
@@ -27,9 +27,10 @@
 #include "private/svn_atomic.h"
 #include "private/svn_thread_cond.h"
 
+
 /* Top of the task tree.
  *
- * It is accessible from all tasks and contains all necessary ressource
+ * It is accessible from all tasks and contains all necessary resource
  * pools and synchronization mechanisms.
  */
 typedef struct root_t
@@ -49,7 +50,7 @@ typedef struct root_t
 
   /* Allocate per-task parameters (process_baton) from sub-pools of this.
* They should be cleaned up as soon as the respective task has been
-   * has been processed (the parameters will not be needed anymore).
+   * processed (the parameters will not be needed anymore).
*/
   apr_pool_t *process_pool;
 
@@ -72,7 +73,7 @@ typedef struct output_t
 {
   /* (Last part of the) output produced by the task.
* If the task has sub-tasks, additional output (produced before creating
-   * the sub-task) may be found in the respective sub-tasks
+   * each sub-task) may be found in the respective sub-task's
* PRIOR_PARENT_OUTPUT.  NULL, if no output was produced.
*/
   void *output;
@@ -80,11 +81,11 @@ typedef struct output_t
   /* Error code returned by the proccessing function. */
   svn_error_t *error;
 
-  /* Parent tasks output before this task has been created, i.e. the part
-   * that shall be passed to the output function before this tasks' output.
+  /* Parent task's output before this task has been created, i.e. the part
+   * that shall be passed to the output function before this task's output.
* NULL, if there is no prior parent output.
*
-   * This has to be allocated in the parant's OUTPUT->POOL.
+   * This has to be allocated in the parent's OUTPUT->POOL.
*/
   void *prior_parent_output;
 
@@ -93,7 +94,7 @@ typedef struct output_t
* of those sub-tasks but have been allocated in (their parent's) POOL.
*
* This flag indicates if such partial results exist.  POOL must not be
-   * destroyed in that case, until all sub-tasks outputs have been handled.
+   * destroyed in that case, until all sub-tasks' outputs have been handled.
*/
   svn_boolean_t has_partial_results;
 
@@ -165,10 +166,10 @@ struct svn_task__t
 
   /* The first task, in pre-order, of this sub-tree whose processing has not
* been started yet.  This will be NULL, iff for all tasks in this sub-tree,
-   * processing has at least been started.  If *this==FIRST_READY, this task
+   * processing has at least been started.  If this==FIRST_READY, this task
* itself waits for being proccessed.
*
-   * Note that immediate and / or indirect sub-tasks may already have been
+   * Note that immediate and/or indirect sub-tasks may already have been
* processed before this one.
*/
   svn_task__t *first_ready;
@@ -476,7 +477,7 @@ static void set_processed(svn_task__t *t
  * Pending sub-tasks will be ignored. */
 static svn_boolean_t is_processed(const svn_task__t *task)
 {
-  return task->process_pool == NULL;
+  return (task->process_pool == NULL);
 }
 
 /* Process a single TASK within the given THREAD_CONTEXT.  It may add
@@ -563,8 +564,8 @@ static svn_error_t *output_processed(
 
   /* We will handle this sub-task in the next iteration but we
* may have to process results produced before or in between
-   * sub-tasks.  Also note that PRIOR_PARENT_OUTPUT will only be
-   * set, of the OUTPUT_FUNC is not NULL. */
+   * sub-tasks.  Also note that PRIOR_PARENT_OUTPUT being true
+   * implies that OUTPUT_FUNC is not NULL. */
   if (output && output->prior_parent_output)
 SVN_ERR(callbacks->output_func(
 current->parent, output->prior_parent_output,




svn commit: r1888532 - /subversion/trunk/subversion/libsvn_subr/task.c

2021-04-08 Thread danielsh
Author: danielsh
Date: Thu Apr  8 19:34:49 2021
New Revision: 1888532

URL: http://svn.apache.org/viewvc?rev=1888532=rev
Log:
* subversion/libsvn_subr/task.c: Add one more formfeed.

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

Modified: subversion/trunk/subversion/libsvn_subr/task.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/task.c?rev=1888532=1888531=1888532=diff
==
--- subversion/trunk/subversion/libsvn_subr/task.c (original)
+++ subversion/trunk/subversion/libsvn_subr/task.c Thu Apr  8 19:34:49 2021
@@ -197,6 +197,7 @@ struct svn_task__t
   output_t *output;
 };
 
+
 /* Adding tasks to the tree. */
 
 /* Return the index of the first immediate sub-task of TASK with a ready




svn commit: r1888531 - /subversion/trunk/subversion/libsvn_subr/task.c

2021-04-08 Thread danielsh
Author: danielsh
Date: Thu Apr  8 19:24:07 2021
New Revision: 1888531

URL: http://svn.apache.org/viewvc?rev=1888531=rev
Log:
* subversion/libsvn_subr/task.c: Add form feed section breaks.

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

Modified: subversion/trunk/subversion/libsvn_subr/task.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/task.c?rev=1888531=1888530=1888531=diff
==
--- subversion/trunk/subversion/libsvn_subr/task.c (original)
+++ subversion/trunk/subversion/libsvn_subr/task.c Thu Apr  8 19:24:07 2021
@@ -359,6 +359,7 @@ apr_pool_t *svn_task__create_process_poo
   return svn_pool_create(parent->root->process_pool);
 }
 
+
 /* Removing tasks from the tree */
 
 /* Remove TASK from the parent tree.
@@ -401,6 +402,7 @@ static void free_sub_tasks(svn_task__t *
 task->parent->first_sub = task->next;
 }
 
+
 /* Picking the next task to process */
 
 /* Utility function that follows the chain of siblings and returns the first
@@ -459,6 +461,7 @@ static void unready_task(svn_task__t *ta
 }
 }
 
+
 /* Task processing and outputting results */
 
 /* The forground output_processed() function will now consider TASK's
@@ -617,6 +620,7 @@ static svn_error_t *output_processed(
   return SVN_NO_ERROR;
 }
 
+
 /* Execution models */
 
 /* Run the (root) TASK to completion, including dynamically added sub-tasks.
@@ -673,6 +677,7 @@ static svn_error_t *execute_serially(
   return svn_error_trace(task_err);
 }
 
+
 /* Root data structure */
 
 svn_error_t *svn_task__run(




svn commit: r1888486 - /subversion/branches/1.14.x/STATUS

2021-04-07 Thread danielsh
Author: danielsh
Date: Wed Apr  7 20:05:44 2021
New Revision: 1888486

URL: http://svn.apache.org/viewvc?rev=1888486=rev
Log:
* STATUS: Edit the r1888474 entry.

Modified:
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1888486=1888485=1888486=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Wed Apr  7 20:05:44 2021
@@ -83,6 +83,10 @@ Candidate changes:
  encountered in real life.
Votes:
  +1: julianfoad
+  0: danielsh (concerned about introducing a hard error in a patch release;
+  proposing downgrading the error to a warning at least for 
1.14;
+   see 
<https://mail-archives.apache.org/mod_mbox/subversion-dev/202104.mbox/%3C20210407195656.GA27545%40tarpaulin.shahaf.local2%3E>;
+  discussion is ongoing, hence the non-vote)
 
 Veto-blocked changes:
 =




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

2021-04-02 Thread danielsh
Author: danielsh
Date: Sat Apr  3 02:14:40 2021
New Revision: 1888323

URL: http://svn.apache.org/viewvc?rev=1888323=rev
Log:
* mailing-lists.html: Link to mail-archive.com's archives.

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=1888323=1888322=1888323=diff
==
--- subversion/site/publish/mailing-lists.html (original)
+++ subversion/site/publish/mailing-lists.html Sat Apr  3 02:14:40 2021
@@ -160,6 +160,8 @@ delay for your post to appear (see below
   >svn.haxx.se (archives up to December 2020, no longer 
updated)
   news.gmane.org (NNTP/SSL)
+  https://www.mail-archive.com/users@subversion.apache.org/;
+  >mail-archive.com (searchable)
   
 
 
@@ -222,6 +224,8 @@ delay for your post to appear (see below
   >svn.haxx.se (archives up to December 2020, no longer 
updated)
   news.gmane.org (NNTP/SSL)
+  https://www.mail-archive.com/dev@subversion.apache.org/;
+  >mail-archive.com (searchable)
   
 
 
@@ -260,6 +264,8 @@ delay for your post to appear (see below
   >mail-archives.apache.org
   https://lists.apache.org/list.html?commits@subversion.apache.org;
   >lists.apache.org (searchable)
+  https://www.mail-archive.com/commits@subversion.apache.org/;
+  >mail-archive.com (searchable)
   
 
 
@@ -300,6 +306,8 @@ delay for your post to appear (see below
   >mail-archives.apache.org
   https://lists.apache.org/list.html?annou...@subversion.apache.org;
   >lists.apache.org (searchable)
+  https://www.mail-archive.com/announce@subversion.apache.org/;
+  >mail-archive.com (searchable)
   
 
 
@@ -349,6 +357,8 @@ delay for your post to appear (see below
   >mail-archives.apache.org
   https://lists.apache.org/list.html?notificati...@subversion.apache.org;
   >lists.apache.org (searchable)
+  https://www.mail-archive.com/notifications@subversion.apache.org/;
+  >mail-archive.com (searchable)
   
 
 




svn commit: r1888183 - /subversion/site/publish/docs/release-notes/1.9.html

2021-03-29 Thread danielsh
Author: danielsh
Date: Mon Mar 29 19:10:01 2021
New Revision: 1888183

URL: http://svn.apache.org/viewvc?rev=1888183=rev
Log:
* docs/release-notes/1.9.html
  (#three-way-conflict-markers): Document an alternative way of resolving
conflicts using diff3 conflict markers.

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

Modified: subversion/site/publish/docs/release-notes/1.9.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/release-notes/1.9.html?rev=1888183=1888182=1888183=diff
==
--- subversion/site/publish/docs/release-notes/1.9.html (original)
+++ subversion/site/publish/docs/release-notes/1.9.html Mon Mar 29 19:10:01 2021
@@ -1237,6 +1237,11 @@ For example, the following conflict:
Unconflicted lines
 
 
+Tip: Manually applying to the 
+ hunk the changes that would transform
+the ||| hunk into the  hunk
+is equivalent, and in real-life conflicts is sometimes easier.
+
 The three-way conflict display was already used by property conflicts and
 by the interactive conflicts resolver in previous releases of Subversion.
 




svn commit: r1886201 - /subversion/trunk/CHANGES

2021-02-04 Thread danielsh
Author: danielsh
Date: Thu Feb  4 13:11:53 2021
New Revision: 1886201

URL: http://svn.apache.org/viewvc?rev=1886201=rev
Log:
* CHANGES (1.14.1): Fix typo.

Modified:
subversion/trunk/CHANGES

Modified: subversion/trunk/CHANGES
URL: 
http://svn.apache.org/viewvc/subversion/trunk/CHANGES?rev=1886201=1886200=1886201=diff
==
--- subversion/trunk/CHANGES (original)
+++ subversion/trunk/CHANGES Thu Feb  4 13:11:53 2021
@@ -48,7 +48,7 @@ Version 1.14.1
 * Fix crash in JavaHL JNI wrapper caused by object lifetimes (r1880886)
 * autogen.sh: Remove .swig_*_checked files from release tarballs (r1878413)
 * Avoid version check for Python if --without-swig is used (r1876662)
-* siwg-py: Fix a syntax error for Python 3.6 and later (r1885112)
+* swig-py: Fix a syntax error for Python 3.6 and later (r1885112)
 * Fix several crashes and JNI warnings in javahl TunnelAgent (r1886029)
 
 Version 1.14.0




svn commit: r1886154 - /subversion/trunk/tools/dev/contribulyze.py

2021-02-03 Thread danielsh
Author: danielsh
Date: Wed Feb  3 11:56:10 2021
New Revision: 1886154

URL: http://svn.apache.org/viewvc?rev=1886154=rev
Log:
* tools/dev/contribulyze.py
  (drop): Sort the resulting list in descending order, as it used to be sorted.

Modified:
subversion/trunk/tools/dev/contribulyze.py

Modified: subversion/trunk/tools/dev/contribulyze.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/dev/contribulyze.py?rev=1886154=1886153=1886154=diff
==
--- subversion/trunk/tools/dev/contribulyze.py (original)
+++ subversion/trunk/tools/dev/contribulyze.py Wed Feb  3 11:56:10 2021
@@ -669,7 +669,8 @@ def drop(revision_url_pattern):
   # the top -- that way we know whom to look at first for commit access
   # proposals.
   sorted_contributors = sorted(Contributor.all_contributors.values(),
-   key = Contributor.sort_key)
+   key=Contributor.sort_key,
+   reverse=True)
   for c in sorted_contributors:
 if c not in seen_contributors:
   if c.score() > 0:




svn commit: r1886153 - /subversion/trunk/tools/dev/contribulyze.py

2021-02-03 Thread danielsh
Author: danielsh
Date: Wed Feb  3 11:51:58 2021
New Revision: 1886153

URL: http://svn.apache.org/viewvc?rev=1886153=rev
Log:
* tools/dev/contribulyze.py
  (process_committers): Elide 'svn-role' from the output, like full committers
are elided.

Modified:
subversion/trunk/tools/dev/contribulyze.py

Modified: subversion/trunk/tools/dev/contribulyze.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/dev/contribulyze.py?rev=1886153=1886152=1886153=diff
==
--- subversion/trunk/tools/dev/contribulyze.py (original)
+++ subversion/trunk/tools/dev/contribulyze.py Wed Feb  3 11:51:58 2021
@@ -721,6 +721,9 @@ def process_committers(committers):
   c.is_committer = True
   c.is_full_committer = in_full_committers
 line = committers.readline()
+  svn_role = Contributor.parse('svn-role ')
+  Contributor.get(*svn_role).is_committer = True 
+  Contributor.get(*svn_role).is_full_committer = True # elide it from the 
listing
 
 
 def usage():




svn commit: r1885990 - /subversion/branches/1.14.x/STATUS

2021-01-28 Thread danielsh
Author: danielsh
Date: Thu Jan 28 18:36:56 2021
New Revision: 1885990

URL: http://svn.apache.org/viewvc?rev=1885990=rev
Log:
* STATUS: Add a cross-reference from the original r1881534 nomination to the 
replacement one.

Modified:
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1885990=1885989=1885990=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Thu Jan 28 18:36:56 2021
@@ -72,6 +72,8 @@ Veto-blocked changes:
Fix issue #4864 "build/ac-macros/macosx.m4: workaround AC_RUN_IFELSE"
Justification:
  Unblocks cross-compiling SVN.
+   Notes:
+ Replacement nomination above (the 1.14.x-r1881534-no-crlf branch)
Votes:
  +1: hartmannathan
  -1: brane (contains CRLF line endings, needs svn:eol-style + fixup)




svn commit: r1882791 - /subversion/branches/1.14.x/STATUS

2020-10-23 Thread danielsh
Author: danielsh
Date: Fri Oct 23 22:27:33 2020
New Revision: 1882791

URL: http://svn.apache.org/viewvc?rev=1882791=rev
Log:
* STATUS
  (r1877310): Demote my vote to match reviews done.
  (*): Copyedit my votes.  (Thanks for adding them, Nathan.)

Modified:
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1882791=1882790=1882791=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Fri Oct 23 22:27:33 2020
@@ -88,23 +88,24 @@ Candidate changes:
  +1: hartmannathan
 
  * r1875675
-   Rewrite load_normalize_node_props to avoid literal trailing spaces
+   Rewrite load_normalize_node_props to avoid literal trailing spaces.
Justification:
- Prevents bug fixed in r1875620 from recurring.
+ Prevents the bug fixed in r1875620 from recurring.
Votes:
  +1: danielsh
 
  * r1877310
-   Add test for issue #4711 "invalid xml file by svn log --xml
-   -> --verbose --use-merge-history --search".
+   Add a test for issue #4711 "invalid xml file produced by svn log --xml
+   --verbose --use-merge-history --search".
Justification:
+ Increase test coverage.
Votes:
- +1: danielsh (with appropriate Skip()/XFail() annotations if needed)
+ +0: danielsh (with appropriate Skip()/XFail() annotations if needed)
 
  * r1877794
-   Use Doxygen comment leader for comments with doxygen syntax
+   Use Doxygen comment leader for comments with doxygen syntax.
Justification:
- Improve $EDITOR's syntax highlighting
+ Improve $EDITOR's syntax highlighting.
Votes:
  +0: danielsh
 




svn commit: r1880463 - /subversion/branches/1.14.x/STATUS

2020-07-30 Thread danielsh
Author: danielsh
Date: Fri Jul 31 02:30:40 2020
New Revision: 1880463

URL: http://svn.apache.org/viewvc?rev=1880463=rev
Log:
* STATUS: Edit an entry in such a way as to avoid triggering
a backport.pl syntax error.
.
This should allow this entry to be auto-merged later tonight.

The error is [copied from the conflicts bot, but the merges bot should be
seeing it too]:

Too many bullets in  * r1877960 at ./.svn/backport.pl line 1215,  
chunk 11.

Modified:
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1880463=1880462=1880463=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Fri Jul 31 02:30:40 2020
@@ -48,8 +48,8 @@ Approved changes:
 =
 
  * r1877960
-   * INSTALL (I.C.12): Add Note that non-release mode is required for building
- SWIG Python 2 bindings.
+   INSTALL (I.C.12): Add Note that non-release mode is required for building
+   SWIG Python 2 bindings.
Justification:
  We've not entirely dropped Python 2 bindings support on 1.14.x yet
Votes:




svn commit: r1880462 - /subversion/branches/1.14.x/STATUS

2020-07-30 Thread danielsh
Author: danielsh
Date: Fri Jul 31 01:46:02 2020
New Revision: 1880462

URL: http://svn.apache.org/viewvc?rev=1880462=rev
Log:
* STATUS: Nominate the fsfs part of r1880374.

Modified:
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1880462=1880461=1880462=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Fri Jul 31 01:46:02 2020
@@ -32,6 +32,15 @@ Candidate changes:
Votes:
  +1: julianfoad, hartmannathan
 
+ * r1880374:subversion/libsvn_fs_fs
+   Fix an uninitialized read in svn_fs_fs__index_append().
+   Justification:
+ Uninitialized reads are potentially undefined behaviour.
+   Branch:
+ 1.14.x-r1880374-fsfs
+   Votes:
+ +1: danielsh, hartmannathan
+
 Veto-blocked changes:
 =
 




svn commit: r1880460 - in /subversion/branches/1.14.x-r1880374-fsfs/subversion/libsvn_fs_fs: ./ index.c

2020-07-30 Thread danielsh
Author: danielsh
Date: Fri Jul 31 00:36:33 2020
New Revision: 1880460

URL: http://svn.apache.org/viewvc?rev=1880460=rev
Log:
On the 1.14.x-r1880374-fsfs branch:

Merge the subversion/libsvn_fs_fs part of r1880374 from trunk.

Modified:
subversion/branches/1.14.x-r1880374-fsfs/subversion/libsvn_fs_fs/   (props 
changed)
subversion/branches/1.14.x-r1880374-fsfs/subversion/libsvn_fs_fs/index.c

Propchange: subversion/branches/1.14.x-r1880374-fsfs/subversion/libsvn_fs_fs/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Jul 31 00:36:33 2020
@@ -0,0 +1,107 @@
+/subversion/branches/1.10-cache-improvements/subversion/libsvn_fs_fs:1669168-1694487
+/subversion/branches/1.11.x/subversion/libsvn_fs_fs:1841316,1841548
+/subversion/branches/1.5.x-r30215/subversion/libsvn_fs_fs:870312
+/subversion/branches/1.7.x-fs-verify/subversion/libsvn_fs_fs:1146708,1161180
+/subversion/branches/1.9-cache-improvements/subversion/libsvn_fs_fs:1678948-1679863
+/subversion/branches/1.9.x/subversion/libsvn_fs_fs:1735680
+/subversion/branches/10Gb/subversion/libsvn_fs_fs: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/subversion/libsvn_fs_fs:965046-1000689
+/subversion/branches/authzperf/subversion/libsvn_fs_fs:1613053-1776831
+/subversion/branches/auto-props-sdc/subversion/libsvn_fs_fs:1384106-1401643
+/subversion/branches/bdb-reverse-deltas/subversion/libsvn_fs_fs:872050-872529
+/subversion/branches/cache-server/subversion/libsvn_fs_fs:1458643-1476567
+/subversion/branches/decouple-shelving-cli/subversion/libsvn_fs_fs:1874630-1875035
+/subversion/branches/diff-callbacks3/subversion/libsvn_fs_fs:870059-870761
+/subversion/branches/diff-optimizations/subversion/libsvn_fs_fs:1031270-1037352
+/subversion/branches/diff-optimizations-bytes/subversion/libsvn_fs_fs:1037353-1067789
+/subversion/branches/dont-save-plaintext-passwords-by-default/subversion/libsvn_fs_fs:870728-871118
+/subversion/branches/double-delete/subversion/libsvn_fs_fs:870511-872970
+/subversion/branches/dump-load-cross-check/subversion/libsvn_fs_fs:1654853-1657295
+/subversion/branches/ev2-export/subversion/libsvn_fs_fs:1325914,1332738,1413107
+/subversion/branches/explore-wc/subversion/libsvn_fs_fs: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/subversion/libsvn_fs_fs:871779-873302
+/subversion/branches/fs-rep-sharing/subversion/libsvn_fs_fs:869036-873803
+/subversion/branches/fsfs-format7/subversion/libsvn_fs_fs:1426304,1430673,1433848,1438408,1438982,1441129,1442051,1442068,1442504,1442910,1443171,1443803,1444690,1444693,1444695,1445040,1445080,1446103,1451129,1453590,1454307,1460579,1461851,1461865,1462837,1462904,1463120,1467362,1467382,1469487,1471208,1477166,1478055,1481447,1489817,1489949,1490673-1490674,1491784,1493042,1498029,1498103,1498155,1500054,1507729-1507731,1507735-1507736
+/subversion/branches/fsfs-improvements/subversion/libsvn_fs_fs:1499981-1547039
+/subversion/branches/fsfs-lock-many/subversion/libsvn_fs_fs:1571740-1577217
+/subversion/branches/fsfs-pack/subversion/libsvn_fs_fs:873717-874575
+/subversion/branches/fsx/subversion/libsvn_fs_fs:1507845-1509914
+/subversion/branches/fsx-1.10/subversion/libsvn_fs_fs:1658219-1694500
+/subversion/branches/fsx-id/subversion/libsvn_fs_fs:1645603-1649011
+/subversion/branches/gnome-keyring/subversion/libsvn_fs_fs:870558-871410
+/subversion/branches/gpg-agent-password-store/subversion/libsvn_fs_fs:1005036-1150766
+/subversion/branches/gtest_addition/subversion/libsvn_fs_fs:1452117-1502138
+/subversion/branches/http-protocol-v2/subversion/libsvn_fs_fs:874395-876041
+/subversion/branches/in-memory-cache/subversion/libsvn_fs_fs:869829-871452
+/subversion/branches/in-repo-authz/subversion/libsvn_fs_fs:1414342-1424779
+/subversion/branches/inheritable-props/subversion/libsvn_fs_fs:1297080-1395089
+/subversion/branches/integrate-cache-item-serialization/subversion/libsvn_fs_fs:1068724-1068739
+/subversion/branches/integrate-cache-membuffer/subversion/libsvn_fs_fs:998649-998852
+/subversion/branches/integrate-compression-level/subversion/libsvn_fs_fs:1068651-1072287
+/subversion/branches/integrate-io-improvements/subversion/libsvn_fs_fs:1068684-1072297
+/subversion/branches/integrate-is-cachable/subversion/libsvn_fs_fs:1072568-1074082
+/subversion/branches

svn commit: r1880459 - /subversion/branches/1.14.x-r1880374-fsfs/

2020-07-30 Thread danielsh
Author: danielsh
Date: Fri Jul 31 00:34:55 2020
New Revision: 1880459

URL: http://svn.apache.org/viewvc?rev=1880459=rev
Log:
Create the 1.14.x-r1880374-fsfs backport branch.

Added:
subversion/branches/1.14.x-r1880374-fsfs/   (props changed)
  - copied from r1880458, subversion/branches/1.14.x/

Propchange: subversion/branches/1.14.x-r1880374-fsfs/
--
--- svn:auto-props (added)
+++ svn:auto-props Fri Jul 31 00:34:55 2020
@@ -0,0 +1,13 @@
+*.c = svn:eol-style=native
+*.cpp = svn:eol-style=native
+*.h = svn:eol-style=native
+*.hpp = svn:eol-style=native
+*.java = svn:eol-style=native
+*.py = svn:eol-style=native
+*.pl = svn:eol-style=native
+*.rb = svn:eol-style=native
+*.sql = svn:eol-style=native
+*.txt = svn:eol-style=native
+README = svn:eol-style=native
+BRANCH-README = svn:eol-style=native
+STATUS = svn:eol-style=native

Propchange: subversion/branches/1.14.x-r1880374-fsfs/
--
--- svn:ignore (added)
+++ svn:ignore Fri Jul 31 00:34:55 2020
@@ -0,0 +1,58 @@
+ChangeLog*
+Makefile
+config.cache
+config.log
+config.nice
+config.status
+configure
+libtool
+.gdb_history
+.swig_checked
+*.orig
+*.rej
+TAGS
+tags
+neon
+build-outputs.mk
+autogen-standalone.mk
+autom4te.cache
+gen-make.opts
+tests.log*
+fails.log*
+db4-win32
+db
+*.o
+*~
+.*~
+apr
+apr-util
+apr-iconv
+Release
+Debug
+ipch
+subversion_msvc.dsw
+subversion_msvc.ncb
+subversion_msvc.opt
+subversion_msvc.plg
+subversion_vcnet.*
+mkmf.log
+.project
+.classpath
+.cdtproject
+.settings
+.cproject
+py3c
+zlib
+sqlite-amalgamation
+serf
+googlemock
+.git
+.gitignore
+.idea
+compile_commands.json
+.kdev4
+*.kdev4
+.vs
+.swig_pl_checked
+.swig_py_checked
+.swig_rb_checked

Propchange: subversion/branches/1.14.x-r1880374-fsfs/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Jul 31 00:34:55 2020
@@ -0,0 +1,107 @@
+/subversion/branches/1.10-cache-improvements:1669168-1694487
+/subversion/branches/1.11.x:1841316,1841548
+/subversion/branches/1.5.x-r30215:870312
+/subversion/branches/1.7.x-fs-verify:1146708,1161180
+/subversion/branches/1.9-cache-improvements:1678948-1679863
+/subversion/branches/1.9.x:1735680
+/subversion/branches/10Gb:1388102,1388163-1388190,1388195,1388202,1388205,1388211,1388276,1388362,1388375,1388394,1388636,1388639-1388640,1388643-1388644,1388654,1388720,1388789,1388795,1388801,1388805,1388807,1388810,1388816,1389044,1389276,1389289,1389662,1389867,1390017,1390209,1390216,1390407,1390409,1390414,1390419,1390955
+/subversion/branches/atomic-revprop:965046-1000689
+/subversion/branches/authzperf:1613053-1776831
+/subversion/branches/auto-props-sdc:1384106-1401643
+/subversion/branches/bdb-reverse-deltas:872050-872529
+/subversion/branches/cache-server:1458643-1476567
+/subversion/branches/decouple-shelving-cli:1874630-1875035
+/subversion/branches/diff-callbacks3:870059-870761
+/subversion/branches/diff-optimizations:1031270-1037352
+/subversion/branches/diff-optimizations-bytes:1037353-1067789
+/subversion/branches/dont-save-plaintext-passwords-by-default:870728-871118
+/subversion/branches/double-delete:870511-872970
+/subversion/branches/dump-load-cross-check:1654853-1657295
+/subversion/branches/ev2-export:1325914,1332738,1413107
+/subversion/branches/explore-wc:875486,875493,875497,875507,875511,875514,875559,875580-875581,875584,875587,875611,875627,875647,875667-875668,875711-875712,875733-875734,875736,875744-875748,875751,875758,875782,875795-875796,875830,875836,875838,875842,875852,875855,875864,875870,875873,875880,875885-875888,875890,875897-875898,875905,875907-875909,875935,875943-875944,875946,875979,875982-875983,875985-875986,875990,875997
+/subversion/branches/file-externals:871779-873302
+/subversion/branches/fs-rep-sharing:869036-873803
+/subversion/branches/fsfs-format7:1426304,1430673,1433848,1438408,1438982,1441129,1442051,1442068,1442504,1442910,1443171,1443803,1444690,1444693,1444695,1445040,1445080,1446103,1451129,1453590,1454307,1460579,1461851,1461865,1462837,1462904,1463120,1467362,1467382,1469487,1471208,1477166,1478055,1481447,1489817,1489949,1490673-1490674,1491784,1493042,1498029,1498103,1498155,1500054,1507729-1507731,1507735-1507736
+/subversion/branches/fsfs-improvements:1499981-1547039
+/subversion/branches/fsfs-lock-many:1571740-1577217
+/subversion/branches/fsfs-pack:873717-874575
+/subversion/branches/fsx:1507845-1509914
+/subversion/branches/fsx-1.10:1658219-1694500
+/subversion/branches/fsx-id:1645603-1649011
+/subversion/branches/gnome-keyring:870558-871410
+/subversion/branches/gpg-agent-password-store:1005036-1150766
+/subversion/branches/gtest_addition:1452117-1502138
+/subversion/branches/http-protocol-v2:874395-876041
+/subversion/branches/in-memory-cache:869829-871452
+/subversion/branches/in-repo-authz:1414342-1424779
+/subversion/branches/inheritable

svn commit: r1879244 - /subversion/site/publish/docs/community-guide/releasing.part.html

2020-06-26 Thread danielsh
Author: danielsh
Date: Fri Jun 26 15:55:02 2020
New Revision: 1879244

URL: http://svn.apache.org/viewvc?rev=1879244=rev
Log:
* docs/community-guide/releasing.part.html
  (#releasing-announce): Add a step to update the "Status of this branch"
comments at the top of STATUS files.

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

Modified: subversion/site/publish/docs/community-guide/releasing.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/community-guide/releasing.part.html?rev=1879244=1879243=1879244=diff
==
--- subversion/site/publish/docs/community-guide/releasing.part.html (original)
+++ subversion/site/publish/docs/community-guide/releasing.part.html Fri Jun 26 
15:55:02 2020
@@ -1315,7 +1315,13 @@ be contacted via the announce-owner@ han
 Update the topics in various Subversion-related IRC channels, such as
 #svn and #svn-dev on freenode.
 
- 
+If this is an X.Y.0 release, update the community support level at the very
+top of the STATUS files of any branches that have changed support
+status.  This would usually be X.Y.x/STATUS,
+X.$((Y-1)).x/STATUS, and if the new release is an LTS release, then
+the oldest supported LTS branch's STATUS file as well.
+
+ 
 
 
 Update the website




svn commit: r1879238 - in /subversion/branches: 1.10.x/STATUS 1.14.x/STATUS

2020-06-26 Thread danielsh
Author: danielsh
Date: Fri Jun 26 13:31:27 2020
New Revision: 1879238

URL: http://svn.apache.org/viewvc?rev=1879238=rev
Log:
* 1.10.x/STATUS (r1879198),
  1.14.x/STATUS (r1879198): Merge two nominations of the same revision.

Modified:
subversion/branches/1.10.x/STATUS
subversion/branches/1.14.x/STATUS

Modified: subversion/branches/1.10.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.10.x/STATUS?rev=1879238=1879237=1879238=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Fri Jun 26 13:31:27 2020
@@ -64,20 +64,13 @@ Candidate changes:
Fix an invalid quoting in working copy upgrade system that only works
because SQLite automatically fixed this. More recent SQLite functions
will signal an error when deprecated features are disabled.
+   Justification:
+ Causes user-visible errors.
Note:
  This filechange by itself doesn't trigger a change that make will
  handle. So make sure you recompile the sql queries for testing.
Votes:
- +1: rhuijben
-
- * r1879198
-   Fix invalid escape sequence in working copy queries which causes upgrades
-   from Subversion 1.7 working copies to fail with recent SQLite versions (>=
-   3.29.0).
-   Justification:
- Causes user-visible errors.
-   Votes:
- +1: danielsh
+ +1: rhuijben, danielsh
 
 Veto-blocked changes:
 =

Modified: subversion/branches/1.14.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1879238=1879237=1879238=diff
==
--- subversion/branches/1.14.x/STATUS (original)
+++ subversion/branches/1.14.x/STATUS Fri Jun 26 13:31:27 2020
@@ -66,20 +66,13 @@ Candidate changes:
Fix an invalid quoting in working copy upgrade system that only works
because SQLite automatically fixed this. More recent SQLite functions
will signal an error when deprecated features are disabled.
+   Justification:
+ Causes user-visible errors.
Note:
  This filechange by itself doesn't trigger a change that make will
  handle. So make sure you recompile the sql queries for testing.
Votes:
- +1: rhuijben
-
- * r1879198
-   Fix invalid escape sequence in working copy queries which causes upgrades
-   from Subversion 1.7 working copies to fail with recent SQLite versions (>=
-   3.29.0).
-   Justification:
- Causes user-visible errors.
-   Votes:
-     +1: danielsh
+ +1: rhuijben, danielsh
 
 Veto-blocked changes:
 =




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

2020-06-26 Thread danielsh
Author: danielsh
Date: Fri Jun 26 13:25:40 2020
New Revision: 1879237

URL: http://svn.apache.org/viewvc?rev=1879237=rev
Log:
* STATUS: Nominate r1879198.

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=1879237=1879236=1879237=diff
==
--- subversion/branches/1.10.x/STATUS (original)
+++ subversion/branches/1.10.x/STATUS Fri Jun 26 13:25:40 2020
@@ -70,6 +70,15 @@ Candidate changes:
Votes:
  +1: rhuijben
 
+ * r1879198
+   Fix invalid escape sequence in working copy queries which causes upgrades
+   from Subversion 1.7 working copies to fail with recent SQLite versions (>=
+   3.29.0).
+   Justification:
+ Causes user-visible errors.
+   Votes:
+ +1: danielsh
+
 Veto-blocked changes:
 =
 




  1   2   3   4   5   6   7   8   9   10   >