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)
28
* The default sort order for the ``bzr tags`` command now uses a natural sort
29
where numeric substrings are sorted numerically. The previous default was
30
"asciibetical" where tags were sorted by the characters they contained. To
31
get the old behavior, one can use ``bzr tags --sort=alpha``.
32
(Neil Martinsen-Burrell, #640760)
37
* The ``lp:`` prefix will now use your known username (from
38
``bzr launchpad-login``) to expand ``~`` to your username. For example:
39
``bzr launchpad-login user && bzr push lp:~/project/branch`` will now
40
push to ``lp:~user/project/branch``. (John Arbash Meinel)
42
Performance improvements
43
************************
45
* ``bzr revert`` and ``bzr status`` are up to 15% faster on large trees
46
with many changes by not repeatedly building a list of all file-ids.
49
* ``bzr send`` uses less memory.
50
(John Arbash Meinel, #614576)
52
* Inventory entries now consume less memory (on 32-bit Ubuntu file entries
53
have dropped from 68 bytes to 40, and directory entries from 120 bytes
54
to 48). This affects most operations, and depending on the size of the
55
tree may substantially improve the speed of operations like ``bzr
56
commit``. (Andrew Bennetts)
58
* Lower memory consumption when reading many chk index pages. Helpful for
59
things like ``bzr co`` or ``bzr ls -R`` on large trees.
62
* When building new working trees, default to reading from the repository
63
rather than the source tree unless explicitly requested. (via
64
``--files-from`` and ``--hardlink`` for ``bzr branch`` and
65
``bzr checkout``. Generally, 2a format repositories extract
66
content faster than seeking and reading content from another tree,
67
especially in cold-cache situations. (John Arbash Meinel, #607298)
69
New revision specifiers
70
***********************
72
* The ``mainline`` revision specifier has been added. It takes another revision
73
spec as its input, and selects the revision which merged that revision into
76
For example, ``bzr log -vp -r mainline:1.2.3`` will show the log of the
77
revision that merged revision 1.2.3 into mainline, along with its status
78
output and diff. (Aaron Bentley)
80
* The ``annotate`` revision specifier has been added. It takes a path and a
81
line as its input (in the form ``path:line``), and selects the revision which
82
introduced that line of that file.
84
For example: ``bzr log -vp -r annotate:bzrlib/transform.py:500`` will select
85
the revision that introduced line 500 of transform.py, and display its log,
86
status output and diff.
88
It can be combined with ``mainline`` to select the revision that landed this
89
line into trunk, like so:
90
``bzr log -vp -r mainline:annotate:bzrlib/transform.py:500``
96
* Shell-like scripts can now be run directly from the command line without
97
writing a python test. This should help users adding reproducing recipes
98
to bug reports. (Vincent Ladeuil)
101
Improved conflict handling
102
**************************
104
* ``pull``, ``merge`` or ``switch`` can lead to conflicts when deleting a
105
versioned directory contains unversioned files. The cause of the conflict
106
is that deleting the directory will orphan the unversioned files so the
107
user needs to instruct ``bzr`` what do to do about these orpahns. This is
108
controlled by setting the ``bzr.transform.orphan_policy`` configuration
109
variable with a value of ``move``. In this case the unversioned files are
110
moved to a ``bzr-orphans`` directory at the root of the working tree. The
111
default behaviour is specified (if needed) by setting the variable to
112
``conflict``. (Vincent Ladeuil, #323111)
117
* A beta version of the documentation is now available in GNU TexInfo
118
format, used by emacs and the standalone ``info`` reader.
119
(Vincent Ladeuil, #219334)
124
``bzr`` can be configure via environment variables, command-line options
125
and configurations files. We've started working on unifying this and give
126
access to more options. The first step is a new ``bzr config`` command that
127
can be used to display the active configuration options in the current
128
working tree or branch as well as the ability to set or remove an option.
130
Expected releases for the 2.3 series
131
************************************
133
The 2.3 series has entered the beta phase and 2.3.0 should be released soon
134
enough to be included into Natty Narwhal.
136
As a rough estimate, consider that 2.3.0 will be released in February
137
2011 and be supported until August 2012. Additional releases will be
138
made if critical bugs are encountered
144
For more detailed information on the changes made, see the
145
the :doc:`../release-notes/index` for:
147
* the interim bzr `milestones <https://launchpad.net/bzr/2.3>`_
148
* the plugins you use.
150
For a summary of changes made in earlier releases, see:
152
* :doc:`whats-new-in-2.1`
153
* :doc:`whats-new-in-2.2`