2
2
What's New in Bazaar 2.3?
3
3
*************************
5
Bazaar 2.3 has been released on the 3rd of February 2011 and marks the start
6
of another long-term-stable series. From here, we will only make bugfix
7
releases on the 2.3 series (2.3.1, etc), while 2.4 will become our new
8
development series. The 2.1 and 2.2 series will also continue to get
9
bugfixes. (Currently 2.0 is planned to be EOLed circa September 2011.)
11
This document accumulates a high level summary of what's changed.
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.
13
8
:doc:`../release-notes/index` for a full list.
15
Users are encouraged to upgrade from the other stable series. This document
16
outlines the improvements in Bazaar 2.3 vs Bazaar 2.2. As well as summarizing
17
improvements made to the core product, it highlights enhancements within the
18
broader Bazaar world of potential interest to those upgrading.
20
Bazaar 2.3.1 includes all the fixes in the un-released 2.0.7, 2.1.4 and 2.2.5
21
versions that weren't included in 2.3.0 and fixes some bugs on its own.
23
Bazaar 2.3.2 is a bugfix release that was never released.
25
Bazaar 2.3.3 is a bugfix release including the fixes in 2.3.2 and
26
fixing the test helpers deprecated by python-2.7.
28
See the :doc:`../release-notes/index` for details.
30
Bazaar 2.3 is fully compatible both locally and on the network with 2.0, 2.1,
31
and 2.2. It can read and write repositories generated by all previous
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
37
* Committing a new revision in a stacked branch is now supported, as long as
38
you are using the current repository format (2a). It will preserve the
39
stacking invariants, etc, so that fetching after commit is guaranteed to
40
work. (John Arbash Meinel, #375013)
42
* Support for some old development formats have been removed:
43
``development-rich-root``, ``development6-rich-root``, and
44
``development7-rich-root``. These formats were always labelled experimental
45
and not used unless the user specifically asked for them. If you have
46
repositories using these old formats you should upgrade them to ``2a`` using
47
Bazaar 2.2. (Andrew Bennetts)
49
23
* The default ``ignore`` file created by Bazaar will contain ``__pycache__``,
50
24
which is the name of the directory that will be used by Python to store
52
26
(Andrea Corbellini, #626687)
54
* The default sort order for the ``bzr tags`` command now uses a natural sort
55
where numeric substrings are sorted numerically. The previous default was
56
"asciibetical" where tags were sorted by the characters they contained. To
57
get the old behavior, one can use ``bzr tags --sort=alpha``.
58
(Neil Martinsen-Burrell, #640760)
60
* On platforms other than Windows and Mac OS X, Bazaar will use configuration
61
files that live in $XDG_CONFIG_HOME/bazaar if that directory exists. This
62
allows interested individuals to conform to the XDG Base Directory
63
specification. The plugin location has not changed and is still
64
~/.bazaar/plugins. To use a different directory for plugins, use the
65
environment variable BZR_PLUGIN_PATH. (Neil Martinsen-Burrell, #195397)
67
* ``bzr upgrade`` now operates recursively when run on a shared
68
repository, automatically upgrading the branches within it, and has
69
grown additional options for showing what it will do and cleaning up
70
after itself. (Ian Clatworthy, Matthew Fuller, #89830, #374734, #422450)
72
28
Launchpad integration
73
29
*********************
114
60
content faster than seeking and reading content from another tree,
115
61
especially in cold-cache situations. (John Arbash Meinel, #607298)
117
New revision specifiers
118
***********************
120
* The ``mainline`` revision specifier has been added. It takes another revision
121
spec as its input, and selects the revision which merged that revision into
124
For example, ``bzr log -vp -r mainline:1.2.3`` will show the log of the
125
revision that merged revision 1.2.3 into mainline, along with its status
126
output and diff. (Aaron Bentley)
128
* The ``annotate`` revision specifier has been added. It takes a path and a
129
line as its input (in the form ``path:line``), and selects the revision which
130
introduced that line of that file.
132
For example: ``bzr log -vp -r annotate:bzrlib/transform.py:500`` will select
133
the revision that introduced line 500 of transform.py, and display its log,
134
status output and diff.
136
It can be combined with ``mainline`` to select the revision that landed this
137
line into trunk, like so:
138
``bzr log -vp -r mainline:annotate:bzrlib/transform.py:500``
141
Testing/Bug reporting
142
*********************
144
* Shell-like scripts can now be run directly from the command line without
145
writing a python test. This should help users adding reproducing recipes
146
to bug reports. (Vincent Ladeuil)
149
Improved conflict handling
150
**************************
152
* ``pull``, ``merge`` or ``switch`` can lead to conflicts when deleting a
153
versioned directory contains unversioned files. The cause of the conflict
154
is that deleting the directory will orphan the unversioned files so the
155
user needs to instruct ``bzr`` what do to do about these orpahns. This is
156
controlled by setting the ``bzr.transform.orphan_policy`` configuration
157
variable with a value of ``move``. In this case the unversioned files are
158
moved to a ``bzr-orphans`` directory at the root of the working tree. The
159
default behaviour is specified (if needed) by setting the variable to
160
``conflict``. (Vincent Ladeuil, #323111)
162
* ``bzr resolve --take-this`` and ``bzr resolve --take-other`` can now be
163
used for text conflicts. This will ignore the differences that were merged
164
cleanly and replace the file with its content in the current branch
165
(``--take-this``) or with its content in the merged branch
166
(``--take-other``). (Vincent Ladeuil, #638451)
168
* ``bzr resolve`` now provides more feedback about the conflicts just
169
resolved and the remaining ones. (Vincent Ladeuil)
174
65
* A beta version of the documentation is now available in GNU TexInfo
175
66
format, used by emacs and the standalone ``info`` reader.
176
67
(Vincent Ladeuil, #219334)
181
``bzr`` can be configured via environment variables, command-line options
182
and configurations files. We've started working on unifying this and give
183
access to more options. The first step is a new ``bzr config`` command that
184
can be used to display the active configuration options in the current
185
working tree or branch as well as the ability to set or remove an
186
option. Scripts can also use it to get only the value for a given option.
188
70
Further information
189
71
*******************