Author: kotkov
Date: Fri Dec 26 11:17:01 2025
New Revision: 1930867
Log:
Fix using an invalid "wx" file mode in tools/dist/release.py.
I faced this issue when calling the `create_release_branch` command.
Apparently, open() requires exactly one of create/read/write/append modes.
While "wx" may have been accepted previously and worked in a non-standard
way, it now raises a ValueError [1, 2]:
> python
Python 3.10.12 (main, Nov 4 2025, 08:48:33) [GCC 11.4.0] on linux
> python -c "open('/tmp/foo', 'wx')"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ValueError: must have exactly one of create/read/write/append mode
* tools/dist/release.py
(create_status_file_on_branch): Pass 'x' as file open mode instead of 'wx'.
Using the exclusive create mode seems to imply write.
[1]: https://docs.python.org/3/library/functions.html#open
[2]: https://bugs.python.org/issue12760
Modified:
subversion/trunk/tools/dist/release.py
Modified: subversion/trunk/tools/dist/release.py
==============================================================================
--- subversion/trunk/tools/dist/release.py Fri Dec 26 10:48:21 2025
(r1930866)
+++ subversion/trunk/tools/dist/release.py Fri Dec 26 11:17:01 2025
(r1930867)
@@ -646,7 +646,7 @@ def create_status_file_on_branch(args):
print('\nNew STATUS file:')
print(template.generate(sys.stdout, data))
else:
- with open(status_local_path, 'wx') as g:
+ with open(status_local_path, 'x') as g:
template.generate(g, data)
run_svn(['add', status_local_path],
dry_run=args.dry_run)