~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-09-29 22:03:03 UTC
  • mfrom: (5416.2.6 jam-integration)
  • Revision ID: pqm@pqm.ubuntu.com-20100929220303-cr95h8iwtggco721
(mbp) Add 'break-lock --force'

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
.. contents:: List of Releases
6
6
   :depth: 1
7
7
 
8
 
bzr 2.2.0b1
9
 
###########
10
 
 
11
 
:Codename: ???
12
 
:2.2.0b1: Not released yet
13
 
 
14
 
Compatibility Breaks
15
 
********************
 
8
bzr 2.3b2
 
9
#########
 
10
 
 
11
:2.3.b2: NOT RELEASED YET
 
12
 
 
13
Compatibility Breaks
 
14
********************
 
15
 
 
16
New Features
 
17
************
 
18
 
 
19
* Add ``mainline`` revision specifier, which selects the revision that
 
20
  merged a specified revision into the mainline.  (Aaron Bentley)
 
21
 
 
22
* Add ``annotate`` revision specifier, which selects the revision that
 
23
  introduced a specified line of a file.  (Aaron Bentley)
 
24
 
 
25
* ``bzr status`` now displays a summary of existing shelves after
 
26
  the other status information. This is done using a ``post_status``
 
27
  hook.
 
28
  (Parth Malwankar, #403687)
 
29
 
 
30
Bug Fixes
 
31
*********
 
32
 
 
33
* ``bzr break-lock --force`` breaks the lock without prompting.  (Before
 
34
  using this, make sure the process holding the lock really is dead.)
 
35
  (Martin Pool, #392315)
 
36
 
 
37
* Skip tests that needs a bzr source tree when there isn't one. This is
 
38
  needed to succesfully run the test suite for installed versions.
 
39
  (Vincent Ladeuil, #644855).
 
40
 
 
41
* Skip the tests that requires respecting the chmod bits when running as root.
 
42
  (Vincent Ladeuil, #646133)
 
43
 
 
44
Improvements
 
45
************
 
46
 
 
47
Documentation
 
48
*************
 
49
 
 
50
API Changes
 
51
***********
 
52
 
 
53
Internals
 
54
*********
 
55
 
 
56
* Small change to GroupCompressBlock to work more in terms of 'chunks'
 
57
  rather than 'content' for its compressed storage. (John Arbash Meinel)
 
58
 
 
59
* When running ``bzr selftest --subunit`` the subunit stream will no
 
60
  longer include the "log" information for tests which are considered to
 
61
  be 'successes' (success, xfail, skip, etc) (John Arbash Meinel)
 
62
 
 
63
Testing
 
64
*******
 
65
 
 
66
* Fix tests that failed when run under ``LANG=C``.
 
67
  (Andrew Bennetts, #632387)
 
68
 
 
69
* Use tests.TestCaseInTempDir for tests that requires disk resources.
 
70
  (Vincent Ladeuil, #650001)
 
71
 
 
72
bzr 2.3b1
 
73
#########
 
74
 
 
75
:2.3b1: 2010-09-20
 
76
 
 
77
This is the first beta of the 2.3 series, leading up to a 2.3.0
 
78
release in January or February.  Beta releases are suitable for everyday use
 
79
but may cause some incompatibilities with plugins.  Some plugins may need
 
80
small updates to work with 2.3b1.
 
81
 
 
82
2.3b1 includes some performance improvements in both speed and memory
 
83
consumption, some preliminary support for generating a texinfo version of
 
84
the doc and better support for launchpad.  Many changes were made to make
 
85
our test suite more robust as well as numerous documentation fixes.  It
 
86
improves the common infrastructure for dealing with colocated named
 
87
branches and foreign branches.  We plan to continue with these themes
 
88
through the 2.3 series.
 
89
 
 
90
It also includes bug fixes for 2.0.6, 2.1.3 and 2.2.1 and over 40 fixes of
 
91
its own.
 
92
 
 
93
 
 
94
Compatibility Breaks
 
95
********************
 
96
 
 
97
* BzrError subclasses no longer support the name "message" to be used
 
98
  as an argument for __init__ or in _fmt format specification as this
 
99
  breaks in some Python versions. errors.LockError.__init__ argument
 
100
  is now named "msg" instead of earlier "message".
 
101
  (Parth Malwankar, #603461)
 
102
 
 
103
* Additional merges after an unrelated branch has been merged with its
 
104
  history no longer crash when deleted files are involved.
 
105
  (Vincent Ladeuil, John Arbash Meinel, #375898)
 
106
 
 
107
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
 
108
  previously-unversioned directory within the tree: the directory is
 
109
  marked versioned too.
 
110
  (Martin Pool, #192859)
 
111
 
 
112
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
 
113
  target of the symlink.
 
114
  (Martin Pool, John Arbash Meinel, #128562)
 
115
 
 
116
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
117
  permissions as ``.bzr`` directory on a POSIX OS.
 
118
  (Parth Malwankar, #262450)
 
119
 
 
120
* ``bzrlib.transform.TreeTransformBase.final_kind``,
 
121
  ``bzrlib.transform.TreeTransform.tree_kind`` and
 
122
  ``bzrlib.transform.TransformPreview.tree_kind`` now return None instead
 
123
  of raising NoSuchFile.  (Vincent Ladeuil)
 
124
 
 
125
* CommitBuilder now uses the committer instead of _config.username to generate
 
126
  the revision-id.  (Aaron Bentley, #614404)
 
127
 
 
128
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
 
129
  way which should help avoid problems with concurrent writers.
 
130
  (Vincent Ladeuil, #525571)
 
131
 
 
132
* `ControlDirFormat` and  `ControlDir` have been split out of `BzrDirFormat`
 
133
  and `BzrDir`, respectively. `ControlDirFormat`
 
134
  and `ControlDir` should be used as the base classes for new non-.bzr
 
135
  implementations.
 
136
 
 
137
  `BzrDirFormat.register_control_format` has been renamed to
 
138
  `ControlDirFormat.register_format`.
 
139
 
 
140
  `BzrDirFormat.register_server_control_format` has been removed.
 
141
 
 
142
  Probing for control directories is now done by separate objects derived
 
143
  from `bzrlib.controldir.Prober` and registered using
 
144
  `bzrlib.controldir.ControlDirFormat.register_prober` or
 
145
  `bzrlib.controldir.ControlDirFormat.register_server_prober`.
 
146
  `BzrDirFormat.probe_transport` has been moved onto `Prober`.
 
147
 
 
148
  `BzrDirFormat.register_format` has been renamed to
 
149
  `BzrProber.register_bzrdir_format`.
 
150
 
 
151
  `bzrlib.bzrdir.network_format_registry` has been moved to
 
152
  `bzrlib.controldir`.
 
153
 
 
154
  (Jelmer Vernooij)
 
155
 
 
156
* Cope with Microsoft FTP server that returns reply '250 Directory
 
157
  created' when mkdir succeeds.  (Martin Pool, #224373)
 
158
 
 
159
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
 
160
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
 
161
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
 
162
  
 
163
* `decode` parameter to get() method in FtpTransport and GioTransport classes
 
164
  is deprecated. (Alexander Belchenko)
 
165
 
 
166
* `FileInWrongBranch` is deprecated in favour of `PathNotChild` and no
 
167
  longer raised.
 
168
  (Martin Pool)
 
169
 
 
170
* Fix ``AttributeError on parent.children`` when adding a file under a
 
171
  directory that was a symlink in the previous commit.
 
172
  (Martin Pool, #192859)
 
173
 
 
174
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
 
175
  ``_close_ssh_proc`` when using ``bzr+ssh://``.  This was causing
 
176
  connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
 
177
  stderr in some other circumstances.  (Andrew Bennetts, #633745)
 
178
 
 
179
* Only call ``setlocale`` in the bzr startup script on posix systems. This
 
180
  avoids an issue with the newer windows C runtimes used by Python 2.6 and
 
181
  later which can mangle bytestrings printed to the console.
 
182
  (Martin [gz], #631350)
 
183
 
 
184
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
185
  which can result in "missing referenced chk root keys" errors when
 
186
  fetching from repositories with affected revisions.
 
187
  (Andrew Bennetts, #522637)
 
188
 
 
189
* Raise ValueError instead of a string exception.
 
190
  (John Arbash Meinel, #586926)
 
191
 
 
192
* Reduce peak memory by one copy of compressed text.
 
193
  (John Arbash Meinel, #566940)
 
194
 
 
195
* Repositories accessed via a smart server now reject being stacked on a
 
196
  repository in an incompatible format, as is the case when accessing them
 
197
  via other methods.  This was causing fetches from those repositories via
 
198
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
 
199
  (Andrew Bennetts, #562380)
 
200
 
 
201
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
 
202
  error. This error was caused by 2.0 not being updated when upstream
 
203
  python merged the end of run patch, which chose ``stopTestRun`` rather than
 
204
  ``done``. (Robert Collins, #571437)
 
205
 
 
206
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
 
207
  being thrown from ``xml_serializer`` on certain cElementTree setups.
 
208
  (Martin [gz], #254278)
 
209
 
 
210
* The old ``bzr selftest --benchmark`` option has been removed.
 
211
  <https://launchpad.net/bzr-usertest> is an actively-maintained
 
212
  macrobenchmark suite.
 
213
  (Martin Pool)
 
214
 
 
215
* `tree_files` and `internal_tree_files` are now deprecated in favor of
 
216
  `WorkingTree.open_containing_paths`.
 
217
  (Martin Pool)
 
218
 
 
219
* Upgrading or fetching from a non-rich-root repository to a rich-root
 
220
  repository (e.g. from pack-0.92 to 2a) no longer fails with
 
221
  ``'Inter1and2Helper' object has no attribute 'source_repo'``.  This was
 
222
  a regression from Bazaar 2.1.  (Andrew Bennetts, #636930)
 
223
  
 
224
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
225
  directory file handle after the chdir fails. Otherwise when passing many
 
226
  filenames into a command line ``bzr status`` we would leak descriptors.
 
227
  (John Arbash Meinel, #583486)
 
228
 
 
229
New Features
 
230
************
 
231
 
 
232
* Added ``pre_status`` and ``post_status`` hooks. This allows plugins
 
233
  to register custom handlers which will be invoked before/after the
 
234
  standard status output is displayed. (Parth Malwankar)
 
235
 
 
236
* ``bzr break-lock --config [location]`` can now break config files
 
237
  locks. (Vincent Ladeuil, #525571)
 
238
 
 
239
* ``bzrlib.config.LockableConfig`` is a base class for config files that
 
240
  needs to be protected against multiple writers. All methods that
 
241
  change a configuration variable value must be decorated with
 
242
  @needs_write_lock (set_option() for example).
 
243
  (Vincent Ladeuil,  #525571)
 
244
 
 
245
* The ``lp:`` prefix will now use your known username (from
 
246
  ``bzr launchpad-login``) to expand ``~`` to your username.  For example:
 
247
  ``bzr launchpad-login user && bzr push lp:~/project/branch`` will now
 
248
  push to ``lp:~user/project/branch``.  (John Arbash Meinel)
 
249
 
 
250
* New development format ``development8-subtree`` which is similar to the 
 
251
  ``2a`` format and adds subtree support. (Jelmer Vernooij)
 
252
 
 
253
Bug Fixes
 
254
*********
 
255
 
 
256
* Fix traceback with python-2.7's xmlrpclib
 
257
  (Toshio Kuratomi, #612096)
 
258
 
 
259
* Allow using both --using and --diff-options. 
 
260
  (Matthäus G. Chajdas, #234708)
 
261
 
 
262
* Allow using non-integer bug ID with generic bug trackers.
 
263
  (Alexandre Garnier, #440472)
 
264
 
 
265
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
 
266
  previously-unversioned directory within the tree: the directory is
 
267
  marked versioned too.  
 
268
  (Martin Pool, #192859)
 
269
 
 
270
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
 
271
  ``InvalidPattern`` exception error message now shows faulting
 
272
  regular expression.
 
273
  (Parth Malwankar #300062)
 
274
 
 
275
* ``clean-tree`` issues a warning if it is unable to delete a file
 
276
  due to ``errno.EACCES`` instead of exiting with an error on Windows.
 
277
  (Parth Malwankar, #430785)
 
278
 
 
279
* CommitBuilder now uses the committer instead of _config.username to generate
 
280
  the revision-id.  (Aaron Bentley, #614404)
 
281
 
 
282
* Configuration files in ``${BZR_HOME}`` are now protected against
 
283
  concurrent writers by using a lock. (Vincent Ladeuil, #525571)
 
284
 
 
285
* Cope with Microsoft FTP Server and VSFTPd that return reply '250
 
286
  Directory created' when mkdir succeeds.  (Martin Pool, #224373)
 
287
 
 
288
* Decrease peak memory during ``bzr send``. The old code was caching all
 
289
  text content and all inventory strings for all revisions before
 
290
  computing the diffs. Now we only cache as long as there is a child that
 
291
  will need them. Sending 2000 bzr revisions drops from 1.2GB peak to
 
292
  256MB peak. (John Arbash Meinel, #614576)
 
293
 
 
294
* Don't print internal object name when print an invalid revision spec
 
295
  error.  (Neil Martinsen-Burrell, #598701)
 
296
 
 
297
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
 
298
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
 
299
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
 
300
  
 
301
* ``EPIPE`` can be raised during test server shutdown. This happened on
 
302
  gentoo only so far. (Vincent Ladeuil, #627277)
 
303
 
 
304
* Errors occurring during http(s) test server starts should now be
 
305
  handled cleanly. (Vincent Ladeuil, #392402)
 
306
 
 
307
* Fix ``AttributeError on parent.children`` when adding a file under a 
 
308
  directory that was a symlink in the previous commit.
 
309
  (Martin Pool, #192859)
 
310
 
 
311
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
 
312
  ``_close_ssh_proc`` when using ``bzr+ssh://``.  This was causing
 
313
  connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
 
314
  stderr in some other circumstances.  (Andrew Bennetts, #633745)
 
315
 
 
316
* Fix spurious paramiko warning on hardy by ensuring that ``selftest``
 
317
  properly remove its warning filter. (Vincent Ladeuil, #625686)
 
318
 
 
319
* ``HTTP/1.1`` test servers now set a ``Content-Length`` header to comply
 
320
  with pedantic ``HTTP/1.1`` clients. (Vincent Ladeuil, #568421)
 
321
 
 
322
* Most of the leaked threads during selftest are now fixed, allowing the
 
323
  full test suite to pass on gentoo.
 
324
  (Vincent Ladeuil, #392127)
 
325
 
 
326
* Only call ``setlocale`` in the bzr startup script on posix systems. This
 
327
  avoids an issue with the newer windows C runtimes used by Python 2.6 and
 
328
  later which can mangle bytestrings printed to the console.
 
329
  (Martin [gz], #631350)
 
330
 
 
331
* `PathNotChild` should not give a traceback.
 
332
  (Martin Pool, #98735)
 
333
 
 
334
* ``PQM`` will no longer ignore syntax errors in submissions.
 
335
  (Vincent Ladeuil, #626667)
 
336
 
 
337
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
338
  which can result in "missing referenced chk root keys" errors when
 
339
  fetching from repositories with affected revisions.
 
340
  (Andrew Bennetts, #522637)
 
341
 
 
342
* strace test-helper tests cope with the new Ubuntu policy of not allowing
 
343
  users to attach to their own processes by default.
 
344
  (Martin Pool, #626679)
 
345
 
 
346
* Test classes like ``TestCase``, ``TestLoader``, and ``TestSuite`` should
 
347
  be available from ``bzrlib.tests.*``. They used to be, but were
 
348
  accidentally removed. (John Arbash Meinel, #627438)
 
349
 
 
350
* Treat all IO, OS, and socket errors consistently when establishing
 
351
  SSH/SFTP connections via a subprocess.  (Andrew Bennetts)
 
352
 
 
353
* ``Transport.stat`` on a symlink, including a transport pointing directly
 
354
  to a symlink, now returns information about the symlink.
 
355
  (Martin Pool)
 
356
 
 
357
* Upgrading or fetching from a non-rich-root repository to a rich-root
 
358
  repository (e.g. from pack-0.92 to 2a) no longer fails with
 
359
  ``'Inter1and2Helper' object has no attribute 'source_repo'``.
 
360
  (Andrew Bennetts, #636930)
 
361
  
 
362
* Wait for the SSH server to actually finish, rather than just waiting for
 
363
  it to negotiate the key exchange. (John Arbash Meinel, #626876)
 
364
 
 
365
Improvements
 
366
************
 
367
 
 
368
* ``bzr remove`` now just backs up changed files instead of exiting,
 
369
  forcing you to choose to either keep or delete them. Bazaar will now delete
 
370
  the files if they can easily be recovered using revert, otherwise they
 
371
  will be backed up (adding an extention of the form .~#~).
 
372
  (Marius Kruger, #400554)
 
373
 
 
374
* ``bzr revert`` and ``bzr status`` are up to 15% faster on large trees
 
375
  with many changes by not repeatedly building a list of all file-ids.
 
376
  (Andrew Bennetts)
 
377
 
 
378
* Decrease memory consumption when many chk index pages are loaded. (Such
 
379
  as during ``bzr co`` or ``bzr ls -R`` of a large tree.) Often we need to
 
380
  read many chk pages because the individual chk map nodes will be spread
 
381
  randomly. Peak memory for 'bzr ls -R' on a large tree dropped from 396MB
 
382
  down to 247MB, expect even more significant savings on 64-bit platforms.
 
383
  (John Arbash Meinel)
 
384
 
 
385
* ``DirState`` internals use a little bit less memory. For bzr.dev it
 
386
  drops the memory from 1MB down to about 800kB. And replaces a few
 
387
  thousand tuples and sets with StaticTuple.  (John Arbash Meinel)
 
388
 
 
389
* Inventory entries now consume less memory (on 32-bit Ubuntu file entries
 
390
  have dropped from 68 bytes to 40, and directory entries from 120 bytes
 
391
  to 48).  (Andrew Bennetts)
 
392
 
 
393
* When building new working trees, default to reading from the repository
 
394
  rather than the source tree unless explicitly requested. (via
 
395
  ``--files-from`` and ``--hardlink`` for ``bzr branch`` and
 
396
  ``bzr checkout``. Generally, 2a format repositories extract
 
397
  content faster than seeking and reading content from another tree,
 
398
  especially in cold-cache situations. (John Arbash Meinel, #607298)
 
399
 
 
400
* Add ``__pycache__`` to the default ``ignores`` file. Future releases of
 
401
  Python will use this directory to store bytecodes.
 
402
  (Andrea Corbellini, #626687)
 
403
 
 
404
Documentation
 
405
*************
 
406
 
 
407
* Added a builder/writer sphinx extension that can generate texinfo files. The
 
408
  generated files are syntactically correct but the info navigation nodes
 
409
  needs more work. (Vincent Ladeuil, #219334)
 
410
 
 
411
* First tests defined for sphinx, including a new bzrlib.tests.features.sphinx
 
412
  to make the tests conditional.
 
413
  (Vincent Ladeuil)
 
414
 
 
415
* Fix a lot of references in the docs to the old http://bazaar-vcs.org to
 
416
  the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
 
417
  (John Arbash Meinel, #617503)
 
418
 
 
419
* Suggest ``bzr revert`` for restoring locally deleted files in help text
 
420
  for ``bzr update``.  (John C Barstow, #191466)
 
421
 
 
422
API Changes
 
423
***********
 
424
 
 
425
* Configuration files should now use the ``from_string`` constructor rather
 
426
  than the ``file`` parameter of the ``_get_parser`` method. The later has
 
427
  been deprecated. ``from_string`` also accept a ``save=True`` parameter to
 
428
  have the configuration file immediately written to disk. 
 
429
  (Vincent Ladeuil)
 
430
 
 
431
* Deprecate treating a `PushResult` and `PullResult` as an integer for the
 
432
  relative change in revno.
 
433
  (Martin Pool)
 
434
  `
 
435
* ``IniBaseConfig`` objects should now use the ``from_string`` constructor
 
436
  the rather than the ``file`` parameter of the ``_get_parser`` method. The
 
437
  later has been deprecated. (Vincent Ladeuil)
 
438
 
 
439
* InventoryEntry instances now raise AttributeError if you try to assign
 
440
  to attributes that are irrelevant to that kind of entry.  e.g. setting
 
441
  ``symlink_target`` on an InventoryFile will fail.  It is still okay to
 
442
  read those attributes on any kind of InventoryEntry.  The complete list
 
443
  of affected attributes is: ``executable``, ``text_id``, ``text_sha1``,
 
444
  ``text_size`` (only valid for kind == file); ``symlink_target`` (only
 
445
  valid for kind == link); and ``reference_revision`` (only valid for kind
 
446
  == tree-reference).  (Andrew Bennetts)
 
447
 
 
448
* InventoryEntry objects no longer have ``_put_in_tar`` or
 
449
  ``_put_on_disk`` methods.  (Andrew Bennetts)
 
450
 
 
451
* The ``get_filename`` parameter in the ``config.IniBaseConfig``
 
452
  constructor has been deprecated, use the ``file_name`` parameter instead.
 
453
  (Vincent Ladeuil)
 
454
 
 
455
Internals
 
456
*********
 
457
 
 
458
* Remove used and broken code path in ``BranchInitHookParams.__repr__``.
 
459
  (Andrew Bennetts)
 
460
 
 
461
Testing
 
462
*******
 
463
 
 
464
* ``build_tree_contents`` can create symlinks.
 
465
  (Martin Pool, John Arbash Meinel)
 
466
 
 
467
* Catch socket errors to avoid
 
468
  bt.test_sftp_transport.SSHVendorBadConnection.test_bad_connection_ssh
 
469
  random failures. (Vincent Ladeuil, #601804)
 
470
 
 
471
* HTTP test servers will leak less threads (and sockets) and will not hang on
 
472
  AIX anymore. (Vincent Ladeuil, #405745)
 
473
 
 
474
* On platforms that don't support forking give a nice error message saying so
 
475
  when ``bzr selftest --parallel=fork`` is used. (Martin [gz], #528730)
 
476
 
 
477
* Rearrange thread leak detection code to eliminate global state and make it
 
478
  possible to extend the reporting. (Martin [gz], #633462)
 
479
 
 
480
* Suppress the "maximum recursion depth exceeded in __subclasscheck__"
 
481
  warning on stderr emitted during ``test_dict_deepnested`` in
 
482
  ``bzrlib/tests/test__bencode.py``.  (Andrew Bennetts)
 
483
 
 
484
* The test suite now simply holds log files in memory, rather than writing them
 
485
  out to disk and then reading them back in and deleting them.
 
486
  (Andrew Bennetts)
 
487
 
 
488
* The way ``bzr selftest --parallel`` generates N partitions of tests to
 
489
  run in parallel has changed.  Instead of splitting the list of tests at
 
490
  N-1 points, it distributes the tests one-by-one into the partitions in a
 
491
  round robin fashion.  This reduces the total time to run the tests in
 
492
  parallel because a series of slow tests in the test suite will be
 
493
  distributed evenly among the parallel test suites, rather than slowing
 
494
  down just one suite.  (Andrew Bennetts)
 
495
 
 
496
* Tracebacks from a parameterized test are no longer reported against every
 
497
  parameterization of that test.  This was done by adding a hack to
 
498
  ``bzrlib.tests.clone_test`` so that it no longer causes
 
499
  testtools.TestCase instances to share a details dict.
 
500
  (Andrew Bennetts, #625574)
 
501
 
 
502
 
 
503
bzr 2.2.2
 
504
#########
 
505
 
 
506
:2.2.2: NOT RELEASED YET
 
507
 
 
508
Compatibility Breaks
 
509
********************
 
510
 
 
511
New Features
 
512
************
 
513
 
 
514
Bug Fixes
 
515
*********
 
516
 
 
517
* Skip tests that needs a bzr source tree when there isn't one. This is
 
518
  needed to succesfully run the test suite for installed versions.
 
519
  (Vincent Ladeuil, #644855).
 
520
 
 
521
* Skip the tests that requires respecting the chmod bits when running as root.
 
522
  (Vincent Ladeuil, #646133)
 
523
 
 
524
Improvements
 
525
************
 
526
 
 
527
Documentation
 
528
*************
 
529
 
 
530
API Changes
 
531
***********
 
532
 
 
533
Internals
 
534
*********
 
535
 
 
536
Testing
 
537
*******
 
538
 
 
539
* Fix tests that failed when run under ``LANG=C``.
 
540
  (Andrew Bennetts, #632387)
 
541
 
 
542
 
 
543
bzr 2.2.1
 
544
#########
 
545
 
 
546
:2.2.1: 2010-09-17
 
547
 
 
548
This is a bugfix release which also includes bugfixes from 2.0.6 and
 
549
2.1.3. None are critical, but upgrading is recommended for all users on
 
550
earlier 2.2 releases.
 
551
 
 
552
Bug Fixes
 
553
*********
 
554
 
 
555
* Additional merges after an unrelated branch has been merged with its
 
556
  history no longer crash when deleted files are involved.
 
557
  (Vincent Ladeuil, John Arbash Meinel, #375898)
 
558
 
 
559
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
 
560
  previously-unversioned directory within the tree: the directory is
 
561
  marked versioned too.
 
562
  (Martin Pool, #192859)
 
563
 
 
564
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
 
565
  target of the symlink.
 
566
  (Martin Pool, John Arbash Meinel, #128562)
 
567
 
 
568
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
569
  permissions as ``.bzr`` directory on a POSIX OS.
 
570
  (Parth Malwankar, #262450)
 
571
 
 
572
* CommitBuilder now uses the committer instead of _config.username to generate
 
573
  the revision-id.  (Aaron Bentley, #614404)
 
574
 
 
575
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
 
576
  way which should help avoid problems with concurrent writers.
 
577
  (Vincent Ladeuil, #525571)
 
578
 
 
579
* Cope with Microsoft FTP server that returns reply '250 Directory
 
580
  created' when mkdir succeeds.  (Martin Pool, #224373)
 
581
 
 
582
* Don't traceback trying to unversion children files of an already
 
583
  unversioned directory.  (Vincent Ladeuil, #494221)
 
584
 
 
585
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
 
586
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
 
587
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
 
588
  
 
589
* Fix ``AttributeError on parent.children`` when adding a file under a
 
590
  directory that was a symlink in the previous commit.
 
591
  (Martin Pool, #192859)
 
592
 
 
593
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
 
594
  ``_close_ssh_proc`` when using ``bzr+ssh://``.  This was causing
 
595
  connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
 
596
  stderr in some other circumstances.  (Andrew Bennetts, #633745)
 
597
 
 
598
* Only call ``setlocale`` in the bzr startup script on posix systems. This
 
599
  avoids an issue with the newer windows C runtimes used by Python 2.6 and
 
600
  later which can mangle bytestrings printed to the console.
 
601
  (Martin [gz], #631350)
 
602
 
 
603
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
604
  which can result in "missing referenced chk root keys" errors when
 
605
  fetching from repositories with affected revisions.
 
606
  (Andrew Bennetts, #522637)
 
607
 
 
608
* Raise ValueError instead of a string exception.
 
609
  (John Arbash Meinel, #586926)
 
610
 
 
611
* Reduce peak memory by one copy of compressed text.
 
612
  (John Arbash Meinel, #566940)
 
613
 
 
614
* Repositories accessed via a smart server now reject being stacked on a
 
615
  repository in an incompatible format, as is the case when accessing them
 
616
  via other methods.  This was causing fetches from those repositories via
 
617
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
 
618
  (Andrew Bennetts, #562380)
 
619
 
 
620
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
 
621
  error. This error was caused by 2.0 not being updated when upstream
 
622
  python merged the end of run patch, which chose ``stopTestRun`` rather than
 
623
  ``done``. (Robert Collins, #571437)
 
624
 
 
625
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
 
626
  being thrown from ``xml_serializer`` on certain cElementTree setups.
 
627
  (Martin [gz], #254278)
 
628
 
 
629
* Upgrading or fetching from a non-rich-root repository to a rich-root
 
630
  repository (e.g. from pack-0.92 to 2a) no longer fails with
 
631
  ``'Inter1and2Helper' object has no attribute 'source_repo'``.  This was
 
632
  a regression from Bazaar 2.1.  (Andrew Bennetts, #636930)
 
633
  
 
634
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
635
  directory file handle after the chdir fails. Otherwise when passing many
 
636
  filenames into a command line ``bzr status`` we would leak descriptors.
 
637
  (John Arbash Meinel, #583486)
 
638
 
 
639
Documentation
 
640
*************
 
641
 
 
642
* Fix a lot of references in the docs to the old http://bazaar-vcs.org to
 
643
  the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
 
644
  (John Arbash Meinel, #617503)
 
645
 
 
646
Internals
 
647
*********
 
648
 
 
649
* Remove used and broken code path in ``BranchInitHookParams.__repr__``.
 
650
  (Andrew Bennetts)
 
651
 
 
652
Testing
 
653
*******
 
654
 
 
655
* ``build_tree_contents`` can create symlinks.
 
656
  (Martin Pool, John Arbash Meinel)
 
657
 
 
658
* Tracebacks from a parameterized test are no longer reported against every
 
659
  parameterization of that test.  This was done by adding a hack to
 
660
  ``bzrlib.tests.clone_test`` so that it no longer causes
 
661
  testtools.TestCase instances to share a details dict.
 
662
  (Andrew Bennetts, #625574)
 
663
 
 
664
 
 
665
bzr 2.1.4
 
666
#########
 
667
 
 
668
:2.1.4: NOT RELEASED YET
 
669
 
 
670
Compatibility Breaks
 
671
********************
 
672
 
 
673
New Features
 
674
************
 
675
 
 
676
Bug Fixes
 
677
*********
 
678
 
 
679
* Skip tests that needs a bzr source tree when there isn't one. This is
 
680
  needed to succesfully run the test suite for installed versions.
 
681
  (Vincent Ladeuil, #644855).
 
682
 
 
683
* Skip the tests that requires respecting the chmod bits when running as root.
 
684
  (Vincent Ladeuil, #646133)
 
685
 
 
686
Improvements
 
687
************
 
688
 
 
689
Documentation
 
690
*************
 
691
 
 
692
API Changes
 
693
***********
 
694
 
 
695
Internals
 
696
*********
 
697
 
 
698
Testing
 
699
*******
 
700
 
 
701
 
 
702
bzr 2.1.3
 
703
#########
 
704
 
 
705
:Codename: Do run run
 
706
:2.1.3: 2010-09-17
 
707
 
 
708
The third release in our 2.1 series addresses several user-inconvenience bugs
 
709
(and includes the fixes done in 2.0.6).  None are critical, but upgrading is
 
710
recommended for all users on earlier 2.1 releases.
 
711
 
 
712
Bug Fixes
 
713
*********
 
714
 
 
715
* Additional merges after an unrelated branch has been merged with its
 
716
  history no longer crash when deleted files are involved.
 
717
  (Vincent Ladeuil, John Arbash Meinel, #375898)
 
718
 
 
719
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
 
720
  previously-unversioned directory within the tree: the directory is
 
721
  marked versioned too.  
 
722
  (Martin Pool, #192859)
 
723
 
 
724
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
 
725
  target of the symlink.
 
726
  (Martin Pool, John Arbash Meinel, #128562)
 
727
 
 
728
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
729
  permissions as ``.bzr`` directory on a POSIX OS.
 
730
  (Parth Malwankar, #262450)
 
731
 
 
732
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
 
733
  way which should help avoid problems with concurrent writers.
 
734
  (Vincent Ladeuil, #525571)
 
735
 
 
736
* Don't traceback trying to unversion children files of an already
 
737
  unversioned directory.  (Vincent Ladeuil, #494221)
 
738
 
 
739
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
 
740
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
 
741
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
 
742
  
 
743
* Fix ``AttributeError on parent.children`` when adding a file under a 
 
744
  directory that was a symlink in the previous commit.
 
745
  (Martin Pool, #192859)
 
746
 
 
747
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
748
  which can result in "missing referenced chk root keys" errors when
 
749
  fetching from repositories with affected revisions.
 
750
  (Andrew Bennetts, #522637)
 
751
 
 
752
* Raise ValueError instead of a string exception.
 
753
  (John Arbash Meinel, #586926)
 
754
 
 
755
* Reduce peak memory by one copy of compressed text.
 
756
  (John Arbash Meinel, #566940)
 
757
 
 
758
* Repositories accessed via a smart server now reject being stacked on a
 
759
  repository in an incompatible format, as is the case when accessing them
 
760
  via other methods.  This was causing fetches from those repositories via
 
761
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
 
762
  (Andrew Bennetts, #562380)
 
763
 
 
764
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
 
765
  error. This error was caused by 2.0 not being updated when upstream
 
766
  python merged the end of run patch, which chose ``stopTestRun`` rather than
 
767
  ``done``. (Robert Collins, #571437)
 
768
 
 
769
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
 
770
  being thrown from ``xml_serializer`` on certain cElementTree setups.
 
771
  (Martin [gz], #254278)
 
772
 
 
773
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
774
  directory file handle after the chdir fails. Otherwise when passing many
 
775
  filenames into a command line ``bzr status`` we would leak descriptors.
 
776
  (John Arbash Meinel, #583486)
 
777
 
 
778
Testing
 
779
*******
 
780
 
 
781
* ``build_tree_contents`` can create symlinks.
 
782
  (Martin Pool, John Arbash Meinel)
 
783
 
 
784
 
 
785
bzr 2.0.6
 
786
#########
 
787
 
 
788
:2.0.6: 2010-09-17
 
789
 
 
790
The sixth release in our 2.0 series addresses several user-inconvenience
 
791
bugs.  None are critical, but upgrading is recommended for all users on
 
792
earlier 2.0 releases.
 
793
 
 
794
Bug Fixes
 
795
*********
 
796
 
 
797
* Additional merges after an unrelated branch has been merged with its
 
798
  history no longer crash when deleted files are involved.
 
799
  (Vincent Ladeuil, John Arbash Meinel, #375898)
 
800
 
 
801
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
 
802
  previously-unversioned directory within the tree: the directory is
 
803
  marked versioned too.  
 
804
  (Martin Pool, #192859)
 
805
 
 
806
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
 
807
  target of the symlink.
 
808
  (Martin Pool, John Arbash Meinel, #128562)
 
809
 
 
810
* ``bzr revert`` now only takes write lock on working tree, instead of on 
 
811
  both working tree and branch.
 
812
  (Danny van Heumen, #498409)
 
813
 
 
814
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
815
  permissions as ``.bzr`` directory on a POSIX OS.
 
816
  (Parth Malwankar, #262450)
 
817
 
 
818
* Don't traceback trying to unversion children files of an already
 
819
  unversioned directory.  (Vincent Ladeuil, #494221)
 
820
 
 
821
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
 
822
  contains only NUL bytes).  Instead warn the user, and allow ``bzr
 
823
  break-lock`` to remove it.  (Andrew Bennetts, #619872)
 
824
  
 
825
* Fix ``AttributeError on parent.children`` when adding a file under a 
 
826
  directory that was a symlink in the previous commit.
 
827
  (Martin Pool, #192859)
 
828
 
 
829
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
830
  which can result in "missing referenced chk root keys" errors when
 
831
  fetching from repositories with affected revisions.
 
832
  (Andrew Bennetts, #522637)
 
833
 
 
834
* Raise ValueError instead of a string exception.
 
835
  (John Arbash Meinel, #586926)
 
836
 
 
837
* Reduce peak memory by one copy of compressed text.
 
838
  (John Arbash Meinel, #566940)
 
839
 
 
840
* Repositories accessed via a smart server now reject being stacked on a
 
841
  repository in an incompatible format, as is the case when accessing them
 
842
  via other methods.  This was causing fetches from those repositories via
 
843
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
 
844
  (Andrew Bennetts, #562380)
 
845
 
 
846
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
 
847
  error. This error was caused by 2.0 not being updated when upstream
 
848
  python merged the end of run patch, which chose ``stopTestRun`` rather than
 
849
  ``done``. (Robert Collins, #571437)
 
850
 
 
851
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
852
  directory file handle after the chdir fails. Otherwise when passing many
 
853
  filenames into a command line ``bzr status`` we would leak descriptors.
 
854
  (John Arbash Meinel, #583486)
 
855
 
 
856
 
 
857
Testing
 
858
*******
 
859
 
 
860
* ``build_tree_contents`` can create symlinks.
 
861
  (Martin Pool, John Arbash Meinel)
 
862
 
 
863
 
 
864
bzr 2.2
 
865
#######
 
866
 
 
867
:Codename: La Hulpe
 
868
:2.2: 2010-08-06
 
869
 
 
870
This release marks the start of another long-term-stable series. From
 
871
here, we will only make bugfix releases on the 2.2 series (2.2.1, etc),
 
872
while 2.3 will become our new development series. The 2.0 and 2.1 series
 
873
will also continue to get bugfixes. (Currently 2.0 is planned to be
 
874
supported for another 6 months.)
 
875
 
 
876
This is primarily a bugfix and polish release over the 2.1 series, with
 
877
a large number of bugs fixed (>120), and some performance improvements.
 
878
 
 
879
There are some compatibility changes in this release.  For users of bzrlib
 
880
as a library, we now request that they call ``bzrlib.initialize`` and use
 
881
the returned context manager appropriately. For commandline users we no
 
882
longer guess user identity for ``bzr commit``, users must specify their
 
883
identity using ``bzr whoami`` (you don't need to specify your identity for
 
884
readonly operations).
 
885
 
 
886
Users are encouraged to upgrade from the other stable series.
 
887
 
 
888
Compatibility Breaks
 
889
********************
 
890
 
 
891
* BzrError subclasses no longer support the name "message" to be used
 
892
  as an argument for __init__ or in _fmt format specification as this
 
893
  breaks in some Python versions. errors.LockError.__init__ argument
 
894
  is now named "msg" instead of earlier "message".
 
895
  (Parth Malwankar, #603461)
 
896
 
 
897
* The old ``bzr selftest --benchmark`` option has been removed.
 
898
  <https://launchpad.net/bzr-usertest> is an actively-maintained
 
899
  macrobenchmark suite.
 
900
  (Martin Pool)
 
901
 
 
902
Bug Fixes
 
903
*********
 
904
 
 
905
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
 
906
  ``InvalidPattern`` exception error message now shows faulting
 
907
  regular expression.
 
908
  (Parth Malwankar #300062)
 
909
 
 
910
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
 
911
  way which should help avoid problems with concurrent writers.
 
912
  (Vincent Ladeuil, #525571)
 
913
 
 
914
* Don't traceback trying to unversion children files of an already
 
915
  unversioned directory.  (Vincent Ladeuil, #494221)
 
916
 
 
917
* ``HTTP/1.1`` test servers now set a ``Content-Length`` header to comply
 
918
  with pedantic ``HTTP/1.1`` clients. (Vincent Ladeuil, #568421)
 
919
 
 
920
* Progress bars prefer to truncate the text message rather than the
 
921
  counters.  The spinner is shown between the network transfer indicator
 
922
  and the progress message.  Progress bars are correctly cleared off when 
 
923
  they finish.  (Martin Pool, #611127)
 
924
 
 
925
* Recursive binding for checkouts is now detected by bzr. A clear error
 
926
  message is shown to the user. (Parth Malwankar, #405192)
 
927
 
 
928
Improvements
 
929
************
 
930
 
 
931
* Add ``bzrlib.merge.MergeIntoMerger``, which can merge part or all of a
 
932
  tree, and works with unrelated branches.  (Andrew Bennetts)
 
933
 
 
934
* Add py2exe windows target ``bzrw.exe``. This allow for starting a Bazaar
 
935
  GUI with out have a console open in the background.
 
936
  (Gary van der Merwe, #433781)
 
937
 
 
938
Documentation
 
939
*************
 
940
 
 
941
* ``bzr help patterns`` now explains case insensitive patterns and
 
942
  points to Python regular expression documentation.
 
943
  (Parth Malwankar, #594386)
 
944
 
 
945
API Changes
 
946
***********
 
947
 
 
948
* Delete ``ProgressTask.note``, which was deprecated in 2.1.
 
949
 
 
950
Testing
 
951
*******
 
952
 
 
953
* Unit test added to ensure that "message" is not uses as a format variable
 
954
  name in BzrError subclasses as this conflicts with some Python versions.
 
955
  (Parth Malwankar, #603461)
 
956
 
 
957
bzr 2.2b4
 
958
#########
 
959
 
 
960
:Codename: Monkey Magic
 
961
:2.2b4: 2010-07-10
 
962
 
 
963
 
 
964
This fourth and final beta in the 2.2 series now stabilizes the internal
 
965
APIs. Plugin authors are recommended to ensure their releases are
 
966
compatible, so that 2.2rc1 can be a true release candidate, containing
 
967
stable and compatible plugin versions. 
 
968
 
 
969
For users of bzrlib as a library, one of the primary changes is to request
 
970
that they call ``bzrlib.initialize`` and use the returned context manager
 
971
appropriately.
 
972
 
 
973
Better interaction with ``bzr-loom`` to make sure branching from a loom
 
974
even over a smart server still yields a local loom. Not to mention lots of
 
975
bugfixes over 2.2b3.
 
976
 
 
977
Compatibility Breaks
 
978
********************
 
979
 
 
980
* bzrlib library users now need to call ``__enter__`` and ``__exit__`` on
 
981
  the result of ``bzrlib.initialize``. This change was made when fixing
 
982
  the bad habit recent bzr versions have had of leaving progress bars 
 
983
  behind on the screen. That required calling another function before
 
984
  exiting the program, and it made sense to provide a full context
 
985
  manager at the same time. (Robert Collins)
 
986
 
 
987
* The ``bzr`` front end now requires a ``bzrlib.ui.ui_factory`` which is a
 
988
  context manager in the Python 2.5 and above sense. The bzrlib base class
 
989
  is such a manager, but third party UI factories which do not derive from
 
990
  ``bzrlib.ui.UIFactory`` will be incompatible with the command line front
 
991
  end.
 
992
 
 
993
* URLs like ``foo:bar/baz`` are now always parsed as a URL with scheme "foo"
 
994
  and path "bar/baz", even if bzr does not recognize "foo" as a known URL
 
995
  scheme.  Previously these URLs would be treated as local paths.
 
996
  (Gordon Tyler)
 
997
 
 
998
 
 
999
New Features
 
1000
************
 
1001
 
 
1002
* Support ``--directory`` option for a number of additional commands:
 
1003
  conflicts, merge-directive, missing, resolve, shelve, switch,
 
1004
  unshelve, whoami. (Martin von Gagern, #527878)
 
1005
 
 
1006
Bug Fixes
 
1007
*********
 
1008
 
 
1009
* ``bzr branch`` to a new repository with a default stacking policy no
 
1010
  longer transfers the full history unnecessarily.
 
1011
  (Andrew Bennetts, #597942)
 
1012
 
 
1013
* ``bzr init`` does not recursively scan directory contents anymore
 
1014
  leading to faster init for directories with existing content.
 
1015
  (Martin [gz], Parth Malwankar, #501307)
 
1016
 
 
1017
* ``bzr log --exclude-common-ancestry`` is now taken into account for
 
1018
  linear ancetries. (Vincent Ladeuil, #575631)
 
1019
 
 
1020
* ``bzr log -r branch:REMOTE`` can now properly log the remote branch,
 
1021
  rather than trying to fetch the data locally and failing because of a
 
1022
  readonly error. (Martin von Gagern, #149270)
 
1023
 
 
1024
* ``bzr pull`` now works when a lp: URL is explicitly defined as the parent
 
1025
  or pull location in locations.conf or branch.conf.
 
1026
  (Gordon Tyler, #534787)
 
1027
 
 
1028
* ``bzr reconfigure --unstacked`` now works with branches accessed via a
 
1029
  smart server. (Andrew Bennetts, #551525)
 
1030
 
 
1031
* ``BzrDir.find_branches`` should ignore branches with missing repositories.
 
1032
  (Marius Kruger, Robert Collins)
 
1033
 
 
1034
* ``BzrDir.find_bzrdirs`` should ignore dirs that raises PermissionDenied.
 
1035
  (Marius Kruger, Robert Collins)
 
1036
 
 
1037
* Ensure that wrong path specifications in ``BZR_PLUGINS_AT`` display
 
1038
  proper error messages. (Vincent Ladeuil, #591215)
 
1039
 
 
1040
* Explicitly removing ``--profile-imports`` option from parsed command-line
 
1041
  arguments on Windows, because bzr script does the same.
 
1042
  (Alexander Belchenko, #588277)
 
1043
 
 
1044
* Fetching was slightly confused about the best code to use and was
 
1045
  using a new code path for all branches, resulting in more lookups than
 
1046
  necessary on old branches. (Robert Collins, #593515)
 
1047
 
 
1048
* Final fix for 'no help for command' issue. We now show a clean message
 
1049
  when a command has no help, document how to set help more clearly, and
 
1050
  test that all commands available to the test suite have help.
 
1051
  (Robert Collins, #177500)
 
1052
 
 
1053
* Invalid patterns supplied to ``Globster`` or ``lazy_regex`` now raise
 
1054
  ``InvalidPattern`` exception showing clear error message to the user.
 
1055
  (Parth Malwankar #300062)
 
1056
 
 
1057
* Progress output is cleaned up when exiting.  (Aaron Bentley)
 
1058
 
 
1059
* Raise ValueError instead of a string exception.
 
1060
  (John Arbash Meinel, #586926)
 
1061
 
 
1062
* Relative imports in plugins are now handled correctly when using
 
1063
  BZR_PLUGINS_AT. (Vincent Ladeuil, #588959)
 
1064
 
 
1065
* ``ScriptRunner`` now strips off leading indentation from test scripts,
 
1066
  which previously caused "SyntaxError: No command for line".
 
1067
  (Martin Pool)
 
1068
 
 
1069
* Show unicode filenames in diff headers using terminal encoding. 
 
1070
  (Alexander Belchenko, Bug #382699)
 
1071
  NOTE for Windows users: If user need to save diff to file then user need to
 
1072
  change encoding of the terminal to ANSI encoding with command ``chcp XXX``
 
1073
  (e.g. ``chcp 1251`` for Russian Windows).
 
1074
 
 
1075
* URL displayed for use with ``break-lock`` when smart server sees lock
 
1076
  contention are now valid. Default timeout for lock contention retry is
 
1077
  now 30 seconds instead of 300 seconds.
 
1078
  (Parth Malwankar, #250451)
 
1079
 
 
1080
* ``walkdirs`` now raises a useful message when the filenames are not using
 
1081
  the filesystem encoding. (Eric Moritz, #488519)
 
1082
 
 
1083
* Enable debugging of bzr on windows with pdb and other tools. This was 
 
1084
  broken because we call GetCommandLineW on windows. The fix adjusts the 
 
1085
  command line we get to be the same length as sys.argv.
 
1086
  (Jason Spashett, Alexander Belchenko, #587868)
 
1087
 
 
1088
Improvements
 
1089
************
 
1090
 
 
1091
* Bazaar now reads data from SSH connections more efficiently on platforms
 
1092
  that provide the ``socketpair`` function, and when using paramiko.
 
1093
  (Andrew Bennetts, #590637)
 
1094
 
 
1095
* ``Branch.copy_content_into`` is now a convenience method dispatching to
 
1096
  a ``InterBranch`` multi-method. This permits ``bzr-loom`` and other
 
1097
  plugins to intercept this even when a ``RemoteBranch`` proxy is in use.
 
1098
  (Robert Collins, #201613)
 
1099
 
 
1100
* ``Branch`` formats can now be loaded lazily by registering a
 
1101
  ``MetaDirBranchFormatFactory`` rather than an actual format. This will
 
1102
  cause the named format class to be loaded only when an enumeration of
 
1103
  formats is needed or when the format string for the object is
 
1104
  encountered. (Robert Collins, Jelmer Vernooij)
 
1105
 
 
1106
* The encoding that bzr uses to output things other than file content can
 
1107
  now be overridden via the output_encoding configuration option.
 
1108
  (Martin Pool, #340394)
 
1109
 
 
1110
* Use lazy imports in ``bzrlib/merge.py`` so that plugins like ``news_merge``
 
1111
  do not cause modules to be loaded unnecessarily just because the plugin
 
1112
  registers a merge hook.  This improves ``bzr rocks`` time by about 25%
 
1113
  in a default installation (with just the core plugins).
 
1114
  (Andrew Bennetts)
 
1115
 
 
1116
Documentation
 
1117
*************
 
1118
 
 
1119
* Added ``regression`` tag to our tags list. (Robert Collins)
 
1120
 
 
1121
* Improved our release checklist to have a bit less churn and leave things
 
1122
  ready-to-go for the next action (including other people doing
 
1123
  development). (Robert Collins)
 
1124
 
 
1125
* Remove obsolete discussion of PQM in documentation about how to
 
1126
  contribute to Bazaar.  (Martin Pool, #588444)
 
1127
 
 
1128
API Changes
 
1129
***********
 
1130
 
 
1131
* ``bzrlib.branch.InterBranch._get_branch_formats_to_test`` now returns
 
1132
  an iterable of format pairs, rather than just a single pair, permitting
 
1133
  InterBranch objects that work with multiple permutations to be
 
1134
  comprehensively tested. (Robert Collins)
 
1135
 
 
1136
* ``bzrlib.lsprof.profile`` will no longer silently generate bad threaded
 
1137
  profiles when concurrent profile requests are made. Instead the profile
 
1138
  requests will be serialised. Reentrant requests will now deadlock.
 
1139
  (Robert Collins)
 
1140
 
 
1141
* ``bzrlib.knit.KnitSequenceMatcher``, which has been deprecated since
 
1142
  2007, has been deleted.  Use ``PatienceSequenceMatcher`` from
 
1143
  ``bzrlib.patiencediff`` instead. (Andrew Bennetts)
 
1144
 
 
1145
* ``bzrlib.re_compile_checked`` is now deprecated. Caller should handle
 
1146
  ``bzrlib.errors.InvalidPattern`` exception thrown by ``re.match`` in
 
1147
  case the default error message not suitable for the use case.
 
1148
  (Parth Malwankar)
 
1149
 
 
1150
* ``bzrlib.tests.blackbox.ExternalBase`` is deprecated.  It provided only
 
1151
  one method ``check_output``, and we now recommend checking command
 
1152
  output using ``run_script``. (Martin Pool)
 
1153
 
 
1154
* ``bzrlib.transport.ssh.SSHVendor.connect_ssh`` now returns an object
 
1155
  that implements the interface of ``bzrlib.transport.ssh.SSHConnection``.
 
1156
  Third-party implementations of ``SSHVendor`` may need to be updated
 
1157
  accordingly.  Similarly, any code using ``SSHConnection`` directly will
 
1158
  need to be updated.  (Andrew Bennetts)
 
1159
 
 
1160
* The constructor of ``bzrilb.smart.medium.SmartSSHClientMedium`` has
 
1161
  changed to take an ``SSHParams`` instance (replacing many individual
 
1162
  values).  (Andrew Bennetts)
 
1163
 
 
1164
Internals
 
1165
*********
 
1166
 
 
1167
* ``bzrlib.osutils.get_terminal_encoding`` will now only mutter its
 
1168
  selection when explicitly requested; this avoids many duplicate calls
 
1169
  being logged when helpers, wrappers and older code that manually calls
 
1170
  it are executed it is now logged deliberately by the ui setup code.
 
1171
  (Robert Collins)
 
1172
 
 
1173
* Improved ``bzrlib.urlutils`` to handle lp:foo/bar URLs. (Gordon Tyler)
 
1174
 
 
1175
* ``bzrlib._c_static_tuple.StaticTuple`` now implements ``__sizeof__``, so
 
1176
  that ``sys.getsizeof`` and other memory analysis tools will report more
 
1177
  accurate results. (Andrew Bennetts)
 
1178
 
 
1179
* The symbol_versioning module can now cleanup after itself -
 
1180
  ``suppress_deprecation_warnings`` now returns a cleanup function.
 
1181
  (Robert Collins)
 
1182
 
 
1183
Testing
 
1184
*******
 
1185
 
 
1186
* Add ``bzrlib.tests.fixtures`` to hold code for setting up objects
 
1187
  to test.  (Martin Pool)
 
1188
 
 
1189
* ``test_import_tariff`` now respects BZR_PLUGINS_AT and BZR_PLUGINS_DISABLE.
 
1190
  (Vincent Ladeuil, #595587)
 
1191
 
 
1192
bzr 2.2b3
 
1193
#########
 
1194
 
 
1195
:2.2b3: 2010-05-28
 
1196
 
 
1197
This third beta in the 2.2 series brings with it all the goodness of 2.1.2
 
1198
and 2.0.6 (though it preceeds 2.0.6 slightly). Of particular note for
 
1199
users are compatibility fixes with bzr 1.5 and below servers, a hopeful
 
1200
end to the EINTR errors caused by SIGWINCH interactions, a shiny new
 
1201
bash completion script and bzr will no longer guess at identity details -
 
1202
it was too unreliable in reality. Use ``bzr whoami`` on every new install.
 
1203
For developers we have some API changes which may impact plugins as well
 
1204
as a bunch of our regular improvements to internal clarity and test
 
1205
support.
 
1206
 
 
1207
Compatibility Breaks
 
1208
********************
 
1209
 
 
1210
* An API break has been made to the lock_write method of ``Branch`` and
 
1211
  ``Repository`` objects; they now return ``branch.BranchWriteLockResult``
 
1212
  and ``repository.RepositoryWriteLockResult`` objects. This makes
 
1213
  changing the API in future easier and permits some cleaner calling code.
 
1214
  The lock_read method has also changed from having no defined return
 
1215
  value to returning ``LogicalLockResult`` objects.
 
1216
  (Robert Collins)
 
1217
 
 
1218
* ``bzr`` does not try to guess the username as ``username@hostname``
 
1219
  and requires it to be explictly set. This can be set using ``bzr
 
1220
  whoami``. (Parth Malwankar, #549310)
 
1221
 
 
1222
* ``bzrlib.commands.Command`` will now raise ValueError during
 
1223
  construction if there is no __doc__ set. (Note, this will be reverted in
 
1224
  2.2b4) (Robert Collins)
 
1225
 
 
1226
* The source tree no longer contains a contrib/zsh/_bzr completion
 
1227
  script. The new file contrib/zsh/README suggests alternatives.
 
1228
  (Martin von Gagern, #560030)
 
1229
 
 
1230
New Features
 
1231
************
 
1232
 
 
1233
* ``bzr commit`` accepts ``-p`` (for "patch") as a shorter name for
 
1234
  ``--show-diff``.
 
1235
  (Parth Malwankar, #571467)
 
1236
  
 
1237
* ``bzr ignore`` now supports a ``--default-rules`` option that displays
 
1238
  the default ignore rules used by bzr. The flag ``--old-default-rules``
 
1239
  is no longer supported by ``ignore``.
 
1240
  (Parth Malwankar, #538703)
 
1241
 
 
1242
* ``bzr pack`` now supports a ``--clean-obsolete-packs`` option that
 
1243
  can save disk space by deleting obsolete pack files created during the
 
1244
  pack operation.
 
1245
  (Parth Malwankar, #304320)
 
1246
 
 
1247
* New command line option ``--authors`` to ``bzr log`` allows users to
 
1248
  select which of the apparent authors and committer should be
 
1249
  included in the log. Defaults depend on format. (Martin von Gagern, #513322)
 
1250
 
 
1251
* Support ``--directory`` option for a number of additional commands:
 
1252
  added, annotate, bind, cat, cat-revision, clean-tree, deleted,
 
1253
  export, ignore, ignored, lookup-revision, ls, modified, nick,
 
1254
  re-sign, unbind, unknowns.
 
1255
  (Martin von Gagern, #527878)
 
1256
 
 
1257
* The bash_completion plugin from the bzr-bash-completion project has
 
1258
  been merged into the tree. It provides a bash-completion command and
 
1259
  replaces the outdated ``contrib/bash/bzr`` script with a version
 
1260
  using the plugin. (Martin von Gagern, #560030)
 
1261
 
 
1262
* A new transport based on GIO (the gnome i/o library) provides access to
 
1263
  samba shares, webdav using gio+smb and gio+dav. It is also possible to
 
1264
  use gio for some already existing transport methods as gio+file,
 
1265
  gio+sftp, gio+ftp. 
 
1266
  (Mattias Eriksson)
 
1267
 
 
1268
Bug Fixes
 
1269
*********
 
1270
 
 
1271
* Alias information shown by ``bzr help`` is now accurate. This
 
1272
  was showing an internal object name for some plugin aliases.
 
1273
  (Parth Malwankar, #584650)
 
1274
 
 
1275
* ``.bazaar``, ``.bazaar/bazaar.conf`` and ``.bzr.log`` inherit user and
 
1276
  group ownership from the containing directory. This allow bzr to work
 
1277
  better with sudo.
 
1278
  (Martin <gzlist@googlemail.com>, Parth Malwankar, #376388)
 
1279
 
 
1280
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
 
1281
  support of bzr-externals and scmproj plugins.
 
1282
  (Alexander Belchenko, bug #572098)
 
1283
 
 
1284
* ``bzr ignore`` will no longer add duplicate patterns to .bzrignore.
 
1285
  (Gordon Tyler, #572092)
 
1286
 
 
1287
* ``bzr log --exclude-common-ancestry -r X..Y`` displays the revisions that
 
1288
  are part of Y ancestry but not part of X ancestry (aka the graph
 
1289
  difference).
 
1290
  (Vincent Ladeuil, #320119)
 
1291
 
 
1292
* ``bzr lp-propose`` which was switched to use production Launchpad API
 
1293
  servers a few commits ago has been reverted to use edge: there is a
 
1294
  problem with using production which isn't trivially obvious, so we've
 
1295
  filed a bug to track it, and until thats fixed will be using edge.
 
1296
  (Robert Collins, #583667)
 
1297
 
 
1298
* ``bzr rm`` should not refuse to delete directories which contained a file
 
1299
  which has been moved elsewhere in the tree after the previous commit.
 
1300
  (Marius Kruger, Daniel Watkins, #129880)
 
1301
 
 
1302
* ``bzr selftest --parallel=fork`` wait for its children avoiding zombies.
 
1303
  (Vincent Ladeuil, #566670)
 
1304
 
 
1305
* ``bzr selftest`` should not use ui.note() since it's not unicode safe.
 
1306
  (Vincent Ladeuil, #563997)
 
1307
 
 
1308
* CommitBuilder refuses to create revisions whose trees have no root.
 
1309
  (Aaron Bentley)
 
1310
 
 
1311
* Do not register a SIGWINCH signal handler, instead just poll for the
 
1312
  terminal width as needed.  This avoids the "Interrupted System Call"
 
1313
  problems that occur on POSIX with all currently released versions of
 
1314
  Python.
 
1315
  (Andrew Bennetts, #583941)
 
1316
 
 
1317
* Don't mention --no-strict when we just issue the warning about unclean trees.
 
1318
  (Vincent Ladeuil, #401599)
 
1319
 
 
1320
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
 
1321
  versions before 1.6.
 
1322
  (Andrew Bennetts, #528041)
 
1323
 
 
1324
* Improved progress bar for fetch (2a format only). Bazaar now shows an
 
1325
  estimate of the number of records to be fetched vs actually fetched.
 
1326
  (Parth Malwankar, #374740, #538868)
 
1327
 
 
1328
* Reduce peak memory by one copy of compressed text.
 
1329
  (John Arbash Meinel, #566940)
 
1330
 
 
1331
* ``RemoteBranch.lock_write`` raises ``ReadOnlyError`` if called during a
 
1332
  read lock, rather than causing an ``AttributeError``.
 
1333
  (Andrew Bennetts, Данило Шеган, #582781)
 
1334
 
 
1335
* Selftest was failing with testtools 0.9.3, which caused an
 
1336
  AssertionError raised from a cleanUp to be reported as a Failure, not an
 
1337
  Error, breaking on of our test hygiene tests.
 
1338
  (Robert Collins, Vincent Ladeuil).
 
1339
 
 
1340
* ``set_user_option`` with a dict on remote branches no longer fails with
 
1341
  an AttributeError.  There is a new ``Branch.set_config_option_dict`` RPC
 
1342
  to support this efficiently.
 
1343
  (Andrew Bennetts, #430382)
 
1344
  
 
1345
* Show the filenames when a file rename fails so that the error will be
 
1346
  more comprehensible.
 
1347
  (Martin Pool, #491763)
 
1348
 
 
1349
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
 
1350
  (John Arbash Meinel, #582656)
 
1351
 
 
1352
* Unicode characters in aliases are now handled correctly and do not cause
 
1353
  UnicodeEncodeError exception. (Parth Malwankar, #529930)
 
1354
 
 
1355
* Unicode commit messages that are the same as a file name no longer cause
 
1356
  UnicodeEncodeError. ``ui.text.show_warning`` now handles unicode
 
1357
  messages.
 
1358
  (Parth Malwankar, #563646)
 
1359
 
 
1360
* Using bzr with `lp:` urls behind an http proxy should work.
 
1361
  (Robert Collins, #558343)
 
1362
 
 
1363
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
1364
  directory file handle after the chdir fails. Otherwise when passing many
 
1365
  filenames into a command line ``bzr status`` we would leak descriptors.
 
1366
  (John Arbash Meinel, #583486)
 
1367
 
 
1368
Improvements
 
1369
************
 
1370
 
 
1371
* ``append_revisions_only`` will now be interpreted as a boolean and a
 
1372
  warning emitted if illegal values are used. Note that for projects
 
1373
  that needs to maintain compatibility with previsous bzr versions,
 
1374
  only 'True' and 'False' strings must be used (previous versions of
 
1375
  bzr will interpret all strings differing from 'True'
 
1376
  (case-sensitive) as false.
 
1377
  (Brian de Alwis, Vincent Ladeuil)
 
1378
 
 
1379
* ``bzr ls`` now supports short options for existing long options.
 
1380
  ``-k/--kind``, ``-i/--ignored``, ``-u/--unknown`` and ``-0/--null``.
 
1381
  (Parth Malwankar, #181124)
 
1382
 
 
1383
* ``Config.get_user_option_as_bool`` will now warn if a value cannot
 
1384
  be interpreted as a boolean.
 
1385
  (Vincent Ladeuil)
 
1386
 
 
1387
* The all-in-one Windows installer will now be built with docstrings stripped
 
1388
  from the library zip, reducing the size and slightly improving cold startup
 
1389
  time. Bundled plugins are unchanged for the moment, but if adding other new
 
1390
  plugins to an all-in-one installation, ensure they are compiled and
 
1391
  installed with -O1 or help may not work. (Martin [gz])
 
1392
 
 
1393
API Changes
 
1394
***********
 
1395
 
 
1396
* Added ``bzrlib.merge.PerFileMerger``, a more convenient way to write
 
1397
  some kinds of ``merge_file_content`` hook functions.
 
1398
  (Andrew Bennetts)
 
1399
  
 
1400
* `BzrDir`, `Branch`, `Repository` and `WorkingTree` now all support `user_url`,
 
1401
  `user_transport`, `control_url` and `control_transport` members pointing
 
1402
  respectively to the directory containing the ``.bzr`` control directory, 
 
1403
  and to the directory within ``.bzr`` used for the particular component.
 
1404
  All of them inherit from `ControlComponent` which provides default
 
1405
  implementations.
 
1406
  (Martin Pool)
 
1407
 
 
1408
* Lock methods on ``Tree``, ``Branch`` and ``Repository`` are now
 
1409
  expected to return an object which can be used to unlock them. This reduces
 
1410
  duplicate code when using cleanups. The previous 'tokens's returned by
 
1411
  ``Branch.lock_write`` and ``Repository.lock_write`` are now attributes
 
1412
  on the result of the lock_write. ``repository.RepositoryWriteLockResult``
 
1413
  and ``branch.BranchWriteLockResult`` document this. (Robert Collins)
 
1414
 
 
1415
* ``Repository.refresh_data`` may now be called in a write group on
 
1416
  pack-based repositories.  Older repositories will still raise an error
 
1417
  in this case.  Subclasses of ``Repository`` can still override
 
1418
  ``Repository._refresh_data``, but are now responsible for raising
 
1419
  ``bzrlib.repository.IsInWriteGroupError`` if they do not support
 
1420
  ``refresh_data`` during a write group.
 
1421
  (Andrew Bennetts, #574236)
 
1422
 
 
1423
Internals
 
1424
*********
 
1425
 
 
1426
* ``chk_map._bytes_to_text_key`` is now an optimized function to extract
 
1427
  the (file-id, revision-id) key from a CHKInventory entry. This can
 
1428
  potentially shave 5-10% time off during a large fetch. Related to bug
 
1429
  #562666. (John Arbash Meinel)
 
1430
 
 
1431
* ``log._get_info_for_log_files`` now takes an add_cleanup callable.
 
1432
  (Robert Collins)
 
1433
 
 
1434
* ``_remember_remote_is_before`` no longer raises AssertionError when
 
1435
  suboptimal network behaviour is noticed; instead it just mutters to the
 
1436
  log file (and warns the user if they have set the ``hpss`` debug flag).
 
1437
  This was causing unnecessary aborts for performance bugs that are minor
 
1438
  at worst.
 
1439
  (Andrew Bennetts, #528041)
 
1440
 
 
1441
* Permit bzr to run under ``python -OO`` which reduces the size of bytecode
 
1442
  files loaded from disk. To ensure docstrings needed for help are never
 
1443
  stripped, the prefix ``__doc__ =`` should now be used.
 
1444
  (Martin <gzlist@googlemail.com>)
 
1445
 
 
1446
* No longer require zlib headers to build extensions, and remove the need
 
1447
  for seperate copy of zlib library on windows.
 
1448
  (John Arbash Meinel, Martin <gzlist@googlemail.com>, #566923)
 
1449
 
 
1450
Testing
 
1451
*******
 
1452
 
 
1453
* Added ``bzrlib.tests.matchers`` as a place to put matchers, along with
 
1454
  our first in-tree matcher. See the module docstring for details.
 
1455
  (Robert Collins)
 
1456
 
 
1457
* ``bzr selftest --parallel=subprocess`` now works correctly on win32.
 
1458
   (Gordon Tyler, #551332)
 
1459
 
 
1460
* Workaround ``Crypto.Random`` check leading to spurious test
 
1461
  failures on Lucid, FreeBSD and gentoo.  
 
1462
  (Vincent Ladeuil, #528436)
 
1463
 
 
1464
* New class ``ExecutableFeature`` for checking the availability of
 
1465
  executables on the ``PATH``. Migrated from bash_completion plugin.
 
1466
  (Martin von Gagern)
 
1467
 
 
1468
bzr 2.1.2
 
1469
#########
 
1470
 
 
1471
:2.1.2: 2010-05-28
 
1472
 
 
1473
This release fixes two critical networking issues with older servers and
 
1474
with interrupted system call errors when pushing or pulling.  We recommend
 
1475
upgrading to anyone running a 2.1.x version of bzr.
 
1476
 
 
1477
Bug Fixes
 
1478
*********
 
1479
 
 
1480
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
 
1481
  support of bzr-externals and scmproj plugins.
 
1482
  (Alexander Belchenko, bug #572098)
 
1483
 
 
1484
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
 
1485
  (Aaron Bentley, #559436)
 
1486
 
 
1487
* Do not register a SIGWINCH signal handler, instead just poll for the
 
1488
  terminal width as needed.  This avoids the "Interrupted System Call"
 
1489
  problems that occur on POSIX with all currently released versions of
 
1490
  Python.
 
1491
  (Andrew Bennetts, #583941)
 
1492
 
 
1493
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
 
1494
  versions before 1.6.
 
1495
  (Andrew Bennetts, #528041)
 
1496
 
 
1497
* Reset ``siginterrupt`` flag to False every time we handle a signal
 
1498
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
 
1499
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
 
1500
  errors compared to registering ``signal.signal`` directly.
 
1501
  (Andrew Bennetts)
 
1502
 
 
1503
* Reduce peak memory by one copy of compressed text.
 
1504
  (John Arbash Meinel, #566940)
 
1505
 
 
1506
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
 
1507
  (John Arbash Meinel, #582656)
 
1508
 
 
1509
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
1510
  directory file handle after the chdir fails. Otherwise when passing many
 
1511
  filenames into a command line ``bzr status`` we would leak descriptors.
 
1512
  (John Arbash Meinel, #583486)
 
1513
 
 
1514
Internals
 
1515
*********
 
1516
 
 
1517
* ``_remember_remote_is_before`` no longer raises AssertionError when
 
1518
  suboptimal network behaviour is noticed; instead it just mutters to the
 
1519
  log file (and warns the user if they have set the ``hpss`` debug flag).
 
1520
  This was causing unnecessary aborts for performance bugs that are minor
 
1521
  at worst.
 
1522
  (Andrew Bennetts, #528041)
 
1523
 
 
1524
 
 
1525
bzr 2.2b2
 
1526
#########
 
1527
 
 
1528
:2.2b2: 2010-04-16
 
1529
 
 
1530
This is a somewhat early second beta of the 2.2 series, to fix a python2.4
 
1531
incompatibility in the 2.2b1 release.  It also includes a swag of
 
1532
performance, usability and correctness improvements: test feedback on all
 
1533
of these would be welcome.
 
1534
 
 
1535
 
 
1536
New Features
 
1537
************
 
1538
 
 
1539
* ``bzr diff`` now supports a --format option, which can be used to 
 
1540
  select alternative diff formats. (Jelmer Vernooij, #555994)
 
1541
 
 
1542
Bug Fixes
 
1543
*********
 
1544
 
 
1545
* ``bzr dpush``, ``bzr push`` and ``bzr send`` will now issue a warning
 
1546
  instead of failing when dirty trees are involved. The corresponding
 
1547
  ``dpush_strict``, ``push_strict`` and ``send_strict`` should be set to
 
1548
  True explicitly to get the previous behaviour.  
 
1549
  (Vincent Ladeuil, #519319)
 
1550
 
 
1551
* ``bzr export`` to tar file does not fail if any parent directory
 
1552
  contains unicode characters. This works around upstream Python bug
 
1553
  http://bugs.python.org/issue8396 .
 
1554
  (Parth Malwankar, #413406)
 
1555
 
 
1556
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
 
1557
  (Aaron Bentley, #559436)
 
1558
 
 
1559
* ``bzr update`` when a pending merge in the working tree has been merged
 
1560
  into the master branch will no longer claim that old commits have become
 
1561
  pending merges. (Robert Collins, #562079)
 
1562
 
 
1563
* ``bzrlib.mutabletree.MutableTree.commit`` will now support a passed in
 
1564
  config as in previous versions of bzrlib. (Robert Collins)
 
1565
 
 
1566
* Fix glitch in the warning about unclean trees display.
 
1567
  (Vincent Ladeuil, #562665)
 
1568
 
 
1569
* Fixed Python2.4 incompatibilities in the bzr2.2b1 source tarball.
 
1570
  (Martin Pool)
 
1571
 
 
1572
* Help messages generated by ``RegistryOption.from_kwargs`` list the
 
1573
  switches in alphabetical order, rather than in an undefined order.
 
1574
  (Martin von Gagern, #559409)
 
1575
 
 
1576
* Make sure the ``ExecutablePath`` and ``InterpreterPath`` are set in
 
1577
  Apport crash reports, to avoid "This problem report applies to a program
 
1578
  which is not installed any more" error.
 
1579
  (Martin Pool, James Westby, #528114)
 
1580
 
 
1581
* Reset ``siginterrupt`` flag to False every time we handle a signal
 
1582
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
 
1583
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
 
1584
  errors compared to registering ``signal.signal`` directly.
 
1585
  (Andrew Bennetts)
 
1586
 
 
1587
* When invoked with a range revision, ``bzr log`` doesn't show revisions
 
1588
  that are not part of the Y revisions ancestry anymore when invoked with
 
1589
  -rX..Y.
 
1590
  (Vincent Ladeuil, #474807)
 
1591
 
 
1592
* Properly handle ``param_name`` attribute for ``ListOption``.
 
1593
  (Martin von Gagern, #387117)
 
1594
 
 
1595
Improvements
 
1596
************
 
1597
 
 
1598
* ``bzr commit`` will prompt before using a commit message that was
 
1599
  generated by a template and not edited by the user.
 
1600
  (Robert Collins, #530265)
 
1601
 
 
1602
* ``bzr diff`` read-locks the trees and branches only once, saving about
 
1603
  10-20ms on ``bzr diff`` in a bzr.dev tree.
 
1604
  (Andrew Bennetts)
 
1605
 
 
1606
* ``bzr missing`` read-locks the branches only once.
 
1607
  (Andrew Bennetts)
 
1608
  
 
1609
* ``bzr pull`` locks the branches and tree only once.
 
1610
  (Andrew Bennetts)
 
1611
  
 
1612
* Index lookups in pack repositories search recently hit pack files first.  
 
1613
  In repositories with many pack files this can greatly reduce the
 
1614
  number of files accessed, the number of bytes read, and the number of
 
1615
  read calls.  An incremental pull via plain HTTP takes half the time and
 
1616
  bytes for a moderately large repository.  (Andrew Bennetts)
 
1617
 
 
1618
* Index lookups only re-order the indexes when the hit files aren't
 
1619
  already first. Reduces the cost of reordering
 
1620
  (John Arbash Meinel, #562429)
 
1621
 
 
1622
* Less code is loaded at startup.  (Cold-cache start time is about 10-20%
 
1623
  less.)
 
1624
  (Martin Pool, #553017)
 
1625
 
 
1626
API Changes
 
1627
***********
 
1628
 
 
1629
* ``bzrlib.diff.get_trees_and_branches_to_diff`` is deprecated.  Use
 
1630
  ``get_trees_and_branches_to_diff_locked`` instead.
 
1631
  (Andrew Bennetts)
 
1632
 
 
1633
* ``TreeTransform.commit`` supports the full set of commit parameters, and
 
1634
  auto-determines branch nick if not supplied.  (Aaron Bentley)
 
1635
  
 
1636
Internals
 
1637
*********
 
1638
 
 
1639
* ``bzrlib.commands.Command.run_direct`` is no longer needed - the pre
 
1640
  2.1 method of calling run() to perform testing or direct use via the API
 
1641
  is now possible again. As part of this, the _operation attribute on
 
1642
  Command is now transient and only exists for the duration of ``run()``.
 
1643
  (Robert Collins)
 
1644
 
 
1645
bzr 2.2b1
 
1646
#########
 
1647
 
 
1648
:2.2b1: 2010-04-01
 
1649
 
 
1650
This is the first beta of the 2.2 series, leading up to a 2.2.0
 
1651
release in July or August.  Beta releases are suitable for everyday use
 
1652
but may cause some incompatibilities with plugins.  Some plugins may need
 
1653
small updates to work with 2.2b1.
 
1654
 
 
1655
2.2b1 includes some changes to make merge conflicts easier to understand
 
1656
and resolve.  It also removes some old unnecessary code, and loads
 
1657
somewhat less code at startup.  It starts adding a common infrastructure
 
1658
for dealing with colocated named branches, which can be implemented in
 
1659
various ways in either bzr native or foreign formats.   On Ubuntu and
 
1660
other platforms with the apport bug-reporting library, there's an easier
 
1661
path to report problems with bzr.  We plan to continue with these themes
 
1662
through the 2.2 series.
 
1663
 
 
1664
Over thirty bugs have been fixed, including in the log command, exporting
 
1665
to tarballs, restarting interrupted system calls, portability of compiled
 
1666
extensions, making backups during upgrade, and locking on ftp.
 
1667
 
 
1668
Compatibility Breaks
 
1669
********************
 
1670
 
 
1671
* BTreeGraphIndex can now take an offset to indicate that the data starts
 
1672
  somewhere other than then beginning of the file. (John Arbash Meinel)
16
1673
 
17
1674
* Deleted very old hidden commands ``versionedfile-list``,
18
1675
  ``weave-plan-merge``, ``weave-merge-text``.
31
1688
  ``bzrlib.tests.test_server``.
32
1689
  (Vincent Ladeuil)
33
1690
 
 
1691
* ``BranchReferenceFormat.initialize()`` now takes an optional name argument
 
1692
  as its second parameter, for consistency with the initialize() method of
 
1693
  other formats. (Jelmer Vernooij)
 
1694
 
34
1695
New Features
35
1696
************
36
1697
 
 
1698
* Added ``bzr remove-branch`` command that can remove a local or remote 
 
1699
  branch. (Jelmer Vernooij, #276295)
 
1700
 
 
1701
* ``bzr export`` now takes an optional argument ``--per-file-timestamps``
 
1702
  to set file mtimes to the last timestamp of the last revision in which
 
1703
  they were changed rather than the current time. (Jelmer Vernooij)
 
1704
 
37
1705
* If the Apport crash-reporting tool is available, bzr crashes are now
38
1706
  stored into the ``/var/crash`` apport spool directory, and the user is
39
1707
  invited to report them to the developers from there, either
41
1709
  without specific permission from the user.  (Martin Pool, #515052)
42
1710
 
43
1711
* Parsing of command lines, for example in ``diff --using``, no longer
44
 
  treats backslash as an escape character on Windows.   (Gordon Tyler,
45
 
  #392248)
 
1712
  treats backslash as an escape character on Windows.
 
1713
  (Gordon Tyler, #392428)
 
1714
 
 
1715
* Plugins can be disabled by defining ``BZR_DISABLE_PLUGINS`` as
 
1716
  a list of plugin names separated by ':' (';' on windows).
 
1717
  (Vincent Ladeuil, #411413)
 
1718
 
 
1719
* Plugins can be loaded from arbitrary locations by defining
 
1720
  ``BZR_PLUGINS_AT`` as a list of name@path separated by ':' (';' on
 
1721
  windows). This takes precedence over ``BZR_PLUGIN_PATH`` for the
 
1722
  specified plugins. This is targeted at plugin developers for punctual
 
1723
  needs and *not* intended to replace ``BZR_PLUGIN_PATH``.  
 
1724
  (Vincent Ladeuil, #82693)
 
1725
 
 
1726
* Tag names can now be determined automatically by ``automatic_tag_name`` 
 
1727
  hooks on ``Branch`` if they are not specified on the command line.
 
1728
  (Jelmer Vernooij)
46
1729
 
47
1730
* Tree-shape conflicts can be resolved by providing ``--take-this`` and
48
1731
  ``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
58
1741
* Added docstring for ``Tree.iter_changes``
59
1742
  (John Arbash Meinel, #304182)
60
1743
 
 
1744
* Allow additional arguments to
 
1745
  ``RemoteRepository.add_inventory_by_delta()``. (Jelmer Vernooij, #532631)
 
1746
 
61
1747
* Allow exporting a single file using ``bzr export``.
62
1748
  (Michal Junák, #511987)
63
1749
 
 
1750
* Allow syscalls to automatically restart when ``TextUIFactory``'s
 
1751
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
 
1752
  IO, which are often poorly handled by Python's libraries and parts of
 
1753
  bzrlib.  (Andrew Bennetts, #496813)
 
1754
 
64
1755
* Avoid infinite recursion when probing for apport.
65
1756
  (Vincent Ladeuil, #516934)
66
1757
 
67
1758
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
68
1759
  (Martin Pool, #331095)
69
1760
 
 
1761
* Avoid truncating svn URLs.
 
1762
  (Martin Pool, Martin von Gagern, #545185)
 
1763
 
70
1764
* ``bzr add`` will not add conflict related files unless explicitly required.
71
1765
  (Vincent Ladeuil, #322767, #414589)
72
1766
 
 
1767
* ``bzr dump-btree`` now works on ``*.cix`` and ``*.six`` files.  Those
 
1768
  indices do not have reference lists, so ``dump-btree`` will simply show
 
1769
  ``None`` instead.  (Andrew Bennetts, #488607)
 
1770
 
 
1771
* ``bzr help`` will no longer trigger the get_missing_command hook when
 
1772
  doing a topic lookup. This avoids prompting (like 'no command plugins/loom,
 
1773
  did you mean log?') when getting help. In future we may trigger the hook 
 
1774
  deliberately when no help topics match from any help index.
 
1775
  (Robert Collins, #396261)
 
1776
 
 
1777
* ``bzr log -n0 -r..A.B.C`` should not crash but just consider the None
 
1778
  revspec as representing the first revision of the branch.
 
1779
  (Vincent Ladeuil, #519862)
 
1780
 
73
1781
* ``bzr remove-tree`` can now remove multiple working trees.
74
1782
  (Jared Hance, Andrew Bennetts, #253137)
75
1783
 
 
1784
* ``bzr resolve --take-this`` and ``--take-other`` now correctly renames
 
1785
  the kept file on content conflicts where one side deleted the file.
 
1786
  (Vincent Ladeuil, #529968)
 
1787
 
 
1788
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
1789
  permissions as ``.bzr`` directory on a POSIX OS.
 
1790
  (Parth Malwankar, #262450)
 
1791
 
 
1792
* ``bzr upgrade`` now names backup directory as ``backup.bzr.~N~`` instead
 
1793
  of ``backup.bzr``. This directory is ignored by bzr commands such as
 
1794
  ``add``.
 
1795
  (Parth Malwankar, #335033, #300001)
 
1796
 
 
1797
* Cope with non-utf8 characters inside ``.bzrignore``.
 
1798
  (Jason Spashett, #183504)
 
1799
 
 
1800
* Correctly interpret "451 Rename/move failure: Directory not empty" from
 
1801
  ftp servers while trying to take a lock.
 
1802
  (Martin Pool, #528722)
 
1803
 
 
1804
* DirStateRevisionTree.kind() was returning wrong result when 'kind'
 
1805
  changes occured between the workingtree and one of its parents.
 
1806
  (Vincent Ladeuil, #535547)
 
1807
 
 
1808
* Fix ``log`` to better check ancestors even if merged revisions are involved.
 
1809
  (Vincent Ladeuil, #476293)
 
1810
 
 
1811
* Loading a plugin from a given path with ``BZR_PLUGINS_AT`` doesn't depend
 
1812
  on os.lisdir() order and is now reliable.
 
1813
  (Vincent Ladeuil, #552922).
 
1814
 
 
1815
* Many IO operations that returned ``EINTR`` were retried even if it
 
1816
  wasn't safe to do so via careless use of ``until_no_eintr``.  Bazaar now
 
1817
  only retries operations that are safe to retry, and in some cases has
 
1818
  switched to operations that can be retried (e.g. ``sock.send`` rather than
 
1819
  ``sock.sendall``).
 
1820
  (Andrew Bennetts, Martin <gzlist@googlemail.com>, #496813)
 
1821
 
 
1822
* Path conflicts now support --take-this and --take-other even when a
 
1823
  deletion is involved.
 
1824
  (Vincent Ladeuil, #531967)
 
1825
 
76
1826
* Network transfer amounts and rates are now displayed in SI units according
77
1827
  to the Ubuntu Units Policy <https://wiki.ubuntu.com/UnitsPolicy>.
78
1828
  (Gordon Tyler, #514399)
81
1831
  prevents ``bzr status --short`` from crashing when those files are
82
1832
  present.  (John Arbash Meinel, #303275)
83
1833
 
84
 
* ``bzr upgrade`` now names backup directory as ``backup.bzr.~N~`` instead
85
 
  of ``backup.bzr``. This directory is ignored by bzr commands such as
86
 
  ``add``.
87
 
  (Parth Malwankar, #335033, #300001)
 
1834
* ``bzr mkdir DIR`` will not create DIR unless DIR's parent is a versioned
 
1835
   directory. (Parth Malwankar, #138600)
 
1836
 
 
1837
* SSH child processes will now ignore SIGQUIT on nix systems so breaking into
 
1838
  the debugger won't kill the session.
 
1839
  (Martin <gzlist@googlemail.com>, #162502)
 
1840
 
 
1841
* Tolerate patches with leading noise in ``bzr-handle-patch``.
 
1842
  (Toshio Kuratomi, Martin Pool, #502076)
 
1843
 
 
1844
* ``update -r`` now supports updating to revisions that are not on
 
1845
  mainline (i.e. it supports dotted revisions).
 
1846
  (Parth Malwankar, #517800)
 
1847
 
 
1848
* Use first apparent author not committer in GNU Changelog format.
 
1849
  (Martin von Gagern, #513322)
88
1850
 
89
1851
API Changes
90
1852
***********
91
1853
 
 
1854
* ``bzrlib.merge_directive._BaseMergeDirective`` has been renamed to 
 
1855
  ``bzrlib.merge_directive.BaseMergeDirective`` and is now public.
 
1856
  (Jelmer Vernooij)
 
1857
 
 
1858
* ``BranchFormat.initialize`` now takes an optional ``name`` of the colocated 
 
1859
  branch to create. (Jelmer Vernooij)
 
1860
 
 
1861
* ``BzrDir.get_branch_transport`` now takes an optional ``name`` of the 
 
1862
  colocated branch to open. (Jelmer Vernooij)
 
1863
 
 
1864
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
 
1865
  can set a signal handler and call ``signal.siginterrupt(signum,
 
1866
  False)`` for it, if the platform and Python version supports it.
 
1867
  (Andrew Bennetts, #496813)
 
1868
 
92
1869
* New ``bzrlib.initialize`` is recommended for programs using bzrlib to 
93
1870
  run when starting up; it sets up several things that previously needed
94
1871
  to be done separately.
95
1872
  (Martin Pool, #507710)
96
1873
 
 
1874
* Exporters now support a ``per_file_timestamps`` argument to write out the 
 
1875
  timestamp of the commit in which a file revision was introduced.
 
1876
  (Jelmer Vernooij)
 
1877
 
 
1878
* New method ``BzrDir.list_branches()`` that returns a sequence of branches 
 
1879
  present in a control directory. (Jelmer Vernooij)
 
1880
 
 
1881
* New method ``Repository.get_known_graph_ancestry()``. 
 
1882
  (Jelmer Vernooij, #495502)
 
1883
 
 
1884
* New transport methods ``readlink``, ``symlink`` and ``hardlink``.
 
1885
  (Neil Santos)
 
1886
 
97
1887
* Remove unused ``CommandFailed`` exception.
98
1888
  (Martin Pool)
99
1889
 
100
1890
Internals
101
1891
*********
102
1892
 
 
1893
* ``bzrlib.branchbuilder.BranchBuilder.build_snapshot`` now accepts a
 
1894
  ``message_callback`` in the same way that commit does. (Robert Collins)
 
1895
 
 
1896
* ``bzrlib.builtins.Commit.run`` raises ``bzrlib.errors.BoundBranchOutOfDate``
 
1897
  rather than ``bzrlib.errors.BzrCommandError`` when the bound branch is out
 
1898
  of date. (Gary van der Merwe)
 
1899
 
103
1900
* ``bzrlib.commands.run_bzr`` is more extensible: callers can supply the
104
1901
  functions to load or disable plugins if they wish to use a different
105
1902
  plugin mechanism; the --help, --version and no-command name code paths
106
1903
  now use the generic pluggable command lookup infrastructure.
107
1904
  (Robert Collins)
108
1905
 
 
1906
* ``bzrlib.errors.BoundBranchOutOfDate`` has a new field ``extra_help``
 
1907
  which can be set to add extra help to the error. (Gary van der Merwe)
 
1908
 
 
1909
* New method ``Branch.automatic_tag_name`` that can be used to find the
 
1910
  tag name for a particular revision automatically. (Jelmer Vernooij)
 
1911
 
 
1912
* The methods ``BzrDir.create_branch()``, ``BzrDir.destroy_branch()`` and 
 
1913
  ``BzrDir.open_branch()`` now take an optional ``name`` argument. 
 
1914
  (Jelmer Vernooij)
 
1915
 
109
1916
Testing
110
1917
*******
111
1918
 
112
 
* New `bzrlib.tests.test_import_tariff` can make assertions about what
 
1919
* bzr now has a ``.testr.conf`` file in its source tree configured
 
1920
  appropriately for running tests with Testrepository
 
1921
  (``https://launchpad.net/testrepository``). (Robert Collins)
 
1922
 
 
1923
* Documentation about testing with ``subunit`` has been tweaked.
 
1924
  (Robert Collins)
 
1925
 
 
1926
* Known failures has been added for resolve --take-other on ParentLoop
 
1927
  conflicts. This reflects bug #537956 without fixing it.
 
1928
  (Vincent Ladeuil)
 
1929
 
 
1930
* New ``bzrlib.tests.test_import_tariff`` can make assertions about what
113
1931
  Python modules are loaded, to guard against startup time or library
114
1932
  dependency regressions.
115
1933
  (Martin Pool)
116
1934
 
 
1935
* PQM will now run with subunit output. To analyze a PQM error use
 
1936
  tribunal, or cat log | subunit-filter | subunit2pyunit. (Robert Collins)
 
1937
 
117
1938
* Stop sending apport crash files to ``.cache`` in the directory from
118
1939
  which ``bzr selftest`` was run.  (Martin Pool, #422350)
119
1940
 
 
1941
* Tests no longer fail if "close() called during concurrent
 
1942
  operation on the same file object" occurs when closing the log file
 
1943
  (which can happen if a thread tries to write to the log file at the
 
1944
  wrong moment).  An warning will be written to ``stderr`` when this
 
1945
  happens, and another warning will be written if the log file could not
 
1946
  be closed after retrying 100 times.  (Andrew Bennetts, #531746)
 
1947
 
120
1948
bzr 2.1.1
121
1949
#########
122
1950
 
123
 
:2.1.1: not released yet
 
1951
:2.1.1: 2010-03-24
 
1952
 
 
1953
This is a small bugfix release.  Upgrading is recommended for anyone
 
1954
running 2.1.0 or earlier.
124
1955
 
125
1956
Bug Fixes
126
1957
*********
127
1958
 
 
1959
* Allow syscalls to automatically restart when ``TextUIFactory``'s
 
1960
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
 
1961
  IO, which are often poorly handled by Python's libraries and parts of
 
1962
  bzrlib.  (Andrew Bennetts, #496813)
 
1963
 
 
1964
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
 
1965
  (Martin Pool, #331095)
 
1966
 
 
1967
* Fix plugin packaging on Windows. (Ian Clatworthy, #524162)
 
1968
 
 
1969
* Fix stub sftp test server to call os.getcwdu().
 
1970
  (Vincent Ladeuil, #526221, #526353)
 
1971
 
 
1972
* Fixed CHM generation by moving the NEWS section template into
 
1973
  a separate file. (Ian Clatworthy, #524184)
 
1974
 
 
1975
* Merge correctly when this_tree is not a WorkingTree.  (Aaron Bentley)
 
1976
 
128
1977
* Register SIGWINCH handler only when creating a ``TextUIFactory``; avoids
129
1978
  problems importing bzrlib from a non-main thread.
130
1979
  (Elliot Murphy, #521989)
131
1980
 
 
1981
* Repositories accessed via a smart server now reject being stacked on a
 
1982
  repository in an incompatible format, as is the case when accessing them
 
1983
  via other methods.  This was causing fetches from those repositories via
 
1984
  a smart server (e.g. using ``bzr branch``) to receive invalid data.
 
1985
  (Andrew Bennetts, #562380)
 
1986
 
132
1987
* Standardize the error handling when creating a new ``StaticTuple``
133
1988
  (problems will raise TypeError). (Matt Nordhoff, #457979)
134
1989
 
135
 
* Merge correctly when this_tree is not a WorkingTree.  (Aaron Bentley)
 
1990
* Warn if pyrex is too old to compile the new ``SimpleSet`` and
 
1991
  ``StaticTuple`` extensions, rather than having the build fail randomly.
 
1992
  (John Arbash Meinel, #449776)
136
1993
 
137
1994
Documentation
138
1995
*************
139
1996
 
 
1997
* Added a link to the Desktop Guide. (Ian Clatworthy)
 
1998
 
140
1999
* Added What's New in Bazaar 2.1 document. (Ian Clatworthy)
141
2000
 
 
2001
* Drop Google Analytics from the core docs as they caused problems
 
2002
  in the CHM files. (Ian Clatworthy, #502010)
 
2003
 
 
2004
API Changes
 
2005
***********
 
2006
 
 
2007
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
 
2008
  can set a signal handler and call ``signal.siginterrupt(signum,
 
2009
  False)`` for it, if the platform and Python version supports it.
 
2010
  (Andrew Bennetts, #496813)
 
2011
 
 
2012
 
 
2013
bzr 2.0.5
 
2014
#########
 
2015
 
 
2016
:2.0.5: 2010-03-23
 
2017
 
 
2018
This fifth release in our 2.0 series addresses several user-inconvenience
 
2019
bugs.  None are critical, but upgrading is recommended for all users on
 
2020
earlier 2.0 releases.
 
2021
 
 
2022
Bug Fixes
 
2023
*********
 
2024
 
 
2025
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
 
2026
  (Martin Pool, #331095)
 
2027
 
 
2028
* Concurrent autopacking is more resilient to already-renamed pack files.
 
2029
  If we find that a file we are about to obsolete is already obsoleted, we
 
2030
  do not try to rename it, and we leave the file in ``obsolete_packs``.
 
2031
  The code is also fault tolerant if a file goes missing, assuming that
 
2032
  another process already removed the file.
 
2033
  (John Arbash Meinel, Gareth White, #507557)
 
2034
 
 
2035
* Cope with the lockdir ``held/info`` file being empty, which seems to
 
2036
  happen fairly often if the process is suddenly interrupted while taking
 
2037
  a lock.
 
2038
  (Martin Pool, #185103)
 
2039
 
 
2040
* Give the warning about potentially slow cross-format fetches much
 
2041
  earlier on in the fetch operation.  Don't show this message during
 
2042
  upgrades, and show the correct format indication for remote
 
2043
  repositories.
 
2044
  (Martin Pool, #456077, #515356, #513157)
 
2045
 
 
2046
* Handle renames correctly when there are files or directories that 
 
2047
  differ only in case.  (Chris Jones, Martin Pool, #368931)
 
2048
 
 
2049
* If ``bzr push --create-prefix`` triggers an unexpected ``NoSuchFile``
 
2050
  error, report that error rather than failing with an unhelpful
 
2051
  ``UnboundLocalError``.
 
2052
  (Andrew Bennetts, #423563)
 
2053
 
 
2054
* Running ``bzr`` command without any arguments now shows bzr
 
2055
  version number along with rest of the help text.
 
2056
  (Parth Malwankar, #369501)
 
2057
 
 
2058
* Use osutils.O_NOINHERIT for some files on win32 to avoid PermissionDenied
 
2059
  errors.
 
2060
  (Inada Naoki, #524560)
 
2061
 
 
2062
Documentation
 
2063
*************
 
2064
 
 
2065
* Added ``location-alias`` help topic.
 
2066
  (Andrew Bennetts, #337834)
 
2067
 
 
2068
* Fixed CHM generation by moving the NEWS section template into
 
2069
  a separate file. (Ian Clatworthy, #524184)
 
2070
 
 
2071
 
142
2072
bzr 2.1.0
143
2073
#########
144
2074
 
171
2101
  when it encounters conflicts.  
172
2102
  (Gerard Krol, #113809)
173
2103
 
174
 
* Fix ``log`` to better check ancestors even if merged revisions are involved.
175
 
  (Vincent Ladeuil, #476293)
176
 
 
177
2104
* Give a better error message when doing ``bzr bind`` in an already bound
178
2105
  branch.  (Neil Martinsen-Burrell, #513063)
179
2106
 
495
2422
  tests that 'failed' - they're all just failures.
496
2423
  (Martin Pool)
497
2424
 
498
 
 
499
 
bzr 2.0.5 (not released yet)
500
 
############################
501
 
 
502
 
:Codename:
503
 
:2.0.5:
504
 
 
505
 
Bug Fixes
506
 
*********
507
 
 
508
 
* Handle renames correctly when there are files or directories that 
509
 
  differ only in case.  (Chris Jones, Martin Pool, #368931)
510
 
 
511
 
* If ``bzr push --create-prefix`` triggers an unexpected ``NoSuchFile``
512
 
  error, report that error rather than failing with an unhelpful
513
 
  ``UnboundLocalError``.
514
 
  (Andrew Bennetts, #423563)
515
 
 
516
 
* Running ``bzr`` command without any arguments now shows bzr
517
 
  version number along with rest of the help text.
518
 
  (Parth Malwankar, #369501)
519
 
 
520
 
Documentation
521
 
*************
522
 
 
523
 
* Added ``location-alias`` help topic.
524
 
  (Andrew Bennetts, #337834)
525
 
 
526
2425
bzr 2.0.4
527
2426
#########
528
2427
 
3163
5062
  can have a large effect on ``bzr checkout`` times. (John Arbash Meinel)
3164
5063
 
3165
5064
* selftest now supports a --parallel option, with values of 'fork' or
3166
 
  'subprocess' to run the test suite in parallel. Currently only linux
3167
 
  machine work, other platforms need patches submitted. (Robert Collins,
 
5065
  'subprocess' to run the test suite in parallel. Currently only Linux
 
5066
  machines work, other platforms need patches submitted. (Robert Collins,
3168
5067
  Vincent Ladeuil)
3169
5068
 
3170
5069
* ``tests.run_suite`` has a new parameter ``suite_decorators``, a list of 
4760
6659
  when the path to the root of the tree has been given. Users of
4761
6660
  the internal ``show_tree_status`` function should be aware that
4762
6661
  the show_pending flag is now authoritative for showing pending
4763
 
  merges, as it was originally. (Robert Collins, #225204)
 
6662
  merges, as it was originally. (Robert Collins, #255204)
4764
6663
 
4765
6664
* Set valid default _param_name for Option so that ListOption can embed
4766
6665
  '-' in names. (Vincent Ladeuil, #263249)
5918
7817
 
5919
7818
* bzr main script cannot be imported (Benjamin Peterson)
5920
7819
 
5921
 
* On Linux bzr additionally looks for plugins in arch-independent site
 
7820
* On GNU/Linux bzr additionally looks for plugins in arch-independent site
5922
7821
  directory. (Toshio Kuratomi)
5923
7822
 
5924
7823
* The ``set_rh`` branch hook is now deprecated. Please migrate
6261
8160
 
6262
8161
* BZR_LOG environment variable controls location of .bzr.log trace file.
6263
8162
  User can suppress writing messages to .bzr.log by using '/dev/null'
6264
 
  filename (on Linux) or 'NUL' (on Windows). If BZR_LOG variable
 
8163
  filename (on Unix) or 'NUL' (on Windows). If BZR_LOG variable
6265
8164
  is not defined but BZR_HOME is defined then default location
6266
8165
  for .bzr.log trace file is ``$BZR_HOME/.bzr.log``.
6267
8166
  (Alexander Belchenko, #106117)
8676
10575
  hyphen. (``'abc'`` versus ``'abc-2'``). The WT4._iter_changes
8677
10576
  iterator was using direct comparison and ``'abc/a'`` sorts after
8678
10577
  ``'abc-2'``, but ``('abc', 'a')`` sorts before ``('abc-2',)``.
8679
 
  (John Arbash Meinel, #111227)
 
10578
  (John Arbash Meinel, #111127)
8680
10579
 
8681
10580
* Handle when someone renames a file on disk without telling bzr.
8682
10581
  Previously we would report the first file as missing, but not show
9960
11859
* ``Branch.bind(other_branch)`` no longer takes a write lock on the
9961
11860
  other branch, and will not push or pull between the two branches.
9962
11861
  API users will need to perform a push or pull or update operation if they
9963
 
  require branch synchronisation to take place. (Robert Collins, #47344)
 
11862
  require branch synchronisation to take place. (Robert Collins, #43744)
9964
11863
 
9965
11864
* When creating a tarball or zipfile export, export unicode names as utf-8
9966
11865
  paths. This may not work perfectly on all platforms, but has the best
9967
 
  chance of working in the common case. (John Arbash Meinel, #56816)
 
11866
  chance of working in the common case. (John Arbash Meinel, #56815)
9968
11867
 
9969
11868
* When committing, only files that exist in working tree or basis tree
9970
11869
  may be specified (Aaron Bentley, #50793)
12003
13902
  diff, status, etc.
12004
13903
 
12005
13904
 
12006
 
bzr ?.?.? (not released yet)
12007
 
############################
12008
 
 
12009
 
:Codename: template
12010
 
:2.0.2: ???
12011
 
 
12012
 
Compatibility Breaks
12013
 
********************
12014
 
 
12015
 
New Features
12016
 
************
12017
 
 
12018
 
Bug Fixes
12019
 
*********
12020
 
 
12021
 
Improvements
12022
 
************
12023
 
 
12024
 
Documentation
12025
 
*************
12026
 
 
12027
 
API Changes
12028
 
***********
12029
 
 
12030
 
Internals
12031
 
*********
12032
 
 
12033
 
Testing
12034
 
*******
12035
 
 
12036
 
 
12037
 
 
12038
13905
..
12039
 
   vim: tw=74 ft=rst ff=unix encoding=utf-8
 
13906
   vim: tw=74 ft=rst ff=unix