~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

terminal_width can now returns None.

* bzrlib/win32utils.py:
(get_console_size): Fix typo in comment.

* bzrlib/ui/text.py:
(TextProgressView._show_line): Handle the no terminal present case.

* bzrlib/tests/test_osutils.py:
(TestTerminalWidth): Update tests.

* bzrlib/tests/blackbox/test_too_much.py:
Fix some imports.
(OldTests.test_bzr): Handle the no terminal present case.

* bzrlib/tests/__init__.py:
(VerboseTestResult.report_test_start): Handle the no terminal
present case.

* bzrlib/status.py:
(show_pending_merges): Handle the no terminal present case.
(show_pending_merges.show_log_message): Factor out some
code. Handle the no terminal present case.

* bzrlib/osutils.py:
(terminal_width): Return None if no precise value can be found.

* bzrlib/log.py:
(LineLogFormatter.__init__): Handle the no terminal present case.
(LineLogFormatter.truncate): Accept None as max_len meaning no
truncation.
(LineLogFormatter.log_string): 

* bzrlib/help.py:
(_help_commands_to_text): Handle the no terminal present case.

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.1.0rc1 (not released yet)
9
 
###############################
10
 
 
11
 
:Codename: the 'new' stable
12
 
:2.1.0rc1: 2009-01-06 (expected)
13
 
 
14
 
Compatibility Breaks
15
 
********************
16
 
 
17
 
New Features
18
 
************
19
 
 
20
 
* Add bug information to log output when available.
21
 
  (Neil Martinsen-Burrell, Guillermo Gonzalez, #251729)
22
 
 
23
 
* ``bzr branch`` now takes a ``--bind`` option. This lets you
24
 
  branch and bind all in one command. (Ian Clatworthy)
25
 
 
26
 
* ``bzr switch`` now takes a ``--revision`` option, to allow switching to
27
 
  a specific revision of a branch. (Daniel Watkins, #183559)
28
 
 
29
 
* ``bzr unshelve --preview`` can now be used to show how a patch on the
30
 
  shelf would be applied to the working tree.
31
 
  (Guilherme Salgado, #308122)
32
 
 
33
 
* ``bzr update`` now takes a ``--revision`` argument. This lets you
34
 
  change the revision of the working tree to any revision in the
35
 
  ancestry of the current or master branch. (Matthieu Moy, Mark Hammond,
36
 
  Martin Pool, #45719)
37
 
 
38
 
* ``-Dbytes`` can now be used to display the total number of bytes
39
 
  transferred for the current command. This information is always logged
40
 
  to ``.bzr.log`` for later inspection. (John Arbash Meinel)
41
 
 
42
 
* The ``suppress_warnings`` configuration option has been introduced and
43
 
  accept the ``format_deprecation`` value to disable the corresponding
44
 
  warning for repositories. It can be set to in either ``bazaar.conf``,
45
 
  ``locations.conf`` or ``branch.conf``.
46
 
  (Ted Gould, Matthew Fuller, Vincent Ladeuil)
47
 
 
48
 
Bug Fixes
49
 
*********
50
 
 
51
 
* Always show a message if an OS error occurs while trying to run a
52
 
  user-specified commit message editor.
53
 
  (Martin Pool, #504842)
54
 
 
55
 
* ``bzr export dir`` now requests all file content as a record stream,
56
 
  rather than requsting the file content one file-at-a-time. This can make
57
 
  exporting over the network significantly faster (54min => 9min in one
58
 
  case). (John Arbash Meinel, #343218)
59
 
 
60
 
* ``bzr serve`` no longer slowly leaks memory. The compiled
61
 
  ``bzrlib.bencode.Encoder()`` class was using ``__del__`` to cleanup and
62
 
  free resources, and it should have been using ``__dealloc__``.
63
 
  This will likely have an impact on any other process that is serving for
64
 
  an extended period of time.  (John Arbash Meinel, #494406)
65
 
 
66
 
* ``bzr switch -b`` can now create branches that are located using directory
67
 
  services such as ``lp:``, even when the branch name doesn't contain a
68
 
  '/'.  (Neil Martinsen-Burrell, #495263)
69
 
 
70
 
* ``bzr unshelve`` has improved messages about what it is doing.
71
 
  (Neil Martinsen-Burrell, #496917)
72
 
 
73
 
* Check for SIGINT (Ctrl-C) and other signals immediately if ``readdir``
74
 
  returns ``EINTR`` by calling ``PyErr_CheckSignals``.  This affected the
75
 
  optional ``_readdir_pyx`` extension.  (Andrew Bennetts, #495023)
76
 
 
77
 
* Fix "Too many concurrent requests" in reconcile when network connection
78
 
  fails.  (Andrew Bennetts, #503878)
79
 
 
80
 
* Fixed a side effect mutation of ``RemoteBzrDirFormat._network_name``
81
 
  that caused some tests to fail when run in a non-default order.
82
 
  Probably no user impact.  (Martin Pool, #504102)
83
 
 
84
 
* Fixed ``ObjectNotLocked`` error in ``bzr cat -rbranch:../foo FILE``.
85
 
  (Andrew Bennetts, #506274)
86
 
 
87
 
* FTP transports support Unicode paths by encoding/decoding them as utf8.
88
 
  (Vincent Ladeuil, #472161)
89
 
 
90
 
* Give a clearer message if the lockdir disappears after being apparently
91
 
  successfully taken.  (Martin Pool, #498378)
92
 
 
93
 
* Listen to the SIGWINCH signal to update the terminal width.
94
 
  (Vincent Ladeuil, #316357)
95
 
 
96
 
* Progress bars are now hidden when ``--quiet`` is given.
97
 
  (Martin Pool, #320035)
98
 
 
99
 
* ``SilentUIFactory`` now supports ``make_output_stream`` and discards
100
 
  whatever is written to it.  This un-breaks some plugin tests that
101
 
  depended on this behaviour.
102
 
  (Martin Pool, #499757)
103
 
 
104
 
* The 2a format wasn't properly restarting autopacks when something
105
 
  changed underneath it (like another autopack). Now concurrent
106
 
  autopackers will properly succeed. (John Arbash Meinel, #495000)
107
 
 
108
 
* When operations update the working tree, all affected files should end
109
 
  up with the same mtime. (eg. when versioning a generated file, if you
110
 
  update the source and the generated file together, the generated file
111
 
  should appear up-to-date.)
112
 
  (John Arbash Meinel, Martin <gzlist>, #488724)
113
 
 
114
 
Improvements
115
 
************
116
 
 
117
 
* Added ``add_cleanup`` and ``cleanup_now`` to ``bzrlib.command.Command``.
118
 
  All the builtin commands now use ``add_cleanup`` rather than
119
 
  ``try``/``finally`` blocks where applicable as it is simpler and more
120
 
  robust.  (Andrew Bennetts)
121
 
 
122
 
* Attempts to open a shared repository as a branch (e.g. ``bzr branch
123
 
  path/to/repo``) will now include "location is a repository" as a hint in
124
 
  the error message.  (Brian de Alwis, Andrew Bennetts, #440952)
125
 
 
126
 
* Push will now inform the user when they are trying to push to a foreign 
127
 
  VCS for which roundtripping is not supported, and will suggest them to 
128
 
  use dpush. (Jelmer Vernooij)
129
 
 
130
 
* The version of bzr being run is now written to the log file.
131
 
  (__monty__, #257170)
132
 
 
133
 
* Transport network activity indicator is shown more of the time when
134
 
  Bazaar is doing network IO.
135
 
  (Martin Pool)
136
 
 
137
 
Documentation
138
 
*************
139
 
 
140
 
* Improved help for ``bzr send``. 
141
 
  (Martin Pool, Bojan Nikolic)
142
 
 
143
 
* There is a System Administrator's Guide in ``doc/en/admin-guide``,
144
 
  including discussions of installation, relevant plugins, security and 
145
 
  backup. (Neil Martinsen-Burrell)
146
 
 
147
 
* The ``conflicts`` help topic has been renamed to ``conflict-types``.
148
 
  (Ian Clatworthy)
149
 
 
150
 
* The User Reference is now presented as a series of topics.
151
 
  Many of the included topics have link and format tweaks applied.
152
 
  (Ian Clatworthy)
153
 
 
154
 
API Changes
155
 
***********
156
 
 
157
 
* Many test features were renamed from ``FooFeature`` to ``foo_feature``
158
 
  to be consistent with instances being lower case and classes being
159
 
  CamelCase. For the features that were more likely to be used, we added a
160
 
  deprecation thunk, but not all. (John Arbash Meinel)
161
 
 
162
 
* The Branch hooks pre_change_branch_tip no longer masks exceptions raised
163
 
  by plugins - the original exceptions are now preserved. (Robert Collins)
164
 
 
165
 
* The Transport ``Server.tearDown`` method is now renamed to
166
 
  ``stop_server`` and ``setUp`` to ``start_server`` for consistency with
167
 
  our normal naming pattern, and to avoid confusion with Python's
168
 
  ``TestCase.tearDown``.  (Martin Pool)
169
 
 
170
 
* ``WorkingTree.update`` implementations must now accept a ``revision``
171
 
  parameter.
172
 
 
173
 
Internals
174
 
*********
175
 
 
176
 
* Added ``BzrDir.open_branchV3`` smart server request, which can receive
177
 
  a string of details (such as "location is a repository") as part of a
178
 
  ``nobranch`` response.  (Andrew Bennetts, #440952)
179
 
  
180
 
* New helper osutils.UnicodeOrBytesToBytesWriter which encodes unicode
181
 
  objects but passes str objects straight through. This is used for
182
 
  selftest but may be useful for diff and other operations that generate
183
 
  mixed output. (Robert Collins)
184
 
 
185
 
* New exception ``NoRoundtrippingSupport``, for use by foreign branch 
186
 
  plugins. (Jelmer Vernooij)
187
 
 
188
 
Testing
189
 
*******
190
 
 
191
 
* ``bzrlib.tests.permute_for_extension`` is a helper that simplifies
192
 
  running all tests in the current module, once against a pure python
193
 
  implementation, and once against an extension (pyrex/C) implementation.
194
 
  It can be used to dramatically simplify the implementation of
195
 
  ``load_tests``.  (John Arbash Meinel)
196
 
 
197
 
* ``bzrlib.tests.TestCase`` now subclasses ``testtools.testcase.TestCase``.
198
 
  This permits features in testtools such as getUniqueInteger and
199
 
  getUniqueString to be used. Because of this, testtools version 0.9.2 or
200
 
  newer is now a dependency to run bzr selftest. Running with versions of
201
 
  testtools less than 0.9.2 will cause bzr to error while loading the test
202
 
  suite. (Robert Collins)
203
 
 
204
 
* Shell-like tests now support the command "mv" for moving files.  The
205
 
  syntax for ``mv file1 file2``, ``mv dir1 dir2`` and ``mv file dir`` is
206
 
  supported.  (Neil Martinsen-Burrell)
207
 
 
208
 
* The test progress bar no longer distinguishes tests that 'errored' from
209
 
  tests that 'failed' - they're all just failures.
210
 
  (Martin Pool)
211
 
 
212
 
bzr 2.0.4 (not released yet)
213
 
############################
 
8
 
 
9
bzr 2.1.0b2 (not released yet)
 
10
##############################
214
11
 
215
12
:Codename:
216
 
:2.0.4: smooth sailing
217
 
 
218
 
Compatibility Breaks
219
 
********************
220
 
 
221
 
New Features
222
 
************
223
 
 
224
 
Bug Fixes
225
 
*********
226
 
 
227
 
* ``bzr annotate`` on another branch with ``-r branch:...`` no longer
228
 
  fails with an ``ObjectNotLocked`` error.  (Andrew Bennetts, #496590)
229
 
 
230
 
* ``bzr export dir`` now requests all file content as a record stream,
231
 
  rather than requsting the file content one file-at-a-time. This can make
232
 
  exporting over the network significantly faster (54min => 9min in one
233
 
  case). (John Arbash Meinel, #343218)
234
 
 
235
 
* ``bzr serve`` no longer slowly leaks memory. The compiled
236
 
  ``bzrlib.bencode.Encoder()`` class was using ``__del__`` to cleanup and
237
 
  free resources, and it should have been using ``__dealloc__``.
238
 
  This will likely have an impact on any other process that is serving for
239
 
  an extended period of time.  (John Arbash Meinel, #494406)
240
 
 
241
 
* Check for SIGINT (Ctrl-C) and other signals immediately if ``readdir``
242
 
  returns ``EINTR`` by calling ``PyErr_CheckSignals``.  This affected the
243
 
  optional ``_readdir_pyx`` extension.  (Andrew Bennetts, #495023)
244
 
 
245
 
* Concurrent autopacks will no longer lose a newly created pack file.
246
 
  There was a race condition, where if the reload happened at the right
247
 
  time, the second packer would forget the name of the newly added pack
248
 
  file. (John Arbash Meinel, Gareth White, #507566)
249
 
 
250
 
* Give a clearer message if the lockdir disappears after being apparently
251
 
  successfully taken.  (Martin Pool, #498378)
252
 
 
253
 
* Give a warning when fetching between repositories (local or remote) with
254
 
  sufficiently different formats that the content will need to be
255
 
  serialized (ie ``InterDifferingSerializer`` or ``inventory-deltas``), so
256
 
  the user has a clue that upgrading could make it faster.
257
 
  (Martin Pool, #456077)
258
 
 
259
 
* If we fail to open ``~/.bzr.log`` write a clear message to stderr rather
260
 
  than using ``warning()``. The log file is opened before logging is set
261
 
  up, and it leads to very confusing: 'no handlers for "bzr"' messages for
262
 
  users, rather than something nicer.
263
 
  (John Arbash Meinel, Barry Warsaw, #503886)
264
 
 
265
 
* Refuse to build with any Pyrex 0.9.4 release, as they have known bugs.
266
 
  (Martin Pool, John Arbash Meinel, #449372)
267
 
 
268
 
* ``setup.py bdist_rpm`` now properly finds extra files needed for the
269
 
  build. (there is still the distutils bug
270
 
  http://bugs.python.org/issue644744) (Joe Julian, #175839)
271
 
 
272
 
* The 2a format wasn't properly restarting autopacks when something
273
 
  changed underneath it (like another autopack). Now concurrent
274
 
  autopackers will properly succeed. (John Arbash Meinel, #495000)
275
 
 
276
 
* ``TreeTransform`` can now handle when a delta says that the file id for
277
 
  the tree root changes. Rather than trying to rename your working
278
 
  directory, or failing early saying that you can't have multiple
279
 
  tree roots. This also fixes revert, update, and pull when the root id
280
 
  changes.  (John Arbash Meinel, #494269, #504390)
281
 
 
282
 
* ``_update_current_block`` no longer suppresses exceptions, so ^C at just
283
 
  the right time will get propagated, rather than silently failing to move
284
 
  the block pointer. (John Arbash Meinel, Gareth White, #495023)
285
 
 
286
 
Improvements
287
 
************
288
 
 
289
 
Documentation
290
 
*************
291
 
 
292
 
API Changes
293
 
***********
294
 
 
295
 
Internals
296
 
*********
297
 
 
298
 
Testing
299
 
*******
300
 
 
301
 
* We have a new ``test_source`` that ensures all pyrex ``cdef`` functions
302
 
  handle exceptions somehow. (Possibly by setting ``# cannot_raise``
303
 
  rather than an ``except ?:`` clause.) This should help prevent bugs like
304
 
  bug #495023. (John Arbash Meinel)
305
 
 
306
 
 
307
 
bzr 2.1.0b4
308
 
###########
309
 
 
310
 
:Codename: san francisco airport
311
 
:2.1.0b4: 2009-12-14
312
 
 
313
 
The fourth beta release in the 2.1 series brings with it a significant
314
 
number of bugfixes (~20). The test suite is once again (finally) "green"
315
 
on Windows, and should remain that way for future releases. There are a
316
 
few performance related updates (faster upgrade and log), and several UI
317
 
tweaks. There has also been a significant number of tweaks to the runtime
318
 
documentation. 2.1.0b4 include everything from the 2.0.3 release.
319
 
 
320
 
 
321
 
Compatibility Breaks
322
 
********************
323
 
 
324
 
* The BZR_SSH environmental variable may now be set to the path of a secure
325
 
  shell client. If currently set to the value ``ssh`` it will now guess the
326
 
  vendor of the program with that name, to restore the old behaviour that
327
 
  indicated the SSH Corporation client use ``sshcorp`` instead as the magic
328
 
  string. (Martin <gzlist@googlemail.com>, #176292)
329
 
 
330
 
New Features
331
 
************
332
 
 
333
 
* ``bzr commit`` now has a ``--commit-time`` option.
334
 
  (Alexander Sack, #459276)
335
 
 
336
 
* ``-Dhpss`` now increases logging done when run on the bzr server,
337
 
  similarly to how it works on the client. (John Arbash Meinel)
338
 
 
339
 
* New option ``bzr unshelve --keep`` applies the changes and leaves them
340
 
  on the shelf.  (Martin Pool, Oscar Fuentes, #492091)
341
 
 
342
 
* The ``BZR_COLUMNS`` envrionment variable can be set to force bzr to
343
 
  respect a given terminal width. This can be useful when output is
344
 
  redirected or in obscure cases where the default value is not
345
 
  appropriate. Pagers can use it to get a better control of the line
346
 
  lengths. 
347
 
  (Vincent Ladeuil)
348
 
 
349
 
* The new command ``bzr lp-mirror`` will request that Launchpad update its
350
 
  mirror of a local branch. This command will only function if launchpadlib
351
 
  is installed.
352
 
  (Jonathan Lange)
353
 
 
354
 
 
355
 
Bug Fixes
356
 
*********
357
 
 
358
 
* After renaming a file, the dirstate could accidentally reference
359
 
  ``source\\path`` rather than ``source/path`` on Windows. This might be a
360
 
  source of some dirstate-related failures. (John Arbash Meinel)
361
 
 
362
 
* ``bzr commit`` now detects commit messages that looks like file names
363
 
  and issues a warning.
364
 
  (Gioele Barabucci, #73073)
365
 
 
366
 
* ``bzr ignore /`` no longer causes an IndexError. (Gorder Tyler, #456036)
367
 
 
368
 
* ``bzr log -n0 -rN`` should not return revisions beyond its merged revisions.
369
 
  (#325618, #484109, Marius Kruger)
370
 
 
371
 
* ``bzr merge --weave`` and ``--lca`` will now create ``.BASE`` files for
372
 
  files with conflicts (similar to ``--merge3``). The contents of the file
373
 
  is a synthesis of all bases used for the merge.
374
 
  (John Arbash Meinel, #40412)
375
 
 
376
 
* ``bzr mv --quiet`` really is quiet now.  (Gordon Tyler, #271790)
377
 
 
378
 
* ``bzr serve`` is more clear about the risk of supplying --allow-writes.
379
 
  (Robert Collins, #84659)
380
 
 
381
 
* ``bzr serve --quiet`` really is quiet now.  (Gordon Tyler, #252834)
382
 
 
383
 
* Fix bug with redirected URLs over authenticated HTTP.
384
 
  (Glen Mailer, Neil Martinsen-Burrell, Vincent Ladeuil, #395714)
385
 
 
386
 
* Interactive merge doesn't leave branch locks behind.  (Aaron Bentley)
387
 
 
388
 
* Lots of bugfixes for the test suite on Windows. We should once again
389
 
  have a test suite with no failures on Windows. (John Arbash Meinel)
390
 
 
391
 
* ``osutils.terminal_width()`` obeys the BZR_COLUMNS environment
392
 
  variable but returns None if the terminal is not a tty (when output is
 
13
:2.1.0b2: ???
 
14
 
 
15
 
 
16
Compatibility Breaks
 
17
********************
 
18
 
 
19
New Features
 
20
************
 
21
 
 
22
Bug Fixes
 
23
*********
 
24
 
 
25
* ``osutils.terminal_width()`` obeys the COLUMNS envrionment variable
 
26
  but returns None if the terminal is not a tty (when output is
393
27
  redirected for example). Also fixes its usage under OSes that doesn't
394
 
  provide termios.TIOCGWINSZ. Make sure the corresponding tests runs on
395
 
  windows too.
396
 
  (Joke de Buhr, Vincent Ladeuil, #353370, #62539)
397
 
  (John Arbash Meinel, Vincent Ladeuil, #492561)
398
 
 
399
 
* Terminate ssh subprocesses when no references to them remain, fixing
400
 
  subprocess and file descriptor leaks.  (Andrew Bennetts, #426662)
401
 
  
402
 
* The ``--hardlink`` option of ``bzr branch`` and ``bzr checkout`` now
403
 
  works for 2a format trees.  Only files unaffected by content filters
404
 
  will be hardlinked.  (Andrew Bennetts, #408193)
405
 
 
406
 
* The new glob expansion on Windows would replace all ``\`` characters
407
 
  with ``/`` even if it there wasn't a glob to expand, the arg was quoted,
408
 
  etc. Now only change slashes if there is something being glob expanded.
409
 
  (John Arbash Meinel, #485771)
410
 
 
411
 
* Use our faster ``KnownGraph.heads()`` functionality when computing the
412
 
  new rich-root heads. This can cut a conversion time in half (mysql from
413
 
  13.5h => 6.2h) (John Arbash Meinel, #487632)
414
 
 
415
 
* When launching a external diff tool via bzr diff --using, temporary files
416
 
  are no longer created, rather, the path to the file in the working tree is
417
 
  passed to the external diff tool. This allows the file to be edited if the
418
 
  diff tool provides for this. (Gary van der Merwe, #490738)
419
 
  
420
 
* The launchpad-open command can now be used from a subdirectory of a
421
 
  branch, not just from the root of the branch. 
422
 
  (Neil Martinsen-Burrell, #489102)
423
 
 
424
 
 
425
 
Improvements
426
 
************
427
 
 
428
 
* ``bzr log`` is now faster. (Ian Clatworthy)
429
 
 
430
 
* ``bzr update`` provides feedback on which branch it is up to date with.
431
 
  (Neil Martinsen-Burrell)
432
 
 
433
 
* ``bzr upgrade`` from pre-2a to 2a can be significantly faster (4x).
434
 
  For details see the xml8 patch and heads() improvements.
435
 
  (John Arbash Meinel)
436
 
 
437
 
* ``bzrlib.urlutils.local_path_from_url`` now accepts
438
 
  'file://localhost/' as well as 'file:///' URLs on POSIX.  (Michael
439
 
  Hudson)
440
 
 
441
 
* The progress bar now shows only a spinner and per-operation counts,
442
 
  not an overall progress bar.  The previous bar was often not correlated
443
 
  with real overall operation progress, either because the operations take
444
 
  nonlinear time, or because at the start of the operation Bazaar couldn't
445
 
  estimate how much work there was to do.  (Martin Pool)
446
 
 
447
 
Documentation
448
 
*************
449
 
 
450
 
* Lots of documentation tweaks for inline help topics and command help
451
 
  information.
452
 
 
453
 
API Changes
454
 
***********
455
 
 
456
 
* ``bzrlib.textui`` (vestigial module) removed.  (Martin Pool)
457
 
 
458
 
* The Launchpad plugin now has a function ``login`` which will log in to
459
 
  Launchpad with launchpadlib, and ``load_branch`` which will return the
460
 
  Launchpad Branch object corresponding to a given Bazaar Branch object.
461
 
  (Jonathan Lange)
462
 
 
463
 
Internals
464
 
*********
465
 
 
466
 
* New test Feature: ``ModuleAvailableFeature``. It is designed to make it
467
 
  easier to handle what tests you want to run based on what modules can be
468
 
  imported. (Rather than lots of custom-implemented features that were
469
 
  basically copy-and-pasted.) (John Arbash Meinel)
470
 
 
471
 
* ``osutils.timer_func()`` can be used to get either ``time.time()`` or
472
 
  ``time.clock()`` when you want to do performance timing.
473
 
  ``time.time()`` is limited to 15ms resolution on Windows, but
474
 
  ``time.clock()`` gives CPU and not wall-clock time on other platforms.
475
 
  (John Arbash Meinel)
476
 
 
477
 
* Several code paths that were calling ``Transport.get().read()`` have
478
 
  been changed to the equalivent ``Transport.get_bytes()``. The main
479
 
  difference is that the latter will explicitly call ``file.close()``,
480
 
  rather than expecting the garbage collector to handle it. This helps
481
 
  with some race conditions on Windows during the test suite and sftp
482
 
  tests. (John Arbash Meinel)
483
 
 
484
 
Testing
485
 
*******
486
 
 
487
 
* TestCaseWithMemoryTransport no longer sets $HOME and $BZR_HOME to
488
 
  unicode strings. (Michael Hudson, #464174)
489
 
 
490
 
 
491
 
bzr 2.0.3
492
 
#########
493
 
 
494
 
:Codename: little italy
495
 
:2.0.3: 2009-12-14
496
 
 
497
 
 
498
 
The third stable release of Bazaar has a small handful of bugfixes. As
499
 
expected, this has no internal or external compatibility changes versus
500
 
2.0.2 (or 2.0.0).
501
 
 
502
 
Bug Fixes
503
 
*********
504
 
 
505
 
* ``bzr push --use-existing-dir`` no longer crashes if the directory
506
 
  exists but contains an invalid ``.bzr`` directory.
507
 
  (Andrew Bennetts, #423563)
508
 
 
509
 
* Content filters are now applied correctly after pull, merge and switch.
510
 
  (Ian Clatworthy, #385879)
511
 
 
512
 
* Fix a potential segfault in the groupcompress hash map handling code.
513
 
  When inserting new entries, if the final hash bucket was empty, we could
514
 
  end up trying to access if ``(last_entry+1)->ptr == NULL``.
515
 
  (John Arbash Meinel, #490228)
516
 
 
517
 
* Improve "Binary files differ" hunk handling.  (Aaron Bentley, #436325)
518
 
 
519
 
 
520
 
bzr 2.1.0b3
521
 
###########
522
 
 
523
 
:Codename: after sprint recovery
524
 
:2.1.0b3: 2009-11-16
525
 
 
526
 
This release was pushed up from its normal release cycle due to a
527
 
regression in python 2.4 compatibility in 2.1.0b2.  Since this regression
528
 
was caught before 2.1.0b2 was officially announced, the full changelog
529
 
includes both 2.1.0b3 and 2.1.0b2 changes.
530
 
 
531
 
Highlights of 2.1.0b3 are: new globbing code for all commands on Windows,
532
 
the test suite now conforms to python's trunk enhanced semantics (skip,
533
 
etc.), and ``bzr info -v`` will now report the correct branch and repo
534
 
formats for Remote objects.
535
 
 
536
 
 
537
 
New Features
538
 
************
539
 
 
540
 
* Users can define a shelve editor to provide shelf functionality at a
541
 
  granularity finer than per-patch-hunk. (Aaron Bentley)
542
 
 
543
 
Bug Fixes
544
 
*********
545
 
 
546
 
* Fix for shell completion and short options.  (Benoît PIERRE)
547
 
 
548
 
* Hooks daughter classes should always call the base constructor.
549
 
  (Alexander Belchenko, Vincent Ladeuil, #389648) 
550
 
 
551
 
* Improve "Binary files differ" hunk handling.  (Aaron Bentley, #436325)
552
 
 
553
 
* On Windows, do glob expansion at the command-line level (as is usually
554
 
  done in bash, etc.) This means that *all* commands get glob expansion
555
 
  (bzr status, bzr add, bzr mv, etc). It uses a custom command line
556
 
  parser, which allows us to know if a given section was quoted. It means
557
 
  you can now do ``bzr ignore "*.py"``.
558
 
  (John Arbash Meinel, #425510, #426410, #194450)
559
 
 
560
 
* Sanitize commit messages that come in from the '-m' flag. We translate
561
 
  '\r\n' => '\n' and a plain '\r' => '\n'. The storage layer doesn't
562
 
  allow those because XML store silently translate it anyway. (The parser
563
 
  auto-translates \r\n => \n in ways that are hard for us to catch.)
564
 
 
565
 
* Show correct branch and repository format descriptions in 
566
 
  ``bzr info -v`` on a smart server location.  (Andrew Bennetts, #196080)
567
 
 
568
 
* The fix for bug #186920 accidentally broke compatibility with python
569
 
  2.4.  (Vincent Ladeuil, #475585)
570
 
 
571
 
* Using ``Repository.get_commit_builder().record_iter_changes()`` now
572
 
  correctly sets ``self.inv_sha1`` to a sha1 string and
573
 
  ``self.new_inventory`` to an Inventory instance after calling
574
 
  ``self.finish_inventory()``. (Previously it accidently set both values
575
 
  as a tuple on ``self.inv_sha1``. This was missed because
576
 
  ``repo.add_revision`` ignores the supplied inventory sha1 and recomputes
577
 
  the sha1 from the repo directly. (John Arbash Meinel)
578
 
 
579
 
* Shelve command refuse to run if there is no real terminal.
580
 
  (Alexander Belchenko)
581
 
 
582
 
* Avoid unnecessarily flushing of trace file; it's now unbuffered at the
583
 
  Python level.  (Martin Pool)
584
 
 
585
 
Documentation
586
 
*************
587
 
 
588
 
* Include Japanese translations for documentation (Inada Naoki)
589
 
 
590
 
* New API ``ui_factory.make_output_stream`` to be used for sending bulk
591
 
  (rather than user-interaction) data to stdout.  This automatically
592
 
  coordinates with progress bars or other terminal activity, and can be
593
 
  overridden by GUIs.
594
 
  (Martin Pool, 493944)
595
 
 
596
 
Internals
597
 
*********
598
 
 
599
 
* Some of the core groupcompress functionality now releases the GIL before
600
 
  operation. Similar to how zlib and bz2 operate without the GIL in the
601
 
  core compression and decompression routines. (John Arbash Meinel)
602
 
 
603
 
Testing
604
 
*******
605
 
 
606
 
* -Dhpssvfs will now trigger on ``RemoteBzrDir._ensure_real``, providing
607
 
  more debugging of VFS access triggers. (Robert Collins)
608
 
 
609
 
* KnownFailure is now signalled to ``ExtendedTestResult`` using the same
610
 
  method that Python 2.7 uses - ``addExpectedFailure``. (Robert Collins)
611
 
 
612
 
* ``--parallel=fork`` is now compatible with --subunit.
613
 
  (Robert Collins, Vincent Ladeuil, #419776)
614
 
 
615
 
* Reporting of failures shows test ids not descriptions and thus shows
616
 
  parameterised tests correctly. (Robert Collins)
617
 
 
618
 
* TestNotApplicable is now handled within the TestCase.run method rather
619
 
  than being looked for within ``ExtendedTestResult.addError``. This
620
 
  provides better handling with other ``TestResult`` objects, degrading to
621
 
  sucess rather than error. (Robert Collins)
622
 
 
623
 
* The private method ``_testConcluded`` on ``ExtendedTestResult`` has been
624
 
  removed - it was empty and unused. (Robert Collins)
625
 
 
626
 
* UnavailableFeature is now handled within the TestCase.run method rather
627
 
  than being looked for within addError. If the Result object does not
628
 
  have an addNotSupported method, addSkip is attempted instead, and
629
 
  failing that addSuccess. (Robert Collins)
630
 
 
631
 
* When a TestResult does not have an addSkip method, skipped tests are now
632
 
  reported as successful tests, rather than as errors. This change is
633
 
  to make it possible to get a clean test run with a less capable
634
 
  TestResult. (Robert Collins)
635
 
 
636
 
 
637
 
 
638
 
bzr 2.1.0b2
639
 
###########
640
 
 
641
 
:Codename: a load off my mind
642
 
:2.1.0b2: 2009-11-02
643
 
 
644
 
This is our second feature-filled release since 2.0, pushing us down the
645
 
path to a 2.1.0. Once again, all bugfixes in 2.0.2 are present in 2.1.0b2.
646
 
 
647
 
Key highlights in this release are: improved handling of
648
 
failures-during-cleanup for commit, fixing a long-standing bug with
649
 
``bzr+http`` and shared repositories, all ``lp:`` urls to be resolved
650
 
behind proxies, and a new StaticTuple datatype, allowing us to reduce
651
 
memory consumption (50%) and garbage collector overhead (40% faster) for
652
 
many operations.
653
 
 
654
 
* A new ``--concurrency`` option has been added as well as an associated
655
 
  BZR_CONCURRENCY environment variable to specify the number of
656
 
  processes that can be run concurrently when running ``bzr selftest``. The
657
 
  command-line option overrides the environment variable if both are
658
 
  specified. If none is specified. the number of processes is obtained
659
 
  from the OS as before.  (Matt Nordhoff, Vincent Ladeuil)
660
 
 
661
 
Bug Fixes
662
 
*********
663
 
 
664
 
* ``bzr+http`` servers no longer give spurious jail break errors when
665
 
  serving branches inside a shared repository.  (Andrew Bennetts, #348308)
666
 
 
667
 
* Errors during commit are handled more robustly so that knock-on errors
668
 
  are less likely to occur, and will not obscure the original error if
669
 
  they do occur.  This fixes some causes of ``TooManyConcurrentRequests``
670
 
  and similar errors.  (Andrew Bennetts, #429747, #243391)
671
 
 
672
 
* Launchpad urls can now be resolved from behind proxies.
673
 
  (Gordon Tyler, Vincent Ladeuil, #186920)
674
 
 
675
 
* Reduce the strictness for StaticTuple, instead add a debug flag
676
 
  ``-Dstatic_tuple`` which will change apis to be strict and raise errors.
677
 
  This way, most users won't see failures, but developers can improve
678
 
  internals. (John Arbash Meinel, #471193)
679
 
 
680
 
* TreeTransform.adjust_path updates the limbo paths of descendants of adjusted
681
 
  files.  (Aaron Bentley)
682
 
 
683
 
* Unicode paths are now handled correctly and consistently by the smart
684
 
  server.  (Andrew Bennetts, Michael Hudson, #458762)
685
 
 
686
 
Improvements
687
 
************
688
 
 
689
 
* When reading index files, we now use a ``StaticTuple`` rather than a
690
 
  plain ``tuple`` object. This generally gives a 20% decrease in peak
691
 
  memory, and can give a performance boost up to 40% on large projects.
692
 
  (John Arbash Meinel)
693
 
 
694
 
* Peak memory under certain operations has been reduced significantly.
695
 
  (eg, 'bzr branch launchpad standalone' is cut in half)
696
 
  (John Arbash Meinel)
697
 
 
698
 
Documentation
699
 
*************
700
 
 
701
 
* Filtered views user documentation upgraded to refer to format 2a
702
 
  instead of pre-2.0 formats. (Ian Clatworthy)
703
 
 
704
 
API Changes
705
 
***********
706
 
 
707
 
* Remove deprecated ``CLIUIFactory``.  (Martin Pool)
 
28
  provide termios.TIOCGWINSZ.
 
29
 (Joke de Buhr, Vincent Ladeuil, #353370, #62539)
 
30
 
 
31
Improvements
 
32
************
 
33
 
 
34
Documentation
 
35
*************
 
36
 
 
37
API Changes
 
38
***********
708
39
 
709
40
* ``UIFactory`` now has new ``show_error``, ``show_message`` and
710
41
  ``show_warning`` methods, which can be hooked by non-text UIs.  
720
51
  used as the interning structure for StaticTuple objects.
721
52
  (John Arbash Meinel)
722
53
 
723
 
* ``bzrlib._static_tuple_c.StaticTuple`` is now available and used by
724
 
  the btree index parser and the chk map parser. This class functions
725
 
  similarly to ``tuple`` objects. However, it can only point to a limited
726
 
  collection of types.  (Currently StaticTuple, str, unicode, None, bool,
727
 
  int, long, float, but not subclasses).  This allows us to remove it from
728
 
  the garbage collector (it cannot be in a cycle), it also allows us to
729
 
  intern the objects. In testing, this can reduce peak memory by 20-40%,
730
 
  and significantly improve performance by removing objects from being
731
 
  inspected by the garbage collector.  (John Arbash Meinel)
732
 
 
733
 
* ``GroupCompressBlock._ensure_content()`` will now release the
734
 
  ``zlib.decompressobj()`` when the first request is for all of the
735
 
  content. (Previously it would only be released if you made a request for
736
 
  part of the content, and then all of it later.) This turns out to be a
737
 
  significant memory savings, as a ``zstream`` carries around approx 260kB
738
 
  of internal state and buffers. (For branching bzr.dev this drops peak
739
 
  memory from 382MB => 345MB.) (John Arbash Meinel)
740
 
 
741
 
* When streaming content between ``2a`` format repositories, we now clear
742
 
  caches from earlier versioned files. (So 'revisions' is cleared when we
743
 
  start reading 'inventories', etc.) This can have a significant impact on
744
 
  peak memory for initial copies (~200MB). (John Arbash Meinel)
745
 
 
746
 
 
747
 
bzr 2.0.2
748
 
#########
749
 
 
750
 
:Codename: after the scare
751
 
:2.0.2: 2009-11-02
752
 
 
753
 
The second in our "let's keep the stable bugfixes flowing" series. As
754
 
expected this has a few (~9) bugfixes relative to 2.0.1, and no major api
755
 
changes or features.
 
54
* ``bzrlib._static_tuple_pyx.StaticTuple`` is now available. This class
 
55
  functions similarly to ``tuple`` objects. However, it can only point at
 
56
  other ``StaticTuple`` instances or strings. This allows us to remove it
 
57
  from the garbage collector (it cannot be in a cycle), it also allows us
 
58
  to intern the objects. In testing, this can reduce peak memory by
 
59
  20-40%, and significantly improve performance by removing objects from
 
60
  being inspected by the garbage collector. (John Arbash Meinel)
 
61
 
 
62
Testing
 
63
*******
 
64
 
 
65
 
 
66
bzr 2.0.2 (not released yet)
 
67
############################
 
68
 
 
69
:Codename:
 
70
:2.0.2: ???
 
71
 
 
72
Compatibility Breaks
 
73
********************
 
74
 
 
75
New Features
 
76
************
756
77
 
757
78
Bug Fixes
758
79
*********
759
80
 
760
 
* Avoid "NoneType has no attribute st_mode" error when files disappear
761
 
  from a directory while it's being read.  (Martin Pool, #446033)
762
 
 
763
 
* Content filters are now applied correctly after revert.
764
 
  (Ian Clatworthy)
765
 
 
766
 
* Diff parsing handles "Binary files differ" hunks.  (Aaron Bentley, #436325)
767
 
 
768
 
* Fetching from stacked pre-2a repository via a smart server no longer
769
 
  fails intermittently with "second push failed to complete".
770
 
  (Andrew Bennetts, #437626)
771
 
 
772
 
* Fix typos left after test_selftest refactoring.
773
 
  (Vincent Ladeuil, Matt Nordhoff, #461149)
774
 
 
775
 
* Fixed ``ObjectNotLocked`` errors during ``bzr log -r NNN somefile``.
776
 
  (Andrew Bennetts, #445171)
777
 
  
778
 
* PreviewTree file names are not limited by the encoding of the temp
779
 
  directory's filesystem. (Aaron Bentley, #436794)
780
 
 
781
81
Improvements
782
82
************
783
83
 
784
 
* ``bzr log`` now read-locks branches exactly once, so makes better use of
785
 
  data caches.  (Andrew Bennetts)
786
 
 
787
84
Documentation
788
85
*************
789
86
 
790
 
* Filtered views user documentation upgraded to refer to format 2a
791
 
  instead of pre-2.0 formats. (Ian Clatworthy)
 
87
API Changes
 
88
***********
 
89
 
 
90
Internals
 
91
*********
 
92
 
 
93
Testing
 
94
*******
792
95
 
793
96
 
794
97
bzr 2.1.0b1
897
200
Improvements
898
201
************
899
202
 
900
 
* Revision specifiers can now be given in a more DWIM form, without
901
 
  needing explicit prefixes for specifiers like tags or revision id's.
902
 
  See ``bzr help revisionspec`` for full details.  (Matthew Fuller)
903
 
 
904
203
* Bazaar gives a warning before exiting, and writes into ``.bzr.log``, if 
905
204
  compiled extensions can't be loaded.  This typically indicates a
906
205
  packaging or installation problem.  In this case Bazaar will keep
1279
578
* ``bzr shelve`` and ``bzr unshelve`` now work on windows.
1280
579
  (Robert Collins, #305006)
1281
580
 
1282
 
* Commit of specific files no longer prevents using the iter_changes
 
581
* Commit of specific files no longer prevents using the the iter_changes
1283
582
  codepath. On 2a repositories, commit of specific files should now be as
1284
583
  fast, or slightly faster, than a full commit. (Robert Collins)
1285
584
 
2048
1347
************
2049
1348
 
2050
1349
* A new repository format ``2a`` has been added.  This is a beta release
2051
 
  of the brisbane-core (aka group-compress) project.  This format now
 
1350
  of the the brisbane-core (aka group-compress) project.  This format now
2052
1351
  suitable for wider testing by advanced users willing to deal with some
2053
1352
  bugs.  We would appreciate test reports, either positive or negative.
2054
1353
  Format 2a is substantially smaller and faster for many operations on
2777
2076
 
2778
2077
* Added ``bzrlib.inventory_delta`` module.  This will be used for
2779
2078
  serializing and deserializing inventory deltas for more efficient
2780
 
  streaming on the network.  (Robert Collins, Andrew Bennetts)
 
2079
  streaming on the the network.  (Robert Collins, Andrew Bennetts)
2781
2080
 
2782
2081
* ``Branch._get_config`` has been added, which splits out access to the
2783
2082
  specific config file from the branch. This is used to let RemoteBranch
2972
2271
* Multiple authors for a commit can now be recorded by using the "--author"
2973
2272
  option multiple times. (James Westby, #185772)
2974
2273
 
2975
 
* New clean-tree command, from bzrtools.  (Aaron Bentley, Jelmer Vernooij)
 
2274
* New clean-tree command, from bzrtools.  (Aaron Bentley, Jelmer Vernoij)
2976
2275
 
2977
2276
* New command ``bzr launchpad-open`` opens a Launchpad web page for that
2978
2277
  branch in your web browser, as long as the branch is on Launchpad at all.
5501
4800
  exception. (Andrew Bennetts)
5502
4801
 
5503
4802
* New ``--debugflag``/``-E`` option to ``bzr selftest`` for setting
5504
 
  options for debugging tests, these are complementary to the -D
 
4803
  options for debugging tests, these are complementary to the the -D
5505
4804
  options.  The ``-Dselftest_debug`` global option has been replaced by the
5506
4805
  ``-E=allow_debug`` option for selftest. (Andrew Bennetts)
5507
4806