bzr 2.1.0
Codename: | Strasbourg |
2.1.0: | 2010-02-11 |
This release marks our second long-term-stable series. The Bazaar team
has decided that we will continue to make bugfix-only 2.0.x and 2.1.x
releases, along with 2.2 development releases.
This is a fairly incremental update, focusing on polish and bugfixing.
There are no changes for supported disk formats. Key updates include
reduced memory consumption for many operations, a new per-file merge
hook, ignore patterns can now include ‘!’ to exclude files, globbing
support for all commands on Windows, and support for addressing home
directories via bzr+ssh://host/~/ syntax.
Users are encouraged to upgrade from the 2.0 stable series.
Bug Fixes
- Don’t require testtools to use sftp.
(Vincent Ladeuil, #516183)
- Fix “AttributeError in Inter1and2Helper” during fetch.
(Martin Pool, #513432)
- bzr update performs the two merges in a more logical order and will stop
when it encounters conflicts.
(Gerard Krol, #113809)
- Give a better error message when doing bzr bind in an already bound
branch. (Neil Martinsen-Burrell, #513063)
- Ignore KeyError from remove_index during _abort_write_group
in a pack repository, which can happen harmlessly if the abort occurs during
finishing the write group. Also use bzrlib.cleanup so that any
other errors that occur while aborting the individual packs won’t be
hidden by secondary failures when removing the corresponding indices.
(Andrew Bennetts, #423015)
- Set the mtime of files exported to a directory by bzr export all to
the same value to avoid confusing make and other date-based build
systems. (Robert Collins, #515631)
Improvements
- Fetching into experimental formats will now print a warning. (Jelmer
Vernooij)
API Changes
- Repository.deserialise_inventory has been renamed to
Repository._deserialise_inventory to indicate it is private.
(Jelmer Vernooij)
- Repository.get_inventory_xml has been renamed to
Repository._get_inventory_xml to indicate it is private.
(Jelmer Vernooij)
- Repository.serialise_inventory has been renamed to
Repository._serialise_inventory to indicate it is private.
- Using the bzrlib.chk_map module from within multiple threads at the
same time was broken due to race conditions with a module level page
cache. This shows up as a KeyError in the bzrlib.lru_cache code with
bzrlib.chk_map in the backtrace, and can be triggered without using
the same high level objects such as bzrlib.repository.Repository
from different threads. chk_map now uses a thread local cache which may
increase memory pressure on processes using threads.
(Robert Collins, John Arbash Meinel, #514090)
- The new merge_file_content should now be ok with tests to avoid
regressions.
(Vincent Ladeuil, #515597)
Internals
- Use bzrlib.cleanup rather than less robust try/finally
blocks in several places in bzrlib.merge. This avoids masking prior
errors when errors like ImmortalPendingDeletion occur during cleanup
in do_merge.
(Andrew Bennetts, #517275)
API Changes
- The remove_index method of
bzrlib.repofmt.pack_repo.AggregateIndex no longer takes a pack
argument. This argument was always ignored.
(Andrew Bennetts, #423015)