[ANN] bzr 2.3b5 released !

Vincent Ladeuil v.ladeuil+lp at free.fr
Wed Jan 19 18:34:59 UTC 2011


The Bazaar team is happy to announce availability of a new
release of the bzr adaptive version control system.
Bazaar is part of the GNU system <http://gnu.org/>.

This is the fifth and *last* beta of the 2.3 series, leading up to a
2.3.0 release in February. Beta releases are suitable for everyday use
but may cause some incompatibilities with plugins.

2.3b5 includes bug fixes for committing to stacked branches, smoother upgrades
of multiple branches, compatibility with python-2.7, full test suite passing
on Ubuntu Natty and windows, less round-trips for several smart server
operations, better support text conflicts resolve actions and some more.

All known fixed bugs in other series (2.0, 2.1, 2.2) are also included here.

Thanks to everyone who contributed patches, suggestions, and feedback.

Bazaar is now available for download from
https://launchpad.net/bzr/2.3/2.3b5/ as a source tarball;

Packages are available for:

- Ubuntu: https://launchpad.net/~bzr-beta-ppa/+archive/ppa,
- OSX: https://launchpad.net/bzr/2.3/2.3b5/

Packages for various other systems will be available soon (including
windows).

Thanks to everyone who helped packaging.

bzr 2.3b5
#########

:2.3.b5: 2011-01-13

External Compatibility Breaks
*****************************

(none)

Improvements
************

* A redundant parent inventories calculation was removed from
  ``fetch.py``, as ``Repository.insert_stream`` already reports any
  missing inventories.  This removes at least one network roundtrip when
  pushing to a stacked branch.  (Andrew Bennetts)

* ``ControlDir.sprout`` no longer opens the target repository more than
  once.  This avoids some unnecessary IO, and removes a network roundtrip
  when doing ``bzr branch`` to a smart server URL.  (Andrew Bennetts)

* ``bzr modified`` now read-locks the working tree (and branch and
  repository) just once.  (Andrew Bennetts)
  
* ``bzr resolve`` now accepts ``--take-this`` and ``--take-other`` actions
  for text conflicts. This *replace* the whole file with the content
  designated by the action. This will *ignore* all differences that would
  have been merge cleanly otherwise. (Vincent Ladeuil, #638451)

* ``bzr tags``'s "sort" argument now allows registering custom sort
  methods using the ``bzrlib.tag.tag_sort_methods`` registry. 
  (Jelmer Vernooij, #701244)

* ``bt.test_http`` was breaking ``os.environ`` by erasing the values saved by
  ``TestCase`` leading to ``bt.test_import_tariff`` failures.
  (Vincent Ladeuil, #690563)

* ``upgrade`` now upgrades dependent branches when a shared repository is
  specified. It also supports new options: ``--dry-run`` for showing what
  will happen and ``--clean`` to remove the backup directory on successful
  completion. (Ian Clatworthy, Matthew Fuller, #89830, #374734, #422450)

Bug Fixes
*********

.. Fixes for situations where bzr would previously crash or give incorrect
   or undesirable results.

* Avoid leaking SSH subprocess communication socket into unrelated child
  processes, which could cause bzr to hang on exit. (Max Bowsher, #696285)

* ``bzr break-lock`` on a corrupted lock file works correctly, rather than
  raising a PermissionDenied error. We were accidentally holding open the
  file we were trying to delete. (John Arbash Meinel, #659978)

* ``bzr update`` in a checkout of a readonly branch works again, without
  trying to set the tags in the master branch. This had been broken by the
  bug fix for bug #603395.  (John Arbash Meinel, #701212)

* Per-transport tests now prefer to use ``Transport.get_bytes()`` rather
  than ``Transport.get().read()``. The SFTP code uses an async message to
  close the file handle if you let the handle die from refcounting, while
  it uses a synchronous message if you close it directly. This should help
  prevent random test suite failures from race conditions.
  (John Arbash Meinel, #681047)

* Stop using ``bzrlib.tuned_gzip.GzipFile``. It is incompatible with
  python-2.7 and was only used for Knit format repositories, which haven't
  been recommended since 2007. The file itself will be removed in the next
  release. (John Arbash Meinel)

* The BZR_COLUMNS environment variable can be set to 0 to indicate no
  limitation on the width of the terminal.  (Neil Martinsen-Burrell, #675652)

* Treat WSAECONNABORTED the same as WSAECONNRESET for the purposes of
  considering a smart data stream as being interrupted. This fixes a
  failure in the windows test suite, that was trying to ensure we cleanly
  handled a server disconnect.  (John Arbash Meinel, #581311, #686587)

* Unshelving changes that occur in a now-unversioned directory now restore
  the directory properly rather than crashing.
  (John Arbash Meinel, #389674)

* You are now able to commit directly to a stacked branch. Any needed
  parent inventories will be filled in as part of the commit process.
  (John Arbash Meinel, #375013)

Documentation
*************

* Better document the rules to update the bzr freshmeat page when
  doing a release. (Vincent Ladeuil, #690515)

API Changes
***********

* ``Branch.sprout``, ``BranchFormat.initalize`` and
  ``ControlDir.create_branch`` now take an optional ``repository`` keyword
  argument, and ``BranchFormat.open`` now takes an optional
  ``found_repository`` keyword argument.  These provide the repository
  object for new branch object to use (for cases when the caller has
  already opened that repository).  Implementations of these APIs will
  need to be updated to accept these arguments.  (Andrew Bennetts)

* ``bzrlib.tuned_gzip.GzipFile`` is now deprecated and will be removed in
  the bzr-2.4 series. Code that was using it can just use the python
  stdlib ``gzip.GzipFile``. (John Arbash Meinel)


Testing
*******

* ``bzrlib.tests`` defines ``isolated_environ`` with the definitions of all
  the environment variables the tests should care about. It also defines
  ``override_os_environ`` and ``restore_os_environ`` to properly implement
  isolation from ``os.environ`` for tests. ``bzrlib.tests`` now defines a
  ``DocTestSuite`` class using this facility for all ``bzrlib``
  doctests. (Vincent Ladeuil, #321320)

* Catch exceptions related to bug #637821 during test cleanup to avoid
  spurious failures. (Vincent Ladeuil, #686008).

* Check sphinx compatibility for tests requiring older sphinx versions.
  (Vincent Ladeuil, #688072)

* ``test_onto_transport`` in the Launchpad plugin can now run with Python
  2.7. (Vincent Ladeuil, #654733)

* ``TestCase._captureVar`` and ``TestCase._old_env`` have been deleted due to
  bug #690563. Test writers are encouraged to use ``TestCase.overrideEnv``
  instead. (Vincent Ladeuil)

* ``TestDebuntuExpansions`` was escaping the test isolation by calling the
  wrong base class ``setUp``. (Vincent Ladeuil, #684662)



More information about the bazaar mailing list