bzr 1.1rc1 2008-01-05
---------------------
CHANGES:
* 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:
* 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.
``get_parents`` is now considered deprecated. (John Arbash Meinel)
* Patience Diff now supports arbitrary python objects, as long as they
support ``hash()``. (John Arbash Meinel)
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)