- ‘bzr branch’ over http initially gives a very high estimate
of completion time but it should fall as the first few
revisions are pulled in. branch is still slow on
- bzr-man.py has been updated to work again. Contributed by
- Locking is now done with fcntl.lockf which works with NFS
file systems. Contributed by Harald Meland.
- When a merge encounters a file that has been deleted on
one side and modified on the other, the old contents are
written out to foo.BASE and foo.SIDE, where SIDE is this
or OTHER. Contributed by Aaron Bentley.
- Export was choosing incorrect file paths for the content of
the tarball, this has been fixed by Aaron Bentley.
- Commit will no longer commit without a log message, an
error is returned instead. Contributed by Jelmer Vernooij.
- If you commit a specific file in a sub directory, any of its
parent directories that are added but not listed will be
automatically included. Suggested by Michael Ellerman.
- bzr commit and upgrade did not correctly record new revisions
for files with only a change to their executable status.
bzr will correct this when it encounters it. Fixed by
- HTTP tests now force off the use of http_proxy for the duration.
Contributed by Gustavo Niemeyer.
- Fix problems in merging weave-based branches that have
different partial views of history.
- Symlink support: working with symlinks when not in the root of a
bzr tree was broken, patch from Scott James Remnant.
- ‘branch’ now accepts a –basis parameter which will take advantage
of local history when making a new branch. This allows faster
branching of remote branches. Contributed by Aaron Bentley.
- New tree format based on weave files, called version 5.
Existing branches can be upgraded to this format using
- Symlinks are now versionable. Initial patch by
Erik Toubro Nielsen, updated to head by Robert Collins.
- Executable bits are tracked on files. Patch from Gustavo
- ‘bzr status’ now shows unknown files inside a selected directory.
Patch from Heikki Paajanen.
- Merge conflicts are recorded in .bzr. Two new commands ‘conflicts’
and ‘resolve’ have needed added, which list and remove those
merge conflicts respectively. A conflicted tree cannot be committed
in. Contributed by Aaron Bentley.
- ‘rm’ is now an alias for ‘remove’.
- Stores now split out their content in a single byte prefixed hash,
dropping the density of files per directory by 256. Contributed by
- ‘bzr diff -r branch:URL’ will now perform a diff between two branches.
Contributed by Robert Collins.
- ‘bzr log’ with the default formatter will show merged revisions,
indented to the right. Initial implementation contributed by Gustavo
Niemeyer, made incremental by Robert Collins.
- Test case failures have the exception printed after the log
for your viewing pleasure.
- InventoryEntry is now an abstract base class, use one of the
concrete InventoryDirectory etc classes instead.
- Branch raises an UnsupportedFormatError when it detects a
bzr branch it cannot understand. This allows for precise
handling of such circumstances.
- Remove RevisionReference class; Revision.parent_ids is now simply a
list of their ids and parent_sha1s is a list of their corresponding
sha1s (for old branches only at the moment.)
- New method-object style interface for Commit() and Fetch().
- Renamed Branch.last_patch() to Branch.last_revision(), since
we call them revisions not patches.
- Move copy_branch to bzrlib.clone.copy_branch. The destination
directory is created if it doesn’t exist.
- Inventories now identify the files which were present by
giving the revision of that file.
- Inventory and Revision XML contains a version identifier.
This must be consistent with the overall branch version
but allows for more flexibility in future upgrades.
- Removed testsweet module so that tests can be run after
bzr installed by ‘bzr selftest’.
- ‘bzr selftest’ command-line arguments can now be partial ids
of tests to run, e.g. bzr selftest test_weave