subversion

Checkout Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 1869578 is being indexed.

'info': Support multiple items in --show-item, as tab-separated values (TSV).

Suggested by: brane

Thread:

.

https://mail-archives.apache.org/mod_mbox/subversion-dev/201911.mbox/%3Cf6dc88d3-8227-4f22-768c-2cf6ce70fcb7%40apache.org%3E

Date: Thu, 7 Nov 2019 17:28:35 +0100

From: Branko Čibej <brane@apache.org>

To: dev@subversion.apache.org

Subject: svn status tabbed output [was: Re: svn status should not show unmodified files in changelists]

Message-ID: <f6dc88d3-8227-4f22-768c-2cf6ce70fcb7@apache.org>

* subversion/svn/info-cmd.c

(print_info_baton_t::print_what): Rename to..

(print_info_baton_t::print_whats): .. this.

(find_print_what): Rename argument and parse it as a list.

(print_info_item): Track changes to the baton.

(svn_cl__info): Track changes to the baton.

* subversion/svn/svn.c

(svn_cl__options."show_item"): Update docstring.

* subversion/tests/cmdline/info_tests.py

(info_item_simple): Extend existing test case to unit test this feature.

Blocks that haven't been reindented in this commit will be reindented in the

next commit.

* CHANGES: Use the cleaner, forward-compatible URL for issues.
* CHANGES: Add r1869481, 'svn info --show-item=changelist'.
Add 'changelist' option to 'svn info --show-item'.

* subversion/svn/info-cmd.c

(info_item_t,

info_item_map): Add 'changelist' item.

(print_info_item): Print it.

* subversion/svn/svn.c

(svn_cl__options): Document it.

mailer.py: Fix breakage on Python 2 from use of Python 3 syntax

Follow-up on r1869194. That revision addresses issue SVN-1804 by

adding exception handling for SMTP errors. Unfortunately a last-minute

change in that revision uses Python 3+ 'raise..from' syntax. The

script does not yet support Python 3 so this breaks the script for all

Python versions!

* tools/hook-scripts/mailer/mailer.py

(SMTPOutput.finish): Comment out the two instances of 'from detail'

that break the script, but add a 'TODO' note to uncomment them

when converting the script to Python 3.

Suggested by: futatuki

danielsh

Avoid deprecation warnings about PY_SSIZE_T_CLEAN since Python 3.8

On Python C API, use of # variants of formats in parsing or building value,

(e.g. PyObject_CallFunction(), etc) without PY_SSIZE_T_CLEAN defined

raises DeprecationWarning since Python 3.8 [1][2]. As PY_SSIZE_T_CLEAN

feature was introduced in Python 2.5 and we only support Python >= 2.7,

there is no compatibility problem to use it.

[1] https://docs.python.org/3/whatsnew/3.8.html#changes-in-the-c-api

[2] https://docs.python.org/3/c-api/arg.html#arg-parsing

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

(PY_SSIZE_T_CLEAN): New definition

(change_dir_prop, change_file_prop, parse_fn3_set_revision_property,

parse_fn3_set_node_property, write_handler_pyio): Cast the length

argument of '#' variants of formats to build Python argment value,

to Py_ssize_t.

Patch by: Jun Omae <jun66j5{_AT_}gmail.com>

mailer.py: Handle otherwise uncaught exception in SMTPOutput.finish

Follow-up on r1869194. That revision addresses issue SVN-1804 by

adding exception handling for SMTP errors, but does not handle a

potential source of exceptions when closing a SMTP session.

* tools/hook-scripts/mailer/mailer.py

(SMTPOutput.finish): Handle exception that may be raised by

server.quit.

Found by: futatuki

Review by: futatuki

Add 1.14 release notes skeleton.

Generated by:

release.py write-release-notes --edit-html-file=docs/release-notes/1.14.html 1.14.0

    • ?
    /site/publish/docs/release-notes/1.14.html
* tools/dist/templates/release-notes.ezt

(#non-lts-release): Trim unnecessary old notes, as in r1869167. Link

to existing info.

Let 'release.py write-release-notes' update the release notes index and

distinguish between LTS and non-LTS release notes.

* tools/dist/release.py

(lts_release_lines, is_lts): New.

(write_release_notes): Choose LTS or non-LTS template. Add an index entry.

(main): Document it.

* tools/dist/templates/release-notes-lts.ezt

New file.

    • ?
    /trunk/tools/dist/templates/release-notes-lts.ezt
* publish/docs/release-notes/index.html

(#release-notes-list): Add this id to the existing list, so that

release.py write-release-notes will be able to insert a new entry here.

* INSTALL: Remove out of dated note about Python 3.x for Windows

Merge the swig-py3 branch to trunk.
  1. … 47 more files in changeset.
On the swig-py3 branch: Sync from trunk up to r1869352.
[On the staging-ng branch]

* Bring up to date with staging

    • ?
    /site/staging-ng/docs/release-notes/index.html
    • ?
    /site/staging-ng/docs/release-notes/1.13.html
* publish/docs/release-notes/index.html: Correct the 1.13.0 release date.
* docs/release-notes/release-history.html: Fix typo.
Fix issue #1804: In mailer.py, any SMTP error impedes later emails

Per SVN-1804, any SMTP error terminates mailer.py with an unhandled

exception. The impact is that if the same invocation of mailer.py

would have sent more emails, those that would have been sent after

the exception are silently lost.

To fix this issue, we handle SMTP exceptions. When an exception only

affects a particular email, such as invalid recipient, the error is

reported to stderr and execution continues to avoid losing any later

emails. In contrast, fatal SMTP errors, such as login with bad

credentials, terminate execution as before, but with some additional

reporting to stderr.

The script's exit code is zero if all emails were sent successfully,

nonzero if any SMTP error occurred.

* tools/hook-scripts/mailer/mailer.py

(MessageSendFailure): New exception class to signify non-fatal

message sending failure. This is decoupled from SMTP to allow for

future use with other (non-SMTP) delivery methods.

(SMTPOutput.finish): Reimplement with exception handling and

reporting to stderr.

(Commit.generate, PropChange.generate, Lock.generate): Wrap contents

of for-loop in try..except block to handle new MessageSendFailure;

after the loop runs to completion, return nonzero if SMTP error(s)

occurred.

(main): Propagate return value of messenger.generate() to caller.

(__main__): Exit nonzero if SMTP error(s) occurred.

Found by: Robert M. Zigweid

Review by: danielsh (partial review)

futatuki

On branch swig-py3: Remove .swig_{pl,py,rb}_checked files on reconfiguration

and distclean task.

* Makefile.in (clean-swig-pl, clean-swig-py, clean-swig-rb):

Remove .swig_<lang>_checked file.

* configure.ac

Remove .swig_<lang>_checked files on reconfiguration.

Patch by: Jun Omae <jun66j5{_AT_}gmail.com>

* publish/docs/release-notes/1.13.html

(#non-lts-release): Trim unnecessary old notes.

* publish/docs/release-notes/1.13.html

(#new-feature-compatibility-table): Add 'svnadmin rev-size'.

Found by: brane

* publish/docs/release-notes/1.13.html

(#new-features): Move 'svnadmin rev-size' here from '#enhancements'.

Found by: brane

release.py: remove 1.12 from supported release lines.
release.py: revert changing interpreter to 'python3' from r1869158.
Subversion 1.13.0 released.
release.py: some Python 3 fixes.
In 'staging': update downloads page to add KEYS file, following r1869135.
In 'staging': update release notes index; tweak release notes wording.
* staging/download.html: Change recommended version to 1.13.0.
* staging/download.html: Remove pre-release 1.13.0-rc1.