~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/en/whats-new/whats-new-in-2.2.txt

Merge cleanup into first-try resolving conflicts

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
*************************
1
2
What's New in Bazaar 2.2?
2
 
=========================
3
 
 
4
 
This document outlines the major improvements in Bazaar 2.2
5
 
vs Bazaar 2.1. 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.
8
 
 
9
 
.. warning::
10
 
 
11
 
   Bazaar 2.2.0 is currently in development. While less stable than
12
 
   Bazaar 2.1.x, we aim to keep quality at a high level:
13
 
 
14
 
   * Monthly beta releases should be suitable for early adopters of new
15
 
     features.
16
 
 
17
 
   * Nightly builds are suitable for users interested in assisting
18
 
     with testing.
19
 
 
20
 
   If it doubt, please use the latest 2.1 release instead.
21
 
 
 
3
*************************
 
4
 
 
5
Bazaar 2.2.0, released on the 6th of August 2010, marks the start of
 
6
another long-term-stable series. From here, we will only make bugfix
 
7
releases on the 2.2 series (2.2.1, etc), while 2.3 will become our new
 
8
development series. The 2.0 and 2.1 series will also continue to get
 
9
bugfixes. (Currently 2.0 is planned to be supported for another 6 months.)
 
10
 
 
11
Users are encouraged to upgrade from the other stable series.  This
 
12
document outlines the improvements in Bazaar 2.2 vs Bazaar 2.1. As well as
 
13
summarizing improvements made to the core product, it highlights
 
14
enhancements within the broader Bazaar world of potential interest to
 
15
those upgrading.
 
16
 
 
17
Bazaar 2.2.0 includes all the fixes from 2.1.2 and 2.0.6.
 
18
 
 
19
Over 120 bugs have been fixed in total.  See the
 
20
:doc:`../release-notes/index` for a full list.
 
21
 
 
22
Bazaar 2.2.0 is fully compatible both locally and on the network with 2.0
 
23
and 2.1, and can read and write repositories generated by all previous
 
24
versions.
 
25
 
 
26
 
 
27
Behaviour changes
 
28
*****************
 
29
 
 
30
There are some compatibility changes in this release.  
 
31
 
 
32
* For commandline users we no longer guess user identity for ``bzr
 
33
  commit``: users must specify their identity using ``bzr whoami`` (you
 
34
  don't need to specify your identity for readonly operations).
 
35
  This avoids problems where the previous guessed default caused commits
 
36
  be recorded as coming from, for example ``<sam@localhost>``.
22
37
 
23
38
Improved conflict handling
24
 
--------------------------
 
39
**************************
25
40
 
26
41
Tree-shape conflicts can be resolved by providing ``--take-this`` and
27
42
``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
28
43
as resolved is still accessible via the ``--done`` default action.
29
44
 
 
45
Local performance
 
46
*****************
 
47
 
 
48
* ``bzr init`` does not recursively scan directory contents anymore
 
49
  leading to faster init for directories with existing content.
 
50
  (Martin [gz], Parth Malwankar, #501307)
 
51
 
 
52
* Less code is loaded at startup, so there's less overhead on running all
 
53
  bzr commands.
 
54
  (Andrew Bennetts, Martin Pool)
 
55
 
 
56
* Reduce peak memory by one copy of compressed text.
 
57
  (John Arbash Meinel, #566940)
 
58
 
 
59
* Avoid repeated locking of local objects in ``diff``, ``missing``, and
 
60
  ``pull``, so those options are faster.
 
61
  (Andrew Bennetts)
 
62
 
 
63
Network performance
 
64
*******************
 
65
 
 
66
* Bazaar now reads data from SSH connections more efficiently on platforms
 
67
  that provide the ``socketpair`` function, and when using paramiko.
 
68
  (Andrew Bennetts, #590637)
 
69
 
 
70
* Index lookups in pack repositories search recently hit pack files
 
71
  first.  In repositories with many pack files this can greatly reduce the
 
72
  number of files accessed, the number of bytes read, and the number of
 
73
  read calls.  An incremental pull via plain HTTP takes half the time and
 
74
  bytes for a moderately large repository.  (Andrew Bennetts)
 
75
 
 
76
* Index lookups only re-order the indexes when the hit files aren't
 
77
  already first. Reduces the cost of reordering
 
78
  (John Arbash Meinel, #562429)
 
79
 
 
80
 
 
81
Command impprovements
 
82
*********************
 
83
 
 
84
* Added ``bzr remove-branch`` command that can remove a local or remote 
 
85
  branch. (Jelmer Vernooij, #276295)
 
86
 
 
87
* ``bzr export`` now takes an optional argument ``--per-file-timestamps``
 
88
  to set file mtimes to the last timestamp of the last revision in which
 
89
  they were changed rather than the current time. (Jelmer Vernooij)
 
90
 
 
91
* Tag names can now be determined automatically by ``automatic_tag_name`` 
 
92
  hooks on ``Branch`` if they are not specified on the command line.
 
93
  (Jelmer Vernooij)
 
94
 
 
95
* Tree-shape conflicts can be resolved by providing ``--take-this`` and
 
96
  ``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
 
97
  as resolved is still accessible via the ``--done`` default action.
 
98
  (Vincent Ladeuil)
 
99
 
 
100
* The ``--directory`` option is supported for a number of additional
 
101
  commands: added, annotate, bind, cat, cat-revision, clean-tree,
 
102
  conflicts, deleted, export, ignore, ignored, lookup-revision, ls,
 
103
  merge-directive, missing, modified, nick, re-sign, resolve, shelve,
 
104
  switch, unbind, unknowns, unshelve, whoami.  
 
105
  (Martin von Gagern, #527878)
 
106
 
 
107
* ``bzr commit`` accepts ``-p`` (for "patch") as a shorter name for
 
108
  ``--show-diff``.
 
109
  (Parth Malwankar, #571467)
 
110
  
 
111
* ``bzr ignore`` now supports a ``--default-rules`` option that displays
 
112
  the default ignore rules used by bzr. The flag ``--old-default-rules``
 
113
  is no longer supported by ``ignore``.
 
114
  (Parth Malwankar, #538703)
 
115
 
 
116
* ``bzr pack`` now supports a ``--clean-obsolete-packs`` option that
 
117
  can save disk space by deleting obsolete pack files created during the
 
118
  pack operation.
 
119
  (Parth Malwankar, #304320)
 
120
 
 
121
* New command line option ``--authors`` to ``bzr log`` allows users to
 
122
  select which of the apparent authors and committer should be
 
123
  included in the log. Defaults depend on format. (Martin von Gagern, #513322)
 
124
 
 
125
* The bash_completion plugin from the bzr-bash-completion project has
 
126
  been merged into the tree. It provides a bash-completion command and
 
127
  replaces the outdated ``contrib/bash/bzr`` script with a version
 
128
  using the plugin. (Martin von Gagern, #560030)
 
129
 
 
130
* A new transport based on GIO (the gnome i/o library) provides access to
 
131
  samba shares, webdav using gio+smb and gio+dav. It is also possible to
 
132
  use gio for some already existing transport methods as gio+file,
 
133
  gio+sftp, gio+ftp. 
 
134
  (Mattias Eriksson)
 
135
 
 
136
 
 
137
Controlling plugins
 
138
*******************
 
139
 
 
140
* Plugins can be disabled by defining ``BZR_DISABLE_PLUGINS`` as
 
141
  a list of plugin names separated by ':' (';' on windows).
 
142
  (Vincent Ladeuil, #411413)
 
143
 
 
144
* Plugins can be loaded from arbitrary locations by defining
 
145
  ``BZR_PLUGINS_AT`` as a list of ``name@path`` separated by ':' (';' on
 
146
  Microsoft
 
147
  Windows). This takes precedence over ``BZR_PLUGIN_PATH`` for the
 
148
  specified plugins, and is expected to be most useful for plugin
 
149
  developers.
 
150
  (Vincent Ladeuil, #82693)
 
151
 
 
152
 
 
153
Apport crash reporting
 
154
**********************
 
155
 
 
156
* If the Apport crash-reporting tool is available, bzr crashes are now
 
157
  stored into the ``/var/crash`` apport spool directory, and the user is
 
158
  invited to report them to the developers from there, either
 
159
  automatically or by running ``apport-bug``.  No information is sent
 
160
  without specific permission from the user.  (Martin Pool, #515052)
 
161
 
30
162
 
31
163
Improved Launchpad integration
32
 
------------------------------
33
 
 
34
 
Merges can be proposed on Launchpad with the new **lp-propose-merge**
35
 
command.
36
 
 
37
 
 
38
 
Notable plugin enhancements
39
 
---------------------------
40
 
 
41
 
The grep plugin ...
 
164
******************************
 
165
 
 
166
* Merges can be proposed on Launchpad with the new ``lp-propose-merge``
 
167
  command.
42
168
 
43
169
 
44
170
Better documentation
45
 
--------------------
46
 
 
47
 
Numerous improvements have been made to the developer documentation.
48
 
 
49
 
 
50
 
Enhanced GUI clients
51
 
--------------------
52
 
 
53
 
(Details coming soon.)
 
171
********************
 
172
 
 
173
* ``bzr help patterns`` now explains case insensitive patterns and
 
174
  points to Python regular expression documentation.
 
175
  (Parth Malwankar, #594386)
 
176
 
 
177
* Numerous improvements have been made to the developer documentation.
 
178
 
 
179
  
 
180
Changes to plugins
 
181
******************
 
182
 
 
183
 
 
184
bzr grep
 
185
========
 
186
 
 
187
The `grep plugin <https://launchpad.net/bzr-grep>`_  has developed well
 
188
during the bzr 2.2 cycle.  bzr grep can search the versioned files in the
 
189
working tree, or in one or a series of revisions, or it can search through
 
190
only the changes in a revision range.
 
191
 
 
192
qbzr
 
193
====
 
194
 
 
195
`qbzr <https://launchpad.net/qbzr>`_, a cross-platform graphical interface
 
196
to Bazaar, gained many features and fixes in its 0.19 release, including:
 
197
 
 
198
* qannotate has new look and feel; with new features: find text and goto
 
199
  to line.
 
200
 
 
201
* Improved performance of qlog, and treewidget-based dialogs (qcommit,
 
202
  qadd, qrevert etc.)
 
203
 
 
204
* qpush, qmerge, etc.: When there are uncommitted changes in the working
 
205
  tree, user has the option to commit, or revert.
 
206
 
 
207
* qcommit: user can update bound branch/chgeckout if it is not up to date.
 
208
 
 
209
* Fixed bug with Mac OS X support when windows start in background.
 
210
  (Thanks to Luis Arias)
 
211
 
 
212
* qlog: Context menu actions for tag, and revert will now show a branch
 
213
  menu if more than one branch is open.
 
214
 
 
215
* qlog: more context menu actions for update, cherry-pick, and reverse
 
216
  cherry-pick.
 
217
 
 
218
* Language of GUI can be set in DEFAULT section of bazaar.conf as
 
219
``language = code``. Language codes are the same as for LANG environment
 
220
  variable. Environment variable LANGUAGE still preferred over settings
 
221
  in bazaar.conf.
 
222
 
 
223
* Language of GUI can be set in DEFAULT section of bazaar.conf 
 
224
  as ``language = code``. Language codes are the same as for LANG environment
 
225
  variable. Environment variable LANGUAGE still preferred over settings
 
226
  in bazaar.conf. (Alexander Belchenko)
 
227
 
 
228
* New Thai and Hungarian translations.
 
229
 
 
230
 
 
231
Platform-specific changes
 
232
*************************
 
233
 
 
234
Microsoft Windows
 
235
=================
 
236
 
 
237
* There's a new py2exe windows program ``bzrw.exe``, which allows for starting a Bazaar GUI with out have a console open in the background.  (Gary van der Merwe, #433781`) 
 
238
 
 
239
* The all-in-one Windows installer will now be built with docstrings stripped
 
240
  from the library zip, reducing the size and slightly improving cold startup
 
241
  time. Bundled plugins are unchanged for the moment, but if adding other new
 
242
  plugins to an all-in-one installation, ensure they are compiled and
 
243
  installed with -O1 or help may not work. (Martin [gz])
 
244
 
 
245
* Parsing of command lines, for example in ``diff --using``, no longer
 
246
  treats backslash as an escape character on Windows.   (Gordon Tyler,
 
247
  #392248)
 
248
 
 
249
 
 
250
API changes
 
251
***********
 
252
 
 
253
* BzrError subclasses no longer support the name "message" to be used
 
254
  as an argument for __init__ or in _fmt format specification as this
 
255
  breaks in some Python versions. errors.LockError.__init__ argument
 
256
  is now named "msg" instead of earlier "message".
 
257
  (Parth Malwankar, #603461)
 
258
 
 
259
* The old ``bzr selftest --benchmark`` option has been removed.
 
260
  <https://launchpad.net/bzr-usertest> is an actively-maintained
 
261
  macrobenchmark suite.
 
262
  (Martin Pool)
 
263
 
 
264
* bzrlib library users now need to call ``__enter__`` and ``__exit__`` on
 
265
  the result of ``bzrlib.initialize``. This change was made when fixing
 
266
  the bad habit recent bzr versions have had of leaving progress bars 
 
267
  behind on the screen. That required calling another function before
 
268
  exiting the program, and it made sense to provide a full context
 
269
  manager at the same time. (Robert Collins)
 
270
 
 
271
* The ``bzr`` front end now requires a ``bzrlib.ui.ui_factory`` which is a
 
272
  context manager in the Python 2.5 and above sense. The bzrlib base class
 
273
  is such a manager, but third party UI factories which do not derive from
 
274
  ``bzrlib.ui.UIFactory`` will be incompatible with the command line front
 
275
  end.
 
276
 
 
277
* URLs like ``foo:bar/baz`` are now always parsed as a URL with scheme "foo"
 
278
  and path "bar/baz", even if bzr does not recognize "foo" as a known URL
 
279
  scheme.  Previously these URLs would be treated as local paths.
 
280
  (Gordon Tyler)
54
281
 
55
282
 
56
283
Further information
57
 
-------------------
 
284
*******************
58
285
 
59
 
For more detailed information on the changes made, be sure to check
 
286
For more detailed information on the changes made, see the
60
287
the :doc:`../release-notes/index` for:
61
288
 
62
289
* the interim bzr `milestones <https://launchpad.net/bzr/2.2>`_
66
293
 
67
294
* :doc:`whats-new-in-2.1`
68
295
 
69
 
Enjoy,
70
 
The Bazaar Development Team
 
296
 
 
297
.. vim: ft=rst