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 exceptionsin 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)


  • _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)

Table Of Contents

Previous topic

bzr 2.0.6

Next topic

bzr 2.1.1

This Page