1
What's New in Bazaar 2.1?
2
=========================
4
This document outlines the major improvements in Bazaar 2.1
5
vs Bazaar 2.0. As well as summarizing improvements made to
6
the core product, it highlights enhancements within the broader
7
Bazaar world of potential interest to those upgrading.
9
Bazaar 2.1.0 marks the start of our second long-term-stable series.
10
This series will be supported with bug fixes for the next 12 months.
11
All users are encouraged to upgrade from the 2.0.x stable series.
17
Many operations now consume less memory. Several operations are
18
also faster including branching, logging merged revisions and
19
upgrading from pre-2a to 2a format.
25
Several commands have new options. These include:
27
=========== ============== ======================================
28
Command Option Description
29
=========== ============== ======================================
30
branch bind Bind to the source location
31
commit commit-time Give an explicit commit timestamp
32
switch revision Switch to a particular revision
33
unshelve keep Apply changes but don't delete them
34
unshelve preview Show the diff that would result from
36
update revision Update to a particular revision
37
=========== ============== ======================================
39
Other command improvements include:
41
* A :doc:`../user-reference/shelve-help` editor can be defined to provide shelf functionality at
42
a granularity finer than per-patch hunk.
44
* :doc:`../user-reference/send-help` send now supports the OS X Mail application.
46
See the help for the commands above for further details.
52
Hooks can now be defined for smart merging of selected file types.
53
This enables easier merging of ChangeLogs, Release Notes and other
54
file that frequently conflict.
57
DWIM revision identifiers
58
-------------------------
60
Revision identifiers can now be given in a *Do-What-I-Mean* style.
61
For example, you can now just give a tag (instead of saying ``tag:xxx``)
62
or just say ``today`` (instead of saying ``date:today``). Prefixes
63
are now only required if the revision spec could be ambiguous.
65
Launchpad compatibility
66
-----------------------
68
Launchpad has `announced
69
<http://blog.launchpad.net/general/edge-is-deprecated>`_ that the
70
``edge.launchpad.net`` instance is deprecated and may be shut down in the
71
future . Bazaar has therefore been updated in this release to talk to the main
72
(``launchpad.net``) servers, rather than the ``edge`` ones (the same code is
73
running on both servers during the interim).
79
Patterns prefixed with ``!`` are exceptions to ignore patterns and
80
take precedence over regular ignores. Such exceptions are used to
81
specify files that should be versioned which would otherwise be
82
ignored. Patterns prefixed with ``!!`` act as regular ignore patterns,
83
but have highest precedence, even over the ``!`` exception patterns.
86
Smart server home directory support
87
-----------------------------------
89
``bzr+ssh`` and ``bzr`` paths can now be relative to home directories
90
specified in the URL. Paths starting with a path segment of ``~`` are
91
relative to the home directory of the user running the server, and paths
92
starting with ``~user`` are relative to the home directory of the named
93
user. For example, for a user "bob" with a home directory of
94
``/home/bob``, these URLs are all equivalent:
96
* ``bzr+ssh://bob@host/~/repo``
97
* ``bzr+ssh://bob@host/~bob/repo``
98
* ``bzr+ssh://bob@host/home/bob/repo``
100
If ``bzr serve`` was invoked with a ``--directory`` argument, then no
101
home directories outside that directory will be accessible via this
104
This is a feature of ``bzr serve``, so pre-2.1 clients will
105
automatically benefit from this feature when ``bzr`` on the server is
109
Generalized glob support on Windows
110
-----------------------------------
112
On Windows, glob expansion is now handled in a universal way across
113
all commands. In previous versions, it was explicitly handed by just
114
a few commands, e.g. ``add``. A side effect of this change is that
115
patterns now need to be quoted when passed to the ``ignore`` command,
116
e.g. ``bzr ignore *.foo`` now needs to be given as ``bzr ignore "*.foo"``.
119
Improved Git and Mercurial interoperability
120
-------------------------------------------
122
Many improvements have been made to the git_ and hg_ plugins.
123
With these plugins installed, most Git and Mercurial repositories
124
can now be read by standard Bazaar clients. Changes can also
125
be written back via the dpush command.
127
.. _git: http://doc.bazaar.canonical.com/plugins/en/git-plugin.html
128
.. _hg: http://doc.bazaar.canonical.com/plugins/en/hg-plugin.html
134
New plugins are available for constructing larger projects
135
from smaller ones. These include:
137
* builder_ - construction of a branch using recipes
138
* externals_ - Subversion-style external branches
142
The builder plugin has been designed to complement the builddeb_
143
plugin to streamline Debian source package management. It may also
144
be useful for building test images for a QA team or disk images
147
.. _builder: http://doc.bazaar.canonical.com/plugins/en/builder-plugin.html
148
.. _externals: http://doc.bazaar.canonical.com/plugins/en/externals-plugin.html
149
.. _builddeb: http://doc.bazaar.canonical.com/plugins/en/builddeb-plugin.html
152
Colocated branch workspaces
153
---------------------------
155
A colocated workspace is one where a single working tree is used
156
across one or more branches managed at that same location. This
157
is now supported by the new colo_ plugin and by Bazaar Explorer.
159
.. _colo: http://doc.bazaar.canonical.com/plugins/en/colo-plugin.html
165
A :doc:`../admin-guide/index` covering topics such as setting up servers,
166
security, backups and email integration has been added.
168
A large number of documentation bugs have been fixed, clarifying
169
numerous issues and filling in some missing holes.
171
The :doc:`../user-reference/index`
172
has been organized into topics making it easier to
173
navigate through and print selected sections of.
175
To assist users migrating from other tools, a
176
`Survival Guide <http://doc.bazaar.canonical.com/migration/en/survival/index.html>`_
177
has been published explaining Bazaar to users of other tools in terms they
178
already know. Sections are provided for existing users of
179
CVS, Subversion, ClearCase, Perforce, Visual SourceSafe, Git, Mercurial,
182
Selected documents have also been translated to Japanese.
188
Numerous enhancements have been made to most of our GUIs including
189
Bazaar Explorer, TortoiseBZR and the QBzr-Eclipse add-on. These
190
applications all build on top of improvements made to QBzr. Bzr-gtk
191
has also been improved.
193
Bazaar Explorer has over a dozen new features including smart toolbars,
194
support for all bzr commands (including those in plugins),
195
a better working tree browser and a submit delta report showing the
196
cumulative effect of a series of commits.
197
See `What's New in Bazaar Explorer 1.0?
198
<http://doc.bazaar.canonical.com/explorer/en/whats-new/whats-new-in-1.0.html>`_
199
for more information.
205
For more detailed information on the changes made, be sure to check
206
the :doc:`../release-notes/index` for:
208
* the interim bzr `milestones <https://launchpad.net/bzr/2.1>`_
209
* the plugins you use.
212
The Bazaar Development Team