bzr 1.9rc1
Bazaar
bzr 1.9rc1
New Features
- New Branch hook transform_fallback_location allows a function to
be called when looking up the stacked source. (Michael Hudson)
- New repository formats 1.9 and 1.9-rich-root. These have all
the functionality of 1.6, but use the new btree indexes.
These indexes are both smaller and faster for access to historical
information. (John Arbash Meinel)
Improvements
- BTreeIndex code now is able to prefetch extra pages to help tune
the tradeoff between bandwidth and latency. Should be tuned
appropriately to not impact commands which need minimal information,
but provide a significant boost to ones that need more context. Only
has a direct impact on the --development2 format which uses
btree’s for the indexes. (John Arbash Meinel)
- bzr dump-btree is a hidden command introduced to allow dumping
the contents of a compressed btree file. (John Arbash Meinel)
- bzr pack now tells the index builders to optimize for size. For
btree index repositories, this can save 25% of the index size
(mostly in the text indexes). (John Arbash Meinel)
- bzr push to an existing branch or repository on a smart server
is faster, due to Bazaar making more use of the get_parent_map
RPC when querying the remote branch’s revision graph.
(Andrew Bennetts)
- default username for bzr+ssh and sftp can be configured in
authentication.conf. (Aaron Bentley)
- launchpad-login now provides a default username for bzr+ssh and sftp
URLs, allowing username-free URLs to work for everyone. (Aaron Bentley)
- lp: lookups no longer include usernames, making them shareable and
shorter. (Aaron Bentley)
- New PackRepository.autopack smart server RPC, which does
autopacking entirely on the server. This is much faster than
autopacking via plain file methods, which downloads a large amount
of pack data and then re-uploads the same pack data into a single
file. This fixes a major (although infrequent) cause of lengthy
delays when using a smart server. For example, pushing the 10th
revision to a repository with 9 packs now takes 44 RPCs rather than
179, and much less bandwidth too. This requires Bazaar 1.9 on both
the client and the server, otherwise the client will fallback to the
slower method. (Andrew Bennetts)
Bug Fixes
- A failure to load a plugin due to an IncompatibleAPI exception is
now correctly reported. (Robert Collins, #279451)
- API versioning support now has a multiple-version checking api
require_any_api. (Robert Collins, #279447)
- bzr branch --stacked from a smart server to a standalone branch
works again. This fixes a regression in 1.7 and 1.8.
(Andrew Bennetts, #270397)
- bzr co uses less memory. It used to unpack the entire WT into
memory before writing it to disk. This was a little bit faster, but
consumed lots of memory. (John Arbash Meinel, #269456)
- bzr missing --quiet no longer prints messages about whether
there are missing revisions. The exit code indicates whether there
were or not. (Martin Pool, #284748)
- Fixes to the annotate code. The fast-path which re-used the
stored deltas was accidentally disabled all the time, instead of
only when a branch was stacked. Second, the code would accidentally
re-use a delta even if it wasn’t against the left-parent, this
could only happen if bzr reconcile decided that the parent
ordering was incorrect in the file graph. (John Arbash Meinel)
- “Permission denied” errors that occur when pushing a new branch to a
smart server no longer cause tracebacks. (Andrew Bennetts, #278673)
- Some compatibility fixes for building the extensions with MSVC and
for python2.4. (John Arbash Meinel, #277484)
- The index logic is now able to reload the list of pack files if and
index ends up disappearing. We still don’t reload if the pack data
itself goes missing after checking the index. This bug appears as a
transient failure (file not found) when another process is writing
to the repository. (John Arbash Meinel, #153786)
- bzr switch and bzr bind will now update the branch nickname if
it was previously set. All checkouts will now refer to the bound branch
for a nickname if one was not explicitly set.
(Marius Kruger, #230903)
Documentation
- Improved hook documentation. (Michael Ernst)
API Changes
- commands.plugins_cmds is now a CommandRegistry, not a dict.
Internals
- New AuthenticationConfig.set_credentials method allows easy programmatic
configuration of authetication credentials.