bzr 2.1.2
This release fixes two critical networking issues with older servers and
with interrupted system call errors when pushing or pulling. We recommend
upgrading to anyone running a 2.1.x version of bzr.
Bug Fixes
- bzr clean-tree should not delete nested bzrdirs. Required for proper
support of bzr-externals and scmproj plugins.
(Alexander Belchenko, bug #572098)
- bzr switch does not die if a ConfigurableFileMerger is used.
(Aaron Bentley, #559436)
- Do not register a SIGWINCH signal handler, instead just poll for the
terminal width as needed. This avoids the “Interrupted System Call”
problems that occur on POSIX with all currently released versions of
Python.
(Andrew Bennetts, #583941)
- Fixed AssertionError when accessing smart servers running Bazaar
versions before 1.6.
(Andrew Bennetts, #528041)
- Reset siginterrupt flag to False every time we handle a signal
installed with set_signal_handler(..., restart_syscall=True) (from
bzrlib.osutils. Reduces the likelihood of “Interrupted System Call”
errors compared to registering signal.signal directly.
(Andrew Bennetts)
- Reduce peak memory by one copy of compressed text.
(John Arbash Meinel, #566940)
- Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
(John Arbash Meinel, #582656)
- When passing a file to UTF8DirReader make sure to close the current
directory file handle after the chdir fails. Otherwise when passing many
filenames into a command line bzr status we would leak descriptors.
(John Arbash Meinel, #583486)
Internals
- _remember_remote_is_before no longer raises AssertionError when
suboptimal network behaviour is noticed; instead it just mutters to the
log file (and warns the user if they have set the hpss debug flag).
This was causing unnecessary aborts for performance bugs that are minor
at worst.
(Andrew Bennetts, #528041)