Bazaar Release Notes
bzr 1.1
(no changes from 1.1rc1)
bzr 1.1rc1
Changes
- Dotted revision numbers have been revised. Instead of growing longer with
nested branches the branch number just increases. (eg instead of 1.1.1.1.1
we now report 1.2.1.) This helps scale long lived branches which have many
feature branches merged between them. (John Arbash Meinel)
- The syntax
bzr diff branch1 branch2
is no longer supported.
Use bzr diff branch1 --new branch2
instead. This change has
been made to remove the ambiguity where branch2
is in fact a
specific file to diff within branch1
.
Features
- New option to use custom template-based formats in
bzr version-info
.
(Lukáš Lalinský)
- diff ‘–using’ allows an external diff tool to be used for files.
(Aaron Bentley)
- New “lca” merge-type for fast everyday merging that also supports
criss-cross merges. (Aaron Bentley)
Improvements
annotate
now doesn’t require a working tree. (Lukáš Lalinský,
#90049)
branch
and checkout
can now use files from a working tree to
to speed up the process. For checkout, this requires the new
–files-from flag. (Aaron Bentley)
bzr diff
now sorts files in alphabetical order. (Aaron Bentley)
bzr diff
now works on branches without working trees. Tree-less
branches can also be compared to each other and to working trees using
the new diff options --old
and --new
. Diffing between branches,
with or without trees, now supports specific file filtering as well.
(Ian Clatworthy, #6700)
bzr pack
now orders revision texts in topological order, with newest
at the start of the file, promoting linear reads for bzr log
and the
like. This partially fixes #154129. (Robert Collins)
- Merge directives now fetch prerequisites from the target branch if
needed. (Aaron Bentley)
- pycurl now handles digest authentication.
(Vincent Ladeuil)
reconfigure
can now convert from repositories. (Aaron Bentley)
-l
is now a short form for --limit
in log
. (Matt Nordhoff)
merge
now warns when merge directives cause cherrypicks.
(Aaron Bentley)
split
now supported, to enable splitting large trees into smaller
pieces. (Aaron Bentley)
Bugfixes
- Avoid AttributeError when unlocking a pack repository when an error occurs.
(Martin Pool, #180208)
- Better handle short reads when processing multiple range requests.
(Vincent Ladeuil, #179368)
- build_tree acceleration uses the correct path when a file has been moved.
(Aaron Bentley)
commit
now succeeds when a checkout and its master branch share a
repository. (Aaron Bentley, #177592)
- Fixed error reporting of unsupported timezone format in
log --timezone
. (Lukáš Lalinský, #178722)
- Fixed Unicode encoding error in
ignored
when the output is
redirected to a pipe. (Lukáš Lalinský)
- Fix traceback when sending large response bodies over the smart protocol
on Windows. (Andrew Bennetts, #115781)
- Fix
urlutils.relative_url
for the case of two file:///
URLs
pointed to different logical drives on Windows.
(Alexander Belchenko, #90847)
- HTTP test servers are now compatible with the HTTP protocol version 1.1.
(Vincent Ladeuil, #175524)
- _KnitParentsProvider.get_parent_map now handles requests for ghosts
correctly, instead of erroring or attributing incorrect parents to ghosts.
(Aaron Bentley)
merge --weave --uncommitted
now works. (Aaron Bentley)
- pycurl authentication handling was broken and incomplete. Fix handling of
user:pass embedded in the URLs.
(Vincent Ladeuil, #177643)
- Files inside non-directories are now handled like other conflict types.
(Aaron Bentley, #177390)
reconfigure
is able to convert trees into lightweight checkouts.
(Aaron Bentley)
- Reduce lockdir timeout to 0 when running
bzr serve
. (Andrew Bennetts,
#148087)
- Test that the old
version_info_format
functions still work, even
though they are deprecated. (John Arbash Meinel, ShenMaq, #177872)
- Transform failures no longer cause ImmortalLimbo errors (Aaron Bentley,
#137681)
uncommit
works even when the commit messages of revisions to be
removed use characters not supported in the terminal encoding.
(Aaron Bentley)
- When dumb HTTP servers return whole files instead of the requested ranges,
read the remaining bytes by chunks to avoid overflowing network buffers.
(Vincent Ladeuil, #175886)
Documentation
- Minor tweaks made to the bug tracker integration documentation.
(Ian Clatworthy)
- Reference material has now be moved out of the User Guide and added
to the User Reference. The User Reference has gained 4 sections as
a result: Authenication Settings, Configuration Settings, Conflicts
and Hooks. All help topics are now dumped into text format in the
doc/en/user-reference directory for those who like browsing that
information in their editor. (Ian Clatworthy)
- Using Bazaar with Launchpad tutorial added. (Ian Clatworthy)
Internals
- find_* methods available for BzrDirs, Branches and WorkingTrees.
(Aaron Bentley)
- Help topics can now be loaded from files.
(Ian Clatworthy, Alexander Belchenko)
- get_parent_map now always provides tuples as its output. (Aaron Bentley)
- Parent Providers should now implement
get_parent_map
returning a
dictionary instead of get_parents
returning a list.
Graph.get_parents
is now deprecated. (John Arbash Meinel,
Robert Collins)
- Patience Diff now supports arbitrary python objects, as long as they
support
hash()
. (John Arbash Meinel)
- Reduce selftest overhead to establish test names by memoization.
(Vincent Ladeuil)
API Breaks
Testing
- Modules can now customise their tests by defining a
load_tests
attribute. pydoc bzrlib.tests.TestUtil.TestLoader.loadTestsFromModule
for the documentation on this attribute. (Robert Collins)
- New helper function
bzrlib.tests.condition_id_re
which helps
filter tests based on a regular expression search on the tests id.
(Robert Collins)
- New helper function
bzrlib.tests.condition_isinstance
which helps
filter tests based on class. (Robert Collins)
- New helper function
bzrlib.tests.exclude_suite_by_condition
which
generalises the exclude_suite_by_re
function. (Robert Collins)
- New helper function
bzrlib.tests.filter_suite_by_condition
which
generalises the filter_suite_by_re
function. (Robert Collins)
- New helper method
bzrlib.tests.exclude_tests_by_re
which gives a new
TestSuite that does not contain tests from the input that matched a
regular expression. (Robert Collins)
- New helper method
bzrlib.tests.randomize_suite
which returns a
randomized copy of the input suite. (Robert Collins)
- New helper method
bzrlib.tests.split_suite_by_re
which splits a test
suite into two according to a regular expression. (Robert Collins)
- Parametrize all HTTP tests for the transport implementations, the HTTP protocol versions (1.0 and 1.1) and the authentication schemes.
(Vincent Ladeuil)
- The
exclude_pattern
and random_order
parameters to the function
bzrlib.tests.filter_suite_by_re
have been deprecated. (Robert Collins)
- The method
bzrlib.tests.sort_suite_by_re
has been deprecated. It is
replaced by the new helper methods added in this release. (Robert Collins)