svn propchange: r1905107 - svn:log
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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/
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
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
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
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: =