Rev 5082: (andrew) Merge lp:bzr/2.1, including fixes for #496813, #526211, in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Thu Mar 11 05:38:58 GMT 2010
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 5082 [merge]
revision-id: pqm at pqm.ubuntu.com-20100311053854-0aw575c1892k1djg
parent: pqm at pqm.ubuntu.com-20100311050232-4n3s5jbvlb1w3dy7
parent: andrew.bennetts at canonical.com-20100311043341-rzdik83fnactjsxs
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2010-03-11 05:38:54 +0000
message:
(andrew) Merge lp:bzr/2.1, including fixes for #496813, #526211,
#526353.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/osutils.py osutils.py-20050309040759-eeaff12fbf77ac86
setup.py setup.py-20050314065409-02f8a0a6e3f9bc70
=== modified file 'NEWS'
--- a/NEWS 2010-03-11 04:18:33 +0000
+++ b/NEWS 2010-03-11 05:38:54 +0000
@@ -60,6 +60,11 @@
* Allow exporting a single file using ``bzr export``.
(Michal Junák, #511987)
+* Allow syscalls to automatically restart when ``TextUIFactory``'s
+ SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
+ IO, which are often poorly handled by Python's libraries and parts of
+ bzrlib. (Andrew Bennetts, #496813)
+
* Avoid infinite recursion when probing for apport.
(Vincent Ladeuil, #516934)
@@ -91,6 +96,9 @@
ftp servers while trying to take a lock.
(Martin Pool, #528722)
+* Fix stub sftp test server to call os.getcwdu().
+ (Vincent Ladeuil, #526211, #526353)
+
* Network transfer amounts and rates are now displayed in SI units according
to the Ubuntu Units Policy <https://wiki.ubuntu.com/UnitsPolicy>.
(Gordon Tyler, #514399)
@@ -115,6 +123,11 @@
API Changes
***********
+* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
+ can set a signal handler and call ``signal.siginterrupt(signum,
+ False)`` for it, if the platform and Python version supports it.
+ (Andrew Bennetts, #496813)
+
* New ``bzrlib.initialize`` is recommended for programs using bzrlib to
run when starting up; it sets up several things that previously needed
to be done separately.
@@ -185,6 +198,22 @@
Bug Fixes
*********
+* Allow syscalls to automatically restart when ``TextUIFactory``'s
+ SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
+ IO, which are often poorly handled by Python's libraries and parts of
+ bzrlib. (Andrew Bennetts, #496813)
+
+* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
+ (Martin Pool, #331095)
+
+* Fix plugin packaging on Windows. (Ian Clatworthy, #524162)
+
+* Fix stub sftp test server to call os.getcwdu().
+ (Vincent Ladeuil, #526211, #526353)
+
+* Fixed CHM generation by moving the NEWS section template into
+ a separate file. (Ian Clatworthy, #524184)
+
* Merge correctly when this_tree is not a WorkingTree. (Aaron Bentley)
* Register SIGWINCH handler only when creating a ``TextUIFactory``; avoids
@@ -209,6 +238,14 @@
* Drop Google Analytics from the core docs as they caused problems
in the CHM files. (Ian Clatworthy, #502010)
+API Changes
+***********
+
+* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
+ can set a signal handler and call ``signal.siginterrupt(signum,
+ False)`` for it, if the platform and Python version supports it.
+ (Andrew Bennetts, #496813)
+
bzr 2.1.0
#########
@@ -567,8 +604,8 @@
(Martin Pool)
-bzr 2.0.5 (not released yet)
-############################
+bzr 2.0.5
+#########
:Codename:
:2.0.5: NOT RELEASED YET
=== modified file 'bzrlib/osutils.py'
--- a/bzrlib/osutils.py 2010-03-05 08:55:12 +0000
+++ b/bzrlib/osutils.py 2010-03-11 04:33:41 +0000
@@ -1349,6 +1349,27 @@
normalized_filename = _inaccessible_normalized_filename
+def set_signal_handler(signum, handler, restart_syscall=True):
+ """A wrapper for signal.signal that also calls siginterrupt(signum, False)
+ on platforms that support that.
+
+ :param restart_syscall: if set, allow syscalls interrupted by a signal to
+ automatically restart (by calling `signal.siginterrupt(signum,
+ False)`). May be ignored if the feature is not available on this
+ platform or Python version.
+ """
+ old_handler = signal.signal(signum, handler)
+ if restart_syscall:
+ try:
+ siginterrupt = signal.siginterrupt
+ except AttributeError: # siginterrupt doesn't exist on this platform, or for this version of
+ # Python.
+ pass
+ else:
+ siginterrupt(signum, False)
+ return old_handler
+
+
default_terminal_width = 80
"""The default terminal width for ttys.
@@ -1456,7 +1477,7 @@
# the current design -- vila 20091216
pass
else:
- signal.signal(signal.SIGWINCH, _terminal_size_changed)
+ set_signal_handler(signal.SIGWINCH, _terminal_size_changed)
_registered_sigwinch = True
=== modified file 'setup.py'
--- a/setup.py 2010-03-05 08:55:12 +0000
+++ b/setup.py 2010-03-11 04:33:41 +0000
@@ -37,7 +37,7 @@
'version': bzrlib.__version__,
'author': 'Canonical Ltd',
'author_email': 'bazaar at lists.canonical.com',
- 'url': 'http://www.bazaar.canonical.com/',
+ 'url': 'http://bazaar.canonical.com/',
'description': 'Friendly distributed version control system',
'license': 'GNU GPL v2',
'download_url': 'https://launchpad.net/bzr/+download',
@@ -553,7 +553,7 @@
version = version_str,
description = META_INFO['description'],
author = META_INFO['author'],
- copyright = "(c) Canonical Ltd, 2005-2009",
+ copyright = "(c) Canonical Ltd, 2005-2010",
company_name = "Canonical Ltd.",
comments = META_INFO['description'],
)
@@ -624,7 +624,11 @@
excludes.extend(["bzrlib.plugins." + d for d in dirs])
x = []
for i in files:
- if os.path.splitext(i)[1] not in [".py", ".pyd", ".dll", ".mo"]:
+ # Throw away files we don't want packaged. Note that plugins may
+ # have data files with all sorts of extensions so we need to
+ # be conservative here about what we ditch.
+ ext = os.path.splitext(i)[1]
+ if ext.endswith('~') or ext in [".pyc", ".swp"]:
continue
if i == '__init__.py' and root == 'bzrlib/plugins':
continue
More information about the bazaar-commits
mailing list