svn commit: r1864300 - /subversion/site/publish/upcoming.part.html

2019-08-02 Thread svn-role
Author: svn-role
Date: Sat Aug  3 04:15:02 2019
New Revision: 1864300

URL: http://svn.apache.org/viewvc?rev=1864300=rev
Log:
* upcoming.part.html: Automatically regenerated

Modified:
subversion/site/publish/upcoming.part.html

Modified: subversion/site/publish/upcoming.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/upcoming.part.html?rev=1864300=1864299=1864300=diff
==
--- subversion/site/publish/upcoming.part.html (original)
+++ subversion/site/publish/upcoming.part.html Sat Aug  3 04:15:02 2019
@@ -2,113 +2,6 @@
 
 Changes in ^/subversion/branches/1.12.x:
 
-https://svn.apache.org/r1860377;>r1860377 | svn-role | 2019-05-30 
04:00:08 + (Thu, 30 May 2019) | 11 lines
-
-Merge https://svn.apache.org/r1857391;>r1857391 from trunk:
-
- * https://svn.apache.org/r1857391;>r1857391
-   Fix build with APR 1.7.0.
-   Justification:
- Bogus configure script check relies on APR internals.
- See https://svn.haxx.se/users/archive-2019-04/0041.shtml
- and https://svn.haxx.se/dev/archive-2019-04/0020.shtml
-   Votes:
- +1: stsp, rhuijben (bindings change so 2+1s is enough)
-
-
-https://svn.apache.org/r1863267;>r1863267 | julianfoad | 
2019-07-18 10:11:00 + (Thu, 18 Jul 2019) | 4 lines
-
-On 1.12.x branch: Backport https://svn.apache.org/r1863262;>r1863262 (Do not print password to 
screen in
-svn_load_dirs.pl). A contrib script, so backported without voting.
-This commit adds the missing mergeinfo.
-
-https://svn.apache.org/r1863285;>r1863285 | julianfoad | 
2019-07-18 13:36:09 + (Thu, 18 Jul 2019) | 11 lines
-
-Merge https://svn.apache.org/r1855419;>r1855419 from trunk:
-
- * https://svn.apache.org/r1855419;>r1855419
-   Fix conflict resolver bug where local and incoming edits got swapped.
-   Justification:
- Bug breaks text conflict resolution.
- User complained: https://svn.haxx.se/dev/archive-2019-03/0012.shtml
-   Votes:
- +1: stsp
- +0: rhuijben
-
-
-https://svn.apache.org/r1863286;>r1863286 | julianfoad | 
2019-07-18 13:36:17 + (Thu, 18 Jul 2019) | 9 lines
-
-Merge https://svn.apache.org/r1856397;>r1856397 from trunk:
-
- * https://svn.apache.org/r1856397;>r1856397
-   Allow generating Visual Studio 2019 projects
-   Justification:
- Makes it easier to build Subversion on Windows. Simple local fix.
-   Votes:
- +1: rhuijben
-
-
-https://svn.apache.org/r1863287;>r1863287 | julianfoad | 
2019-07-18 13:36:24 + (Thu, 18 Jul 2019) | 9 lines
-
-Merge https://svn.apache.org/r1857367;>r1857367 from trunk:
-
- * https://svn.apache.org/r1857367;>r1857367
-Fix memory lifetime problem in a libsvn_wc error code path.
-Justification:
-  Edge-case crash. Subversion should not crash.
-Votes:
-  +1: stsp, rhuijben
-
-
-https://svn.apache.org/r1863288;>r1863288 | julianfoad | 
2019-07-18 13:36:36 + (Thu, 18 Jul 2019) | 16 lines
-
-Merge the https://svn.apache.org/r1860175;>r1860175 group from 
trunk:
-
- * https://svn.apache.org/r1860175;>r1860175,https://svn.apache.org/r1860186;>r1860186,https://svn.apache.org/r1860187;>r1860187,https://svn.apache.org/r1860188;>r1860188
-   Fix building Subversion with Visual Studio 2005 and 2008.
-   Justification:
- A change in 1.12 accidentally introduced a macro escaping issue
- which broke compilation with these older versions of VC++.
-   Notes:
- Should have been a simple patch. But lack of this version on my
- development machine made things harder.
- (I dont see a problem with dropping VS200 2008 support with
-  a future Subversion version, but then we should provide better
-  documentation on that change.)
-   Votes:
- +1: rhuijben
-
-
-https://svn.apache.org/r1863289;>r1863289 | julianfoad | 
2019-07-18 13:36:46 + (Thu, 18 Jul 2019) | 15 lines
-
-Merge the https://svn.apache.org/r1859732;>r1859732 group from 
trunk:
-
- * https://svn.apache.org/r1859732;>r1859732, https://svn.apache.org/r1859734;>r1859734
-   io: Implement the functions that check for node existence using the native
-   Win32 APIs on Windows.
-   Justification:
- - This allows us to remove the hack from https://svn.apache.org/r1833621;>r1833621 and properly handle
-   reparse points on Windows irrespectively of the used APR version.
- - This improves the I/O performance by using only a single call to
-   GetFileAttributes(), which is much faster than the generic stat
-   

svn commit: r1864281 - in /subversion/site: publish/docs/release-notes/index.html publish/upcoming.part.html tools/generate-upcoming-changes-log.sh tools/upcoming.py

2019-08-02 Thread danielsh
Author: danielsh
Date: Fri Aug  2 19:29:51 2019
New Revision: 1864281

URL: http://svn.apache.org/viewvc?rev=1864281=rev
Log:
site: Auto-update the link the the current release's STATUS file to always
point to the current stable branch.

* publish/docs/release-notes/index.html
  (#upcoming-patch-release): Move a sentence from here..
* publish/upcoming.part.html: .. to here, which is automatically generated ..
* tools/generate-upcoming-changes-log.sh: .. here.
* tools/upcoming.py
  (Version.__str__): New.
  (get_reference_version): Add comment.

Modified:
subversion/site/publish/docs/release-notes/index.html
subversion/site/publish/upcoming.part.html
subversion/site/tools/generate-upcoming-changes-log.sh
subversion/site/tools/upcoming.py

Modified: subversion/site/publish/docs/release-notes/index.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/docs/release-notes/index.html?rev=1864281=1864280=1864281=diff
==
--- subversion/site/publish/docs/release-notes/index.html (original)
+++ subversion/site/publish/docs/release-notes/index.html Fri Aug  2 19:29:51 
2019
@@ -82,8 +82,6 @@ official support status for the various
 
 
 
-Further changes currently under consideration are listed in each release 
line's http://svn.apache.org/repos/asf/subversion/branches/1.12.x/STATUS;>STATUS
 file.
-
 See also http://svn.apache.org/repos/asf/subversion/trunk/CHANGES;>trunk/CHANGES,
 where all significant-enough changes will summarized for each version by the 
time it is released.
 
 The list above is generated daily by http://svn.apache.org/repos/asf/subversion/site/tools/upcoming.py;>^/subversion/site/tools/upcoming.py.
 You could find the changes queued for another release line by running that 
script in a working copy of, for example, the 1.10.x branch.

Modified: subversion/site/publish/upcoming.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/upcoming.part.html?rev=1864281=1864280=1864281=diff
==
--- subversion/site/publish/upcoming.part.html (original)
+++ subversion/site/publish/upcoming.part.html Fri Aug  2 19:29:51 2019
@@ -110,3 +110,6 @@ Merge the https://svn.apache.or
 
 
 
+
+Further changes currently under consideration are listed in each release 
line's 
+https://svn.apache.org/repos/asf/subversion/branches/1.12.x/STATUS;>STATUS
 file.

Modified: subversion/site/tools/generate-upcoming-changes-log.sh
URL: 
http://svn.apache.org/viewvc/subversion/site/tools/generate-upcoming-changes-log.sh?rev=1864281=1864280=1864281=diff
==
--- subversion/site/tools/generate-upcoming-changes-log.sh (original)
+++ subversion/site/tools/generate-upcoming-changes-log.sh Fri Aug  2 19:29:51 
2019
@@ -6,12 +6,18 @@ set -e
 
 : ${SVN:=svn}
 
+# TODO: This is a bit wasteful: get_reference_version() will be called once by
+#   this script and once by upcoming.py.
+reference_version=`cd ~/src/svn/site/tools && python3 -c 'import upcoming; 
print(upcoming.get_reference_version())'`
 ~/src/svn/site/tools/upcoming.py |
   {
 echo ""
 echo ''
 ~/src/svn/site/tools/escape.py
 echo ""
+echo ""
+echo "Further changes currently under consideration are listed in each 
release line's "
+echo "https://svn.apache.org/repos/asf/subversion/branches/${reference_version%.*}.x/STATUS\;>STATUS
 file."
   } > ~/src/svn/site/publish/upcoming.part.html
 
 ${SVN} commit ~/src/svn/site/publish/upcoming.part.html -m "* 
upcoming.part.html: Automatically regenerated"

Modified: subversion/site/tools/upcoming.py
URL: 
http://svn.apache.org/viewvc/subversion/site/tools/upcoming.py?rev=1864281=1864280=1864281=diff
==
--- subversion/site/tools/upcoming.py (original)
+++ subversion/site/tools/upcoming.py Fri Aug  2 19:29:51 2019
@@ -25,6 +25,7 @@ DIST_RELEASE_URL = 'https://dist.apache.
 REPOS_ROOT_URL = 'https://svn.apache.org/repos/asf'
 
 Version = collections.namedtuple('Version', 'major minor patch')
+Version.__str__ = lambda self: 
'{major}.{minor}.{patch}'.format(**self._asdict())
 
 def versions_on_dist_release():
 """Return a set of Version objects representing the versions that are
@@ -65,6 +66,7 @@ def get_reference_version__latest_stable
 oldest_patch_version_within_newest_minor_line = min(v for v in versions if 
v[:2] == max(versions)[:2])
 return oldest_patch_version_within_newest_minor_line
 
+# Note: This function is also called by ./generate-upcoming-changes-log.sh.
 def get_reference_version():
 "Return the version to use as the oldest end of the 'svn log' output to 
generate."
 def _is_working_copy():




Re: svn commit: r1864265 - /subversion/site/publish/upcoming.part.html

2019-08-02 Thread Daniel Shahaf
svn-r...@apache.org wrote on Fri, 02 Aug 2019 18:11 +00:00:
> * upcoming.part.html: Automatically regenerated
> 
> +++ subversion/site/publish/upcoming.part.html Fri Aug  2 18:11:34 2019
> @@ -1,3 +1,112 @@

It added lines because it lists the changes since 1.12.0.  (See r1864256
for the rationale for that.)


svn commit: r1864260 - /subversion/site/publish/upcoming.part.html

2019-08-02 Thread svn-role
Author: svn-role
Date: Fri Aug  2 18:00:59 2019
New Revision: 1864260

URL: http://svn.apache.org/viewvc?rev=1864260=rev
Log:
* upcoming.part.html: Automatically regenerated

Modified:
subversion/site/publish/upcoming.part.html

Modified: subversion/site/publish/upcoming.part.html
URL: 
http://svn.apache.org/viewvc/subversion/site/publish/upcoming.part.html?rev=1864260=1864259=1864260=diff
==
--- subversion/site/publish/upcoming.part.html (original)
+++ subversion/site/publish/upcoming.part.html Fri Aug  2 18:00:59 2019
@@ -1,5 +1,3 @@
 
 
-Changes in ^/subversion/branches/1.12.x:
-
 




svn commit: r1864256 - /subversion/site/tools/upcoming.py

2019-08-02 Thread danielsh
Author: danielsh
Date: Fri Aug  2 17:53:38 2019
New Revision: 1864256

URL: http://svn.apache.org/viewvc?rev=1864256=rev
Log:
site: upcoming.py: When cwd is not a stable branch working copy root, show
changes of the newest branch.

Fixes SVN-4823.

* site/tools/upcoming.py
  (__doc__): Expand.
  (get_reference_version__from_working_copy): Add TODO.
  (get_reference_version__latest_stable_release): New.
  (get_reference_version): New.
  (main): Update caller.

Modified:
subversion/site/tools/upcoming.py

Modified: subversion/site/tools/upcoming.py
URL: 
http://svn.apache.org/viewvc/subversion/site/tools/upcoming.py?rev=1864256=1864255=1864256=diff
==
--- subversion/site/tools/upcoming.py (original)
+++ subversion/site/tools/upcoming.py Fri Aug  2 17:53:38 2019
@@ -1,10 +1,12 @@
 #! /usr/bin/env python3
 
 """
-WIP - INCOMPLETE
+Generate 'svn log' output since the last tag to HEAD of a stable branch,
+filtering all but merge commits.
 
-Generate 'svn log' output since the last tag to HEAD of the release branch
-checked out in the current working directory, filtering all but merge commits.
+If the current working directory is the root of a stable branch (e.g.,
+`svn info --show-item=relative=url` == '^/subversion/branches/1.12.x'),
+show changes to that branch; else, show changes to the newest branch.
 """
 
 import collections
@@ -44,10 +46,33 @@ def get_reference_version__from_working_
 # - on dist;
 # - within the specified minor line;
 # - older than the working copy.
+#
+# TODO: This will throw ValueError (max() of an empty sequence) if working 
copy
+#   is older than the oldest patch version still on dist/.
 reference_version = max(v for v in versions_on_dist_release()
 if v[:2] == version_broken_down[:2] and v < 
version_broken_down)
 return reference_version
 
+def get_reference_version__latest_stable_release():
+"Return the version number of the latest stable release."
+# Get the available GA releases.
+versions = set(versions_on_dist_release())
+# Normally dist/ would have only one version for each minor line.  If there
+# are two patch versions, we err on the side of showing too much rather
+# than too little.  (The newer patch version might not have been announced
+# yet.)
+oldest_patch_version_within_newest_minor_line = min(v for v in versions if 
v[:2] == max(versions)[:2])
+return oldest_patch_version_within_newest_minor_line
+
+def get_reference_version():
+"Return the version to use as the oldest end of the 'svn log' output to 
generate."
+def _is_working_copy():
+return os.path.exists('subversion/include/svn_version.h')
+if _is_working_copy():
+return get_reference_version__from_working_copy()
+else:
+return get_reference_version__latest_stable_release()
+
 def copyfrom_revision_of_previous_tag_of_this_stable_branch(reference_version):
 """Returns the copyfrom revision of the REFERENCE_VERSION tag."""
 assert isinstance(reference_version, Version)
@@ -77,7 +102,7 @@ def get_merges_for_range(start, end, tar
 yield logentry
 
 def main():
-reference_version = get_reference_version__from_working_copy()
+reference_version = get_reference_version()
 start_revision = 
copyfrom_revision_of_previous_tag_of_this_stable_branch(reference_version) + 1
 target = 
'^/subversion/branches/{major}.{minor}.x'.format(**reference_version._asdict())
 print("Changes in " + target + ":")




svn commit: r1864253 - /subversion/site/tools/upcoming.py

2019-08-02 Thread danielsh
Author: danielsh
Date: Fri Aug  2 17:38:31 2019
New Revision: 1864253

URL: http://svn.apache.org/viewvc?rev=1864253=rev
Log:
site: upcoming.py: Continue removing uses of the cwd.

No functional change.

* site/tools/upcoming.py
  (relative_url): Remove.
  (get_merges_for_range): Change signature.
Stop calling relative_url(), which, incidentally, removes a fork() from
each iteration of the loop.
  (main): Instead of calling relative_url(), just compute the URL directly.

Modified:
subversion/site/tools/upcoming.py

Modified: subversion/site/tools/upcoming.py
URL: 
http://svn.apache.org/viewvc/subversion/site/tools/upcoming.py?rev=1864253=1864252=1864253=diff
==
--- subversion/site/tools/upcoming.py (original)
+++ subversion/site/tools/upcoming.py Fri Aug  2 17:38:31 2019
@@ -59,16 +59,9 @@ def copyfrom_revision_of_previous_tag_of
 ).decode()
 return int(re.compile(r'[(]from \S*:(\d+)[)]').search(log_output).group(1))
 
-def relative_url(target="."):
-"""Return the repository-relative URL (with '^/' prefix) of TARGET,
-   which is expected to be the root of a branch.
-"""
-return subprocess.check_output([SVN, 'info', '--show-item', 'relative-url',
-'--', target + '@']).decode().rstrip('\n')
-
-def get_merges_for_range(start, end, target="."):
+def get_merges_for_range(start, end, target):
 """Return an array of revision numbers in the range -r START:END that are
-merges."""
+merges. TARGET is passed to 'svn log'."""
 
 cache = []
 revisions = \
@@ -79,16 +72,16 @@ def get_merges_for_range(start, end, tar
 log_xml = ET.fromstring(revisions)
 
 for logentry in log_xml.findall('./logentry'):
-is_merge = relative_url()[1:] in (path.text for path in 
logentry.findall('.//path'))
+is_merge = target[1:] in (path.text for path in 
logentry.findall('.//path'))
 if is_merge:
 yield logentry
 
 def main():
-print("Changes in " + relative_url() + ":")
-
 reference_version = get_reference_version__from_working_copy()
 start_revision = 
copyfrom_revision_of_previous_tag_of_this_stable_branch(reference_version) + 1
-for logentry in get_merges_for_range(start_revision, "HEAD"):
+target = 
'^/subversion/branches/{major}.{minor}.x'.format(**reference_version._asdict())
+print("Changes in " + target + ":")
+for logentry in get_merges_for_range(start_revision, "HEAD", target):
 f = lambda s: logentry.findall('./' + s)[0].text
 f.__doc__ = """Get the contents of the first child tag whose name is 
given as an argument."""
 print(LOG_SEPARATOR_LINE, end='')