1
*************************
2
What's New in Bazaar 2.3?
3
*************************
5
Bazaar 2.3 is still under development, and will be released in February
6
2011. This document accumulates a high level summary of what's changed.
8
:doc:`../release-notes/index` for a full list.
10
Users are encouraged to upgrade from the other stable series. This
11
document outlines the improvements in Bazaar 2.3 vs Bazaar 2.2. As well as
12
summarizing improvements made to the core product, it highlights
13
enhancements within the broader Bazaar world of potential interest to
16
Bazaar 2.3.0 is fully compatible both locally and on the network with 2.0
17
2.1, and 2.2, and can read and write repositories generated by all
23
* The default ``ignore`` file created by Bazaar will contain ``__pycache__``,
24
which is the name of the directory that will be used by Python to store
26
(Andrea Corbellini, #626687)
31
* The ``lp:`` prefix will now use your known username (from
32
``bzr launchpad-login``) to expand ``~`` to your username. For example:
33
``bzr launchpad-login user && bzr push lp:~/project/branch`` will now
34
push to ``lp:~user/project/branch``. (John Arbash Meinel)
36
Performance improvements
37
************************
39
* ``bzr revert`` and ``bzr status`` are up to 15% faster on large trees
40
with many changes by not repeatedly building a list of all file-ids.
43
* ``bzr send`` uses less memory.
44
(John Arbash Meinel, #614576)
46
* Inventory entries now consume less memory (on 32-bit Ubuntu file entries
47
have dropped from 68 bytes to 40, and directory entries from 120 bytes
48
to 48). This affects most operations, and depending on the size of the
49
tree may substantially improve the speed of operations like ``bzr
50
commit``. (Andrew Bennetts)
52
* Lower memory consumption when reading many chk index pages. Helpful for
53
things like ``bzr co`` or ``bzr ls -R`` on large trees.
56
* When building new working trees, default to reading from the repository
57
rather than the source tree unless explicitly requested. (via
58
``--files-from`` and ``--hardlink`` for ``bzr branch`` and
59
``bzr checkout``. Generally, 2a format repositories extract
60
content faster than seeking and reading content from another tree,
61
especially in cold-cache situations. (John Arbash Meinel, #607298)
63
New revision specifiers
64
***********************
66
* The ``mainline`` revision specifier has been added. It takes another revision
67
spec as its input, and selects the revision which merged that revision into
70
For example, ``bzr log -vp -r mainline:1.2.3`` will show the log of the
71
revision that merged revision 1.2.3 into mainline, along with its status
72
output and diff. (Aaron Bentley)
74
* The ``annotate`` revision specifier has been added. It takes a path and a
75
line as its input (in the form ``path:line``), and selects the revision which
76
introduced that line of that file.
78
For example: ``bzr log -vp -r annotate:bzrlib/transform.py:500`` will select
79
the revision that introduced line 500 of transform.py, and display its log,
80
status output and diff.
82
It can be combined with ``mainline`` to select the revision that landed this
83
line into trunk, like so:
84
``bzr log -vp -r mainline:annotate:bzrlib/transform.py:500``
90
* A beta version of the documentation is now available in GNU TexInfo
91
format, used by emacs and the standalone ``info`` reader.
92
(Vincent Ladeuil, #219334)
98
For more detailed information on the changes made, see the
99
the :doc:`../release-notes/index` for:
101
* the interim bzr `milestones <https://launchpad.net/bzr/2.3>`_
102
* the plugins you use.
104
For a summary of changes made in earlier releases, see:
106
* :doc:`whats-new-in-2.1`
107
* :doc:`whats-new-in-2.2`