bzr 1.3rc1
Bazaar
bzr 1.3rc1
Notes When Upgrading
- The backup directory created by upgrade is now called
backup.bzr, not .bzr.backup. (Martin Albisetti)
Changes
- A new repository format ‘development’ has been added. This format will
represent the latest ‘in-progress’ format that the bzr developers are
interested in getting early-adopter testing and feedback on.
doc/developers/development-repo.txt has detailed information.
(Robert Collins)
- BZR_LOG environment variable controls location of .bzr.log trace file.
User can suppress writing messages to .bzr.log by using ‘/dev/null’
filename (on Linux) or ‘NUL’ (on Windows). If BZR_LOG variable
is not defined but BZR_HOME is defined then default location
for .bzr.log trace file is $BZR_HOME/.bzr.log.
(Alexander Belchenko, #106117)
- launchpad builtin plugin now shipped as separate part in standalone
bzr.exe, installed to C:\Program Files\Bazaar\plugins directory,
and standalone installer allows user to skip installation of this plugin.
(Alexander Belchenko)
- Restore auto-detection of plink.exe on Windows. (Dmitry Vasiliev)
- Version number is now shown as “1.2” or “1.2pr2”, without zeroed or
missing final fields. (Martin Pool)
Features
- branch and checkout can hard-link working tree files, which is
faster and saves space. (Aaron Bentley)
- bzr send will now also look at the child_submit_to setting in
the submit branch to determine the email address to send to.
(Jelmer Vernooij)
Improvements
- BzrBranch._lefthand_history is faster on pack repos. (Aaron Bentley)
- Branch6.generate_revision_history is faster. (Aaron Bentley)
- Directory services can now be registered, allowing special URLs to be
dereferenced into real URLs. This is a generalization and cleanup of
the lp: transport lookup. (Aaron Bentley)
- Merge directives that are automatically attached to emails have nicer
filenames, based on branch-nick + revno. (Aaron Bentley)
- push has a --revision option, to specify what revision to push up
to. (Daniel Watkins)
- Significantly reducing execution time and network traffic for trivial
case of running bzr missing command for two identical branches.
(Alexander Belchenko)
- Speed up operations that look at the revision graph (such as ‘bzr log’).
KnitPackRepositor.get_revision_graph uses Graph.iter_ancestry to
extract the revision history. This allows filtering ghosts while
stepping instead of needing to peek ahead. (John Arbash Meinel)
- The hooks command lists installed hooks, to assist in debugging.
(Daniel Watkins)
- Updates to how annotate work. Should see a measurable improvement in
performance and memory consumption for file with a lot of merges.
Also, correctly handle when a line is introduced by both parents (it
should be attributed to the first merge which notices this, and not
to all subsequent merges.) (John Arbash Meinel)
Bugfixes
- Autopacking no longer holds the full set of inventory lines in
memory while copying. For large repositories, this can amount to
hundreds of MB of ram consumption.
(Ian Clatworthy, John Arbash Meinel)
- Cherrypicking when using --format=merge3 now explictly excludes
BASE lines. (John Arbash Meinel, #151731)
- Disable plink’s interactive prompt for password.
(#107593, Dmitry Vasiliev)
- Encode command line arguments from unicode to user_encoding before
invoking external mail client in bzr send command.
(#139318, Alexander Belchenko)
- Fixed problem connecting to bzr+https:// servers.
(#198793, John Ferlito)
- Improved error reporting in the Launchpad plugin. (Daniel Watkins,
#196618)
- Include quick-start-summary.svg file to python-based installer(s)
for Windows. (#192924, Alexander Belchenko)
- lca merge now respects specified files. (Aaron Bentley)
- Make version-info –custom imply –all. (#195560, James Westby)
- merge --preview now works for merges that add or modify
symlinks (James Henstridge)
- Redirecting the output from bzr merge (when the remembered
location is used) now works. (John Arbash Meinel)
- setup.py script explicitly checks for Python version.
(Jari Aalto, Alexander Belchenko, #200569)
- UnknownFormatErrors no longer refer to branches regardless of kind of
unknown format. (Daniel Watkins, #173980)
- Upgrade bundled ConfigObj to version 4.5.2, which properly quotes #
signs, among other small improvements. (Matt Nordhoff, #86838)
- Use correct indices when emitting LCA conflicts. This fixes IndexError
errors. (Aaron Bentley, #196780)
Documentation
- Explained how to use version-info --custom in the User Guide.
(Neil Martinsen-Burrell)
API Breaks
- Support for loading plugins from zip files and
bzrlib.plugin.load_from_zip() function are deprecated.
(Alexander Belchenko)
Testing
- Added missing blackbox tests for modified (Adrian Wilkins)
- The branch interface tests were invalid for branches using rich-root
repositories because the empty string is not a valid file-id.
(Robert Collins)
Internals
- Graph.iter_ancestry returns the ancestry of revision ids. Similar to
Repository.get_revision_graph() except it includes ghosts and you can
stop part-way through. (John Arbash Meinel)
- New module tools/package_mf.py provide custom module finder for
python packages (improves standard python library’s modulefinder.py)
used by setup.py script while building standalone bzr.exe.
(Alexander Belchenko)
- New remote method RemoteBzrDir.find_repositoryV2 adding support for
detecting external lookup support on remote repositories. This method is
now attempted first when lookup up repositories, leading to an extra
round trip on older bzr smart servers. (Robert Collins)
- Repository formats have a new supported-feature attribute
supports_external_lookups used to indicate repositories which support
falling back to other repositories when they have partial data.
(Robert Collins)
- Repository.get_revision_graph_with_ghosts and
bzrlib.revision.(common_ancestor,MultipleRevisionSources,common_graph)
have been deprecated. (John Arbash Meinel)
- Tree.iter_changes is now a public API, replacing the work-in-progress
Tree._iter_changes. The api is now considered stable and ready for
external users. (Aaron Bentley)
- The bzrdir format registry now accepts an alias keyword to
register_metadir, used to indicate that a format name is an alias for
some other format and thus should not be reported when describing the
format. (Robert Collins)