~bzr/ubuntu/lucid/bzr/beta-ppa

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Martin Pool
  • Date: 2010-08-18 04:26:39 UTC
  • mfrom: (129.1.8 packaging-karmic)
  • Revision ID: mbp@sourcefrog.net-20100818042639-mjoxtngyjwiu05fo
* PPA rebuild for lucid.
* PPA rebuild for karmic.
* PPA rebuild onto jaunty.
* New upstream release.

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
 
9
#######
 
10
 
 
11
:Codename: La Hulpe
 
12
:2.2: 2010-08-06
 
13
 
 
14
This release marks the start of another long-term-stable series. From
 
15
here, we will only make bugfix releases on the 2.2 series (2.2.1, etc),
 
16
while 2.3 will become our new development series. The 2.0 and 2.1 series
 
17
will also continue to get bugfixes. (Currently 2.0 is planned to be
 
18
supported for another 6 months.)
 
19
 
 
20
This is primarily a bugfix and polish release over the 2.1 series, with
 
21
a large number of bugs fixed (>120), and some performance improvements.
 
22
 
 
23
There are some compatibility changes in this release.  For users of bzrlib
 
24
as a library, we now request that they call ``bzrlib.initialize`` and use
 
25
the returned context manager appropriately. For commandline users we no
 
26
longer guess user identity for ``bzr commit``, users must specify their
 
27
identity using ``bzr whoami`` (you don't need to specify your identity for
 
28
readonly operations).
 
29
 
 
30
Users are encouraged to upgrade from the other stable series.
 
31
 
 
32
Compatibility Breaks
 
33
********************
 
34
 
 
35
* BzrError subclasses no longer support the name "message" to be used
 
36
  as an argument for __init__ or in _fmt format specification as this
 
37
  breaks in some Python versions. errors.LockError.__init__ argument
 
38
  is now named "msg" instead of earlier "message".
 
39
  (Parth Malwankar, #603461)
 
40
 
 
41
* The old ``bzr selftest --benchmark`` option has been removed.
 
42
  <https://launchpad.net/bzr-usertest> is an actively-maintained
 
43
  macrobenchmark suite.
 
44
  (Martin Pool)
 
45
 
 
46
Bug Fixes
 
47
*********
 
48
 
 
49
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
 
50
  ``InvalidPattern`` exception error message now shows faulting
 
51
  regular expression.
 
52
  (Parth Malwankar #300062)
 
53
 
 
54
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
 
55
  way which should help avoid problems with concurrent writers.
 
56
  (Vincent Ladeuil, #525571)
 
57
 
 
58
* Don't traceback trying to unversion children files of an already
 
59
  unversioned directory.  (Vincent Ladeuil, #494221)
 
60
 
 
61
* ``HTTP/1.1` test servers now set a ``Content-Length`` header to comply
 
62
  with pedantic ``HTTP/1.1`` clients. (Vincent Ladeuil, #568421)
 
63
 
 
64
* Progress bars prefer to truncate the text message rather than the
 
65
  counters.  The spinner is shown between the network transfer indicator
 
66
  and the progress message.  Progress bars are correctly cleared off when 
 
67
  they finish.  (Martin Pool, #611127)
 
68
 
 
69
* Recursive binding for checkouts is now detected by bzr. A clear error
 
70
  message is shown to the user. (Parth Malwankar, #405192)
 
71
 
 
72
Improvements
 
73
************
 
74
 
 
75
* Add ``bzrlib.merge.MergeIntoMerger``, which can merge part or all of a
 
76
  tree, and works with unrelated branches.  (Andrew Bennetts)
 
77
 
 
78
* Add py2exe windows target ``bzrw.exe``. This allow for starting a Bazaar
 
79
  GUI with out have a console open in the background.
 
80
  (Gary van der Merwe, #433781)
 
81
 
 
82
Documentation
 
83
*************
 
84
 
 
85
* ``bzr help patterns`` now explains case insensitive patterns and
 
86
  points to Python regular expression documentation.
 
87
  (Parth Malwankar, #594386)
 
88
 
 
89
API Changes
 
90
***********
 
91
 
 
92
* Delete ``ProgressTask.note``, which was deprecated in 2.1.
 
93
 
 
94
Testing
 
95
*******
 
96
 
 
97
* Unit test added to ensure that "message" is not uses as a format variable
 
98
  name in BzrError subclasses as this conflicts with some Python versions.
 
99
  (Parth Malwankar, #603461)
 
100
 
 
101
bzr 2.2b4
 
102
#########
 
103
 
 
104
:Codename: Monkey Magic
 
105
:2.2b4: 2004-07-09
 
106
 
 
107
 
 
108
This fourth and final beta in the 2.2 series now stabilizes the internal
 
109
APIs. Plugin authors are recommended to ensure their releases are
 
110
compatible, so that 2.2rc1 can be a true release candidate, containing
 
111
stable and compatible plugin versions. 
 
112
 
 
113
For users of bzrlib as a library, one of the primary changes is to request
 
114
that they call ``bzrlib.initialize`` and use the returned context manager
 
115
appropriately.
 
116
 
 
117
Better interaction with ``bzr-loom`` to make sure branching from a loom
 
118
even over a smart server still yields a local loom. Not to mention lots of
 
119
bugfixes over 2.2b3.
 
120
 
 
121
Compatibility Breaks
 
122
********************
 
123
 
 
124
* bzrlib library users now need to call ``__enter__`` and ``__exit__`` on
 
125
  the result of ``bzrlib.initialize``. This change was made when fixing
 
126
  the bad habit recent bzr versions have had of leaving progress bars 
 
127
  behind on the screen. That required calling another function before
 
128
  exiting the program, and it made sense to provide a full context
 
129
  manager at the same time. (Robert Collins)
 
130
 
 
131
* The ``bzr`` front end now requires a ``bzrlib.ui.ui_factory`` which is a
 
132
  context manager in the Python 2.5 and above sense. The bzrlib base class
 
133
  is such a manager, but third party UI factories which do not derive from
 
134
  ``bzrlib.ui.UIFactory`` will be incompatible with the command line front
 
135
  end.
 
136
 
 
137
* URLs like ``foo:bar/baz`` are now always parsed as a URL with scheme "foo"
 
138
  and path "bar/baz", even if bzr does not recognize "foo" as a known URL
 
139
  scheme.  Previously these URLs would be treated as local paths.
 
140
  (Gordon Tyler)
 
141
 
 
142
 
 
143
New Features
 
144
************
 
145
 
 
146
* Support ``--directory`` option for a number of additional commands:
 
147
  conflicts, merge-directive, missing, resolve, shelve, switch,
 
148
  unshelve, whoami. (Martin von Gagern, #527878)
 
149
 
 
150
Bug Fixes
 
151
*********
 
152
 
 
153
* ``bzr branch`` to a new repository with a default stacking policy no
 
154
  longer transfers the full history unnecessarily.
 
155
  (Andrew Bennetts, #597942)
 
156
 
 
157
* ``bzr init`` does not recursively scan directory contents anymore
 
158
  leading to faster init for directories with existing content.
 
159
  (Martin [gz], Parth Malwankar, #501307)
 
160
 
 
161
* ``bzr log --exclude-common-ancestry`` is now taken into account for
 
162
  linear ancetries. (Vincent Ladeuil, #575631)
 
163
 
 
164
* ``bzr log -r branch:REMOTE`` can now properly log the remote branch,
 
165
  rather than trying to fetch the data locally and failing because of a
 
166
  readonly error. (Martin von Gagern, #149270)
 
167
 
 
168
* ``bzr pull`` now works when a lp: URL is explicitly defined as the parent
 
169
  or pull location in locations.conf or branch.conf.
 
170
  (Gordon Tyler, #534787)
 
171
 
 
172
* ``bzr reconfigure --unstacked`` now works with branches accessed via a
 
173
  smart server. (Andrew Bennetts, #551525)
 
174
 
 
175
* ``BzrDir.find_branches`` should ignore branches with missing repositories.
 
176
  (Marius Kruger, Robert Collins)
 
177
 
 
178
* ``BzrDir.find_bzrdirs`` should ignore dirs that raises PermissionDenied.
 
179
  (Marius Kruger, Robert Collins)
 
180
 
 
181
* Ensure that wrong path specifications in ``BZR_PLUGINS_AT`` display
 
182
  proper error messages. (Vincent Ladeuil, #591215)
 
183
 
 
184
* Explicitly removing ``--profile-imports`` option from parsed command-line
 
185
  arguments on Windows, because bzr script does the same.
 
186
  (Alexander Belchenko, #588277)
 
187
 
 
188
* Fetching was slightly confused about the best code to use and was
 
189
  using a new code path for all branches, resulting in more lookups than
 
190
  necessary on old branches. (Robert Collins, #593515)
 
191
 
 
192
* Final fix for 'no help for command' issue. We now show a clean message
 
193
  when a command has no help, document how to set help more clearly, and
 
194
  test that all commands available to the test suite have help.
 
195
  (Robert Collins, #177500)
 
196
 
 
197
* Invalid patterns supplied to ``Globster`` or ``lazy_regex`` now raise
 
198
  ``InvalidPattern`` exception showing clear error message to the user.
 
199
  (Parth Malwankar #300062)
 
200
 
 
201
* Progress output is cleaned up when exiting.  (Aaron Bentley)
 
202
 
 
203
* Raise ValueError instead of a string exception.
 
204
  (John Arbash Meinel, #586926)
 
205
 
 
206
* Relative imports in plugins are now handled correctly when using
 
207
  BZR_PLUGINS_AT. (Vincent Ladeuil, #588959)
 
208
 
 
209
* ``ScriptRunner`` now strips off leading indentation from test scripts,
 
210
  which previously caused "SyntaxError: No command for line".
 
211
  (Martin Pool)
 
212
 
 
213
* Show unicode filenames in diff headers using terminal encoding. 
 
214
  (Alexander Belchenko, Bug #382699)
 
215
  NOTE for Windows users: If user need to save diff to file then user need to
 
216
  change encoding of the terminal to ANSI encoding with command ``chcp XXX``
 
217
  (e.g. ``chcp 1251`` for Russian Windows).
 
218
 
 
219
* URL displayed for use with ``break-lock`` when smart server sees lock
 
220
  contention are now valid. Default timeout for lock contention retry is
 
221
  now 30 seconds instead of 300 seconds.
 
222
  (Parth Malwankar, #250451)
 
223
 
 
224
* ``walkdirs`` now raises a useful message when the filenames are not using
 
225
  the filesystem encoding. (Eric Moritz, #488519)
 
226
 
 
227
* Enable debugging of bzr on windows with pdb and other tools. This was 
 
228
  broken because we call GetCommandLineW on windows. The fix adjusts the 
 
229
  command line we get to be the same length as sys.argv.
 
230
  (Jason Spashett, Alexander Belchenko, #587868)
 
231
 
 
232
Improvements
 
233
************
 
234
 
 
235
* Bazaar now reads data from SSH connections more efficiently on platforms
 
236
  that provide the ``socketpair`` function, and when using paramiko.
 
237
  (Andrew Bennetts, #590637)
 
238
 
 
239
* ``Branch.copy_content_into`` is now a convenience method dispatching to
 
240
  a ``InterBranch`` multi-method. This permits ``bzr-loom`` and other
 
241
  plugins to intercept this even when a ``RemoteBranch`` proxy is in use.
 
242
  (Robert Collins, #201613)
 
243
 
 
244
* ``Branch`` formats can now be loaded lazily by registering a
 
245
  ``MetaDirBranchFormatFactory`` rather than an actual format. This will
 
246
  cause the named format class to be loaded only when an enumeration of
 
247
  formats is needed or when the format string for the object is
 
248
  encountered. (Robert Collins, Jelmer Vernooij)
 
249
 
 
250
* The encoding that bzr uses to output things other than file content can
 
251
  now be overridden via the output_encoding configuration option.
 
252
  (Martin Pool, #340394)
 
253
 
 
254
* Use lazy imports in ``bzrlib/merge.py`` so that plugins like ``news_merge``
 
255
  do not cause modules to be loaded unnecessarily just because the plugin
 
256
  registers a merge hook.  This improves ``bzr rocks`` time by about 25%
 
257
  in a default installation (with just the core plugins).
 
258
  (Andrew Bennetts)
 
259
 
 
260
Documentation
 
261
*************
 
262
 
 
263
* Added ``regression`` tag to our tags list. (Robert Collins)
 
264
 
 
265
* Improved our release checklist to have a bit less churn and leave things
 
266
  ready-to-go for the next action (including other people doing
 
267
  development). (Robert Collins)
 
268
 
 
269
* Remove obsolete discussion of PQM in documentation about how to
 
270
  contribute to Bazaar.  (Martin Pool, #588444)
 
271
 
 
272
API Changes
 
273
***********
 
274
 
 
275
* ``bzrlib.branch.InterBranch._get_branch_formats_to_test`` now returns
 
276
  an iterable of format pairs, rather than just a single pair, permitting
 
277
  InterBranch objects that work with multiple permutations to be
 
278
  comprehensively tested. (Robert Collins)
 
279
 
 
280
* ``bzrlib.lsprof.profile`` will no longer silently generate bad threaded
 
281
  profiles when concurrent profile requests are made. Instead the profile
 
282
  requests will be serialised. Reentrant requests will now deadlock.
 
283
  (Robert Collins)
 
284
 
 
285
* ``bzrlib.knit.KnitSequenceMatcher``, which has been deprecated since
 
286
  2007, has been deleted.  Use ``PatienceSequenceMatcher`` from
 
287
  ``bzrlib.patiencediff`` instead. (Andrew Bennetts)
 
288
 
 
289
* ``bzrlib.re_compile_checked`` is now deprecated. Caller should handle
 
290
  ``bzrlib.errors.InvalidPattern`` exception thrown by ``re.match`` in
 
291
  case the default error message not suitable for the use case.
 
292
  (Parth Malwankar)
 
293
 
 
294
* ``bzrlib.tests.blackbox.ExternalBase`` is deprecated.  It provided only
 
295
  one method ``check_output``, and we now recommend checking command
 
296
  output using ``run_script``. (Martin Pool)
 
297
 
 
298
* ``bzrlib.transport.ssh.SSHVendor.connect_ssh`` now returns an object
 
299
  that implements the interface of ``bzrlib.transport.ssh.SSHConnection``.
 
300
  Third-party implementations of ``SSHVendor`` may need to be updated
 
301
  accordingly.  Similarly, any code using ``SSHConnection`` directly will
 
302
  need to be updated.  (Andrew Bennetts)
 
303
 
 
304
* The constructor of ``bzrilb.smart.medium.SmartSSHClientMedium`` has
 
305
  changed to take an ``SSHParams`` instance (replacing many individual
 
306
  values).  (Andrew Bennetts)
 
307
 
 
308
Internals
 
309
*********
 
310
 
 
311
* ``bzrlib.osutils.get_terminal_encoding`` will now only mutter its
 
312
  selection when explicitly requested; this avoids many duplicate calls
 
313
  being logged when helpers, wrappers and older code that manually calls
 
314
  it are executed it is now logged deliberately by the ui setup code.
 
315
  (Robert Collins)
 
316
 
 
317
* Improved ``bzrlib.urlutils`` to handle lp:foo/bar URLs. (Gordon Tyler)
 
318
 
 
319
* ``bzrlib._c_static_tuple.StaticTuple`` now implements ``__sizeof__``, so
 
320
  that ``sys.getsizeof`` and other memory analysis tools will report more
 
321
  accurate results. (Andrew Bennetts)
 
322
 
 
323
* The symbol_versioning module can now cleanup after itself -
 
324
  ``suppress_deprecation_warnings`` now returns a cleanup function.
 
325
  (Robert Collins)
 
326
 
 
327
Testing
 
328
*******
 
329
 
 
330
* Add ``bzrlib.tests.fixtures`` to hold code for setting up objects
 
331
  to test.  (Martin Pool)
 
332
 
 
333
* ``test_import_tariff`` now respects BZR_PLUGINS_AT and BZR_PLUGINS_DISABLE.
 
334
  (Vincent Ladeuil, #595587)
 
335
 
 
336
bzr 2.2b3
 
337
#########
 
338
 
 
339
:2.2b3: 2010-05-28
 
340
 
 
341
This third beta in the 2.2 series brings with it all the goodness of 2.1.2
 
342
and 2.0.6 (though it preceeds 2.0.6 slightly). Of particular note for
 
343
users are compatibility fixes with bzr 1.5 and below servers, a hopeful
 
344
end to the EINTR errors caused by SIGWINCH interactions, a shiny new
 
345
bash completion script and bzr will no longer guess at identity details -
 
346
it was too unreliable in reality. Use ``bzr whoami`` on every new install.
 
347
For developers we have some API changes which may impact plugins as well
 
348
as a bunch of our regular improvements to internal clarity and test
 
349
support.
 
350
 
 
351
Compatibility Breaks
 
352
********************
 
353
 
 
354
* An API break has been made to the lock_write method of ``Branch`` and
 
355
  ``Repository`` objects; they now return ``branch.BranchWriteLockResult``
 
356
  and ``repository.RepositoryWriteLockResult`` objects. This makes
 
357
  changing the API in future easier and permits some cleaner calling code.
 
358
  The lock_read method has also changed from having no defined return
 
359
  value to returning ``LogicalLockResult`` objects.
 
360
  (Robert Collins)
 
361
 
 
362
* ``bzr`` does not try to guess the username as ``username@hostname``
 
363
  and requires it to be explictly set. This can be set using ``bzr
 
364
  whoami``. (Parth Malwankar, #549310)
 
365
 
 
366
* ``bzrlib.commands.Command`` will now raise ValueError during
 
367
  construction if there is no __doc__ set. (Note, this will be reverted in
 
368
  2.2b4) (Robert Collins)
 
369
 
 
370
* The source tree no longer contains a contrib/zsh/_bzr completion
 
371
  script. The new file contrib/zsh/README suggests alternatives.
 
372
  (Martin von Gagern, #560030)
 
373
 
 
374
New Features
 
375
************
 
376
 
 
377
* ``bzr commit`` accepts ``-p`` (for "patch") as a shorter name for
 
378
  ``--show-diff``.
 
379
  (Parth Malwankar, #571467)
 
380
  
 
381
* ``bzr ignore`` now supports a ``--default-rules`` option that displays
 
382
  the default ignore rules used by bzr. The flag ``--old-default-rules``
 
383
  is no longer supported by ``ignore``.
 
384
  (Parth Malwankar, #538703)
 
385
 
 
386
* ``bzr pack`` now supports a ``--clean-obsolete-packs`` option that
 
387
  can save disk space by deleting obsolete pack files created during the
 
388
  pack operation.
 
389
  (Parth Malwankar, #304320)
 
390
 
 
391
* New command line option ``--authors`` to ``bzr log`` allows users to
 
392
  select which of the apparent authors and committer should be
 
393
  included in the log. Defaults depend on format. (Martin von Gagern, #513322)
 
394
 
 
395
* Support ``--directory`` option for a number of additional commands:
 
396
  added, annotate, bind, cat, cat-revision, clean-tree, deleted,
 
397
  export, ignore, ignored, lookup-revision, ls, modified, nick,
 
398
  re-sign, unbind, unknowns.
 
399
  (Martin von Gagern, #527878)
 
400
 
 
401
* The bash_completion plugin from the bzr-bash-completion project has
 
402
  been merged into the tree. It provides a bash-completion command and
 
403
  replaces the outdated ``contrib/bash/bzr`` script with a version
 
404
  using the plugin. (Martin von Gagern, #560030)
 
405
 
 
406
* A new transport based on GIO (the gnome i/o library) provides access to
 
407
  samba shares, webdav using gio+smb and gio+dav. It is also possible to
 
408
  use gio for some already existing transport methods as gio+file,
 
409
  gio+sftp, gio+ftp. 
 
410
  (Mattias Eriksson)
 
411
 
 
412
Bug Fixes
 
413
*********
 
414
 
 
415
* Alias information shown by ``bzr help`` is now accurate. This
 
416
  was showing an internal object name for some plugin aliases.
 
417
  (Parth Malwankar, #584650)
 
418
 
 
419
* ``.bazaar``, ``.bazaar/bazaar.conf`` and ``.bzr.log`` inherit user and
 
420
  group ownership from the containing directory. This allow bzr to work
 
421
  better with sudo.
 
422
  (Martin <gzlist@googlemail.com>, Parth Malwankar, #376388)
 
423
 
 
424
* ``bzr clean-tree`` should not delete nested bzrdirs. Required for proper
 
425
  support of bzr-externals and scmproj plugins.
 
426
  (Alexander Belchenko, bug #572098)
 
427
 
 
428
* ``bzr ignore`` will no longer add duplicate patterns to .bzrignore.
 
429
  (Gordon Tyler, #572092)
 
430
 
 
431
* ``bzr log --exclude-common-ancestry -r X..Y`` displays the revisions that
 
432
  are part of Y ancestry but not part of X ancestry (aka the graph
 
433
  difference).
 
434
  (Vincent Ladeuil, #320119)
 
435
 
 
436
* ``bzr lp-propose`` which was switched to use production Launchpad API
 
437
  servers a few commits ago has been reverted to use edge: there is a
 
438
  problem with using production which isn't trivially obvious, so we've
 
439
  filed a bug to track it, and until thats fixed will be using edge.
 
440
  (Robert Collins, #583667)
 
441
 
 
442
* ``bzr rm`` should not refuse to delete directories which contained a file
 
443
  which has been moved elsewhere in the tree after the previous commit.
 
444
  (Marius Kruger, Daniel Watkins, #129880)
 
445
 
 
446
* ``bzr selftest --parallel=fork`` wait for its children avoiding zombies.
 
447
  (Vincent Ladeuil, #566670)
 
448
 
 
449
* ``bzr selftest`` should not use ui.note() since it's not unicode safe.
 
450
  (Vincent Ladeuil, #563997)
 
451
 
 
452
* CommitBuilder refuses to create revisions whose trees have no root.
 
453
  (Aaron Bentley)
 
454
 
 
455
* Do not register a SIGWINCH signal handler, instead just poll for the
 
456
  terminal width as needed.  This avoids the "Interrupted System Call"
 
457
  problems that occur on POSIX with all currently released versions of
 
458
  Python.
 
459
  (Andrew Bennetts, #583941)
 
460
 
 
461
* Don't mention --no-strict when we just issue the warning about unclean trees.
 
462
  (Vincent Ladeuil, #401599)
 
463
 
 
464
* Fixed ``AssertionError`` when accessing smart servers running Bazaar
 
465
  versions before 1.6.
 
466
  (Andrew Bennetts, #528041)
 
467
 
 
468
* Improved progress bar for fetch (2a format only). Bazaar now shows an
 
469
  estimate of the number of records to be fetched vs actually fetched.
 
470
  (Parth Malwankar, #374740, #538868)
 
471
 
 
472
* Reduce peak memory by one copy of compressed text.
 
473
  (John Arbash Meinel, #566940)
 
474
 
 
475
* ``RemoteBranch.lock_write`` raises ``ReadOnlyError`` if called during a
 
476
  read lock, rather than causing an ``AttributeError``.
 
477
  (Andrew Bennetts, Данило Шеган, #582781)
 
478
 
 
479
* Selftest was failing with testtools 0.9.3, which caused an
 
480
  AssertionError raised from a cleanUp to be reported as a Failure, not an
 
481
  Error, breaking on of our test hygiene tests.
 
482
  (Robert Collins, Vincent Ladeuil).
 
483
 
 
484
* ``set_user_option`` with a dict on remote branches no longer fails with
 
485
  an AttributeError.  There is a new ``Branch.set_config_option_dict`` RPC
 
486
  to support this efficiently.
 
487
  (Andrew Bennetts, #430382)
 
488
  
 
489
* Show the filenames when a file rename fails so that the error will be
 
490
  more comprehensible.
 
491
  (Martin Pool, #491763)
 
492
 
 
493
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
 
494
  (John Arbash Meinel, #582656)
 
495
 
 
496
* Unicode characters in aliases are now handled correctly and do not cause
 
497
  UnicodeEncodeError exception. (Parth Malwankar, #529930)
 
498
 
 
499
* Unicode commit messages that are the same as a file name no longer cause
 
500
  UnicodeEncodeError. ``ui.text.show_warning`` now handles unicode
 
501
  messages.
 
502
  (Parth Malwankar, #563646)
 
503
 
 
504
* Using bzr with `lp:` urls behind an http proxy should work.
 
505
  (Robert Collins, #558343)
 
506
 
 
507
* When passing a file to ``UTF8DirReader`` make sure to close the current
 
508
  directory file handle after the chdir fails. Otherwise when passing many
 
509
  filenames into a command line ``bzr status`` we would leak descriptors.
 
510
  (John Arbash Meinel, #583486)
 
511
 
 
512
Improvements
 
513
************
 
514
 
 
515
* ``append_revisions_only`` will now be interpreted as a boolean and a
 
516
  warning emitted if illegal values are used. Note that for projects
 
517
  that needs to maintain compatibility with previsous bzr versions,
 
518
  only 'True' and 'False' strings must be used (previous versions of
 
519
  bzr will interpret all strings differing from 'True'
 
520
  (case-sensitive) as false.
 
521
  (Brian de Alwis, Vincent Ladeuil)
 
522
 
 
523
* ``bzr ls`` now supports short options for existing long options.
 
524
  ``-k/--kind``, ``-i/--ignored``, ``-u/--unknown`` and ``-0/--null``.
 
525
  (Parth Malwankar, #181124)
 
526
 
 
527
* ``Config.get_user_option_as_bool`` will now warn if a value cannot
 
528
  be interpreted as a boolean.
 
529
  (Vincent Ladeuil)
 
530
 
 
531
* The all-in-one Windows installer will now be built with docstrings stripped
 
532
  from the library zip, reducing the size and slightly improving cold startup
 
533
  time. Bundled plugins are unchanged for the moment, but if adding other new
 
534
  plugins to an all-in-one installation, ensure they are compiled and
 
535
  installed with -O1 or help may not work. (Martin [gz])
 
536
 
 
537
API Changes
 
538
***********
 
539
 
 
540
* Added ``bzrlib.merge.PerFileMerger``, a more convenient way to write
 
541
  some kinds of ``merge_file_content`` hook functions.
 
542
  (Andrew Bennetts)
 
543
  
 
544
* `BzrDir`, `Branch`, `Repository` and `WorkingTree` now all support `user_url`,
 
545
  `user_transport`, `control_url` and `control_transport` members pointing
 
546
  respectively to the directory containing the ``.bzr`` control directory, 
 
547
  and to the directory within ``.bzr`` used for the particular component.
 
548
  All of them inherit from `ControlComponent` which provides default
 
549
  implementations.
 
550
  (Martin Pool)
 
551
 
 
552
* Lock methods on ``Tree``, ``Branch`` and ``Repository`` are now
 
553
  expected to return an object which can be used to unlock them. This reduces
 
554
  duplicate code when using cleanups. The previous 'tokens's returned by
 
555
  ``Branch.lock_write`` and ``Repository.lock_write`` are now attributes
 
556
  on the result of the lock_write. ``repository.RepositoryWriteLockResult``
 
557
  and ``branch.BranchWriteLockResult`` document this. (Robert Collins)
 
558
 
 
559
* ``Repository.refresh_data`` may now be called in a write group on
 
560
  pack-based repositories.  Older repositories will still raise an error
 
561
  in this case.  Subclasses of ``Repository`` can still override
 
562
  ``Repository._refresh_data``, but are now responsible for raising
 
563
  ``bzrlib.repository.IsInWriteGroupError`` if they do not support
 
564
  ``refresh_data`` during a write group.
 
565
  (Andrew Bennetts, #574236)
 
566
 
 
567
Internals
 
568
*********
 
569
 
 
570
* ``chk_map._bytes_to_text_key`` is now an optimized function to extract
 
571
  the (file-id, revision-id) key from a CHKInventory entry. This can
 
572
  potentially shave 5-10% time off during a large fetch. Related to bug
 
573
  #562666. (John Arbash Meinel)
 
574
 
 
575
* ``log._get_info_for_log_files`` now takes an add_cleanup callable.
 
576
  (Robert Collins)
 
577
 
 
578
* ``_remember_remote_is_before`` no longer raises AssertionError when
 
579
  suboptimal network behaviour is noticed; instead it just mutters to the
 
580
  log file (and warns the user if they have set the ``hpss`` debug flag).
 
581
  This was causing unnecessary aborts for performance bugs that are minor
 
582
  at worst.
 
583
  (Andrew Bennetts, #528041)
 
584
 
 
585
* Permit bzr to run under ``python -OO`` which reduces the size of bytecode
 
586
  files loaded from disk. To ensure docstrings needed for help are never
 
587
  stripped, the prefix ``__doc__ =`` should now be used.
 
588
  (Martin <gzlist@googlemail.com>)
 
589
 
 
590
* No longer require zlib headers to build extensions, and remove the need
 
591
  for seperate copy of zlib library on windows.
 
592
  (John Arbash Meinel, Martin <gzlist@googlemail.com>, #566923)
 
593
 
 
594
Testing
 
595
*******
 
596
 
 
597
* Added ``bzrlib.tests.matchers`` as a place to put matchers, along with
 
598
  our first in-tree matcher. See the module docstring for details.
 
599
  (Robert Collins)
 
600
 
 
601
* ``bzr selftest --parallel=subprocess`` now works correctly on win32.
 
602
   (Gordon Tyler, #551332)
 
603
 
 
604
* Workaround ``Crypto.Random`` check leading to spurious test
 
605
  failures on Lucid, FreeBSD and gentoo.  
 
606
  (Vincent Ladeuil, #528436)
 
607
 
 
608
* New class ``ExecutableFeature`` for checking the availability of
 
609
  executables on the ``PATH``. Migrated from bash_completion plugin.
 
610
  (Martin von Gagern)
 
611
 
 
612
bzr 2.2b2
 
613
#########
 
614
 
 
615
:2.2b2: 2010-04-16
 
616
 
 
617
This is a somewhat early second beta of the 2.2 series, to fix a python2.4
 
618
incompatibility in the 2.2b1 release.  It also includes a swag of
 
619
performance, usability and correctness improvements: test feedback on all
 
620
of these would be welcome.
 
621
 
 
622
 
 
623
New Features
 
624
************
 
625
 
 
626
* ``bzr diff`` now supports a --format option, which can be used to 
 
627
  select alternative diff formats. (Jelmer Vernooij, #555994)
 
628
 
 
629
Bug Fixes
 
630
*********
 
631
 
 
632
* ``bzr dpush``, ``bzr push`` and ``bzr send`` will now issue a warning
 
633
  instead of failing when dirty trees are involved. The corresponding
 
634
  ``dpush_strict``, ``push_strict`` and ``send_strict`` should be set to
 
635
  True explicitly to get the previous behaviour.  
 
636
  (Vincent Ladeuil, #519319)
 
637
 
 
638
* ``bzr export`` to tar file does not fail if any parent directory
 
639
  contains unicode characters. This works around upstream Python bug
 
640
  http://bugs.python.org/issue8396 .
 
641
  (Parth Malwankar, #413406)
 
642
 
 
643
* ``bzr switch`` does not die if a ConfigurableFileMerger is used.
 
644
  (Aaron Bentley, #559436)
 
645
 
 
646
* ``bzr update`` when a pending merge in the working tree has been merged
 
647
  into the master branch will no longer claim that old commits have become
 
648
  pending merges. (Robert Collins, #562079)
 
649
 
 
650
* ``bzrlib.mutabletree.MutableTree.commit`` will now support a passed in
 
651
  config as in previous versions of bzrlib. (Robert Collins)
 
652
 
 
653
* Fix glitch in the warning about unclean trees display.
 
654
  (Vincent Ladeuil, #562665)
 
655
 
 
656
* Fixed Python2.4 incompatibilities in the bzr2.2b1 source tarball.
 
657
  (Martin Pool)
 
658
 
 
659
* Help messages generated by ``RegistryOption.from_kwargs`` list the
 
660
  switches in alphabetical order, rather than in an undefined order.
 
661
  (Martin von Gagern, #559409)
 
662
 
 
663
* Make sure the ``ExecutablePath`` and ``InterpreterPath`` are set in
 
664
  Apport crash reports, to avoid "This problem report applies to a program
 
665
  which is not installed any more" error.
 
666
  (Martin Pool, James Westby, #528114)
 
667
 
 
668
* Reset ``siginterrupt`` flag to False every time we handle a signal
 
669
  installed with ``set_signal_handler(..., restart_syscall=True)`` (from
 
670
  ``bzrlib.osutils``.  Reduces the likelihood of "Interrupted System Call"
 
671
  errors compared to registering ``signal.signal`` directly.
 
672
  (Andrew Bennetts)
 
673
 
 
674
* When invoked with a range revision, ``bzr log`` doesn't show revisions
 
675
  that are not part of the Y revisions ancestry anymore when invoked with
 
676
  -rX..Y.
 
677
  (Vincent Ladeuil, #474807)
 
678
 
 
679
* Properly handle ``param_name`` attribute for ``ListOption``.
 
680
  (Martin von Gagern, #387117)
 
681
 
 
682
Improvements
 
683
************
 
684
 
 
685
* ``bzr commit`` will prompt before using a commit message that was
 
686
  generated by a template and not edited by the user.
 
687
  (Robert Collins, #530265)
 
688
 
 
689
* ``bzr diff`` read-locks the trees and branches only once, saving about
 
690
  10-20ms on ``bzr diff`` in a bzr.dev tree.
 
691
  (Andrew Bennetts)
 
692
 
 
693
* ``bzr missing`` read-locks the branches only once.
 
694
  (Andrew Bennetts)
 
695
  
 
696
* ``bzr pull`` locks the branches and tree only once.
 
697
  (Andrew Bennetts)
 
698
  
 
699
* Index lookups in pack repositories search recently hit pack files first.  
 
700
  In repositories with many pack files this can greatly reduce the
 
701
  number of files accessed, the number of bytes read, and the number of
 
702
  read calls.  An incremental pull via plain HTTP takes half the time and
 
703
  bytes for a moderately large repository.  (Andrew Bennetts)
 
704
 
 
705
* Index lookups only re-order the indexes when the hit files aren't
 
706
  already first. Reduces the cost of reordering
 
707
  (John Arbash Meinel, #562429)
 
708
 
 
709
* Less code is loaded at startup.  (Cold-cache start time is about 10-20%
 
710
  less.)
 
711
  (Martin Pool, #553017)
 
712
 
 
713
API Changes
 
714
***********
 
715
 
 
716
* ``bzrlib.diff.get_trees_and_branches_to_diff`` is deprecated.  Use
 
717
  ``get_trees_and_branches_to_diff_locked`` instead.
 
718
  (Andrew Bennetts)
 
719
 
 
720
* ``TreeTransform.commit`` supports the full set of commit parameters, and
 
721
  auto-determines branch nick if not supplied.  (Aaron Bentley)
 
722
  
 
723
Internals
 
724
*********
 
725
 
 
726
* ``bzrlib.commands.Command.run_direct`` is no longer needed - the pre
 
727
  2.1 method of calling run() to perform testing or direct use via the API
 
728
  is now possible again. As part of this, the _operation attribute on
 
729
  Command is now transient and only exists for the duration of ``run()``.
 
730
  (Robert Collins)
 
731
 
 
732
bzr 2.2b1
 
733
#########
 
734
 
 
735
:2.2b1: 2010-04-01
 
736
 
 
737
This is the first beta of the 2.2 series, leading up to a 2.2.0
 
738
release in July or August.  Beta releases are suitable for everyday use
 
739
but may cause some incompatibilities with plugins.  Some plugins may need
 
740
small updates to work with 2.2b1.
 
741
 
 
742
2.2b1 includes some changes to make merge conflicts easier to understand
 
743
and resolve.  It also removes some old unnecessary code, and loads
 
744
somewhat less code at startup.  It starts adding a common infrastructure
 
745
for dealing with colocated named branches, which can be implemented in
 
746
various ways in either bzr native or foreign formats.   On Ubuntu and
 
747
other platforms with the apport bug-reporting library, there's an easier
 
748
path to report problems with bzr.  We plan to continue with these themes
 
749
through the 2.2 series.
 
750
 
 
751
Over thirty bugs have been fixed, including in the log command, exporting
 
752
to tarballs, restarting interrupted system calls, portability of compiled
 
753
extensions, making backups during upgrade, and locking on ftp.
 
754
 
 
755
Compatibility Breaks
 
756
********************
 
757
 
 
758
* BTreeGraphIndex can now take an offset to indicate that the data starts
 
759
  somewhere other than then beginning of the file. (John Arbash Meinel)
 
760
 
 
761
* Deleted very old hidden commands ``versionedfile-list``,
 
762
  ``weave-plan-merge``, ``weave-merge-text``.
 
763
  (Martin Pool)
 
764
 
 
765
* ``Repository.get_inventory_sha1()`` and ``Repository.get_revision_xml()`` 
 
766
  have been removed. (Jelmer Vernooij)
 
767
 
 
768
* ``Repository.get_revision_inventory()`` has been removed in favor of
 
769
  ``Repository.get_inventory()``. (Jelmer Vernooij)
 
770
 
 
771
* All test servers have been moved out of the bzrlib.transport hierarchy to
 
772
  bzrlib.tests.test_server *except* for MemoryServer, ChrootServer and
 
773
  PathFilteringServer. ``bzrlib`` users may encounter test failures that can
 
774
  be fixed by updating the related imports from ``bzrlib.transport.xxx`` to
 
775
  ``bzrlib.tests.test_server``.
 
776
  (Vincent Ladeuil)
 
777
 
 
778
* ``BranchReferenceFormat.initialize()`` now takes an optional name argument
 
779
  as its second parameter, for consistency with the initialize() method of
 
780
  other formats. (Jelmer Vernooij)
 
781
 
 
782
New Features
 
783
************
 
784
 
 
785
* Added ``bzr remove-branch`` command that can remove a local or remote 
 
786
  branch. (Jelmer Vernooij, #276295)
 
787
 
 
788
* ``bzr export`` now takes an optional argument ``--per-file-timestamps``
 
789
  to set file mtimes to the last timestamp of the last revision in which
 
790
  they were changed rather than the current time. (Jelmer Vernooij)
 
791
 
 
792
* If the Apport crash-reporting tool is available, bzr crashes are now
 
793
  stored into the ``/var/crash`` apport spool directory, and the user is
 
794
  invited to report them to the developers from there, either
 
795
  automatically or by running ``apport-bug``.  No information is sent
 
796
  without specific permission from the user.  (Martin Pool, #515052)
 
797
 
 
798
* Parsing of command lines, for example in ``diff --using``, no longer
 
799
  treats backslash as an escape character on Windows.   (Gordon Tyler,
 
800
  #392248)
 
801
 
 
802
* Plugins can be disabled by defining ``BZR_DISABLE_PLUGINS`` as
 
803
  a list of plugin names separated by ':' (';' on windows).
 
804
  (Vincent Ladeuil, #411413)
 
805
 
 
806
* Plugins can be loaded from arbitrary locations by defining
 
807
  ``BZR_PLUGINS_AT`` as a list of name@path separated by ':' (';' on
 
808
  windows). This takes precedence over ``BZR_PLUGIN_PATH`` for the
 
809
  specified plugins. This is targeted at plugin developers for punctual
 
810
  needs and *not* intended to replace ``BZR_PLUGIN_PATH``.  
 
811
  (Vincent Ladeuil, #82693)
 
812
 
 
813
* Tag names can now be determined automatically by ``automatic_tag_name`` 
 
814
  hooks on ``Branch`` if they are not specified on the command line.
 
815
  (Jelmer Vernooij)
 
816
 
 
817
* Tree-shape conflicts can be resolved by providing ``--take-this`` and
 
818
  ``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
 
819
  as resolved is still accessible via the ``--done`` default action.
 
820
  (Vincent Ladeuil)
 
821
 
 
822
* Merges can be proposed on Launchpad with the new lp-propose-merge command.
 
823
  (Aaron Bentley, Jonathan Lange)
 
824
 
 
825
Bug Fixes
 
826
*********
 
827
 
 
828
* Added docstring for ``Tree.iter_changes``
 
829
  (John Arbash Meinel, #304182)
 
830
 
 
831
* Allow additional arguments to
 
832
  ``RemoteRepository.add_inventory_by_delta()``. (Jelmer Vernooij, #532631)
 
833
 
 
834
* Allow exporting a single file using ``bzr export``.
 
835
  (Michal Junák, #511987)
 
836
 
 
837
* Allow syscalls to automatically restart when ``TextUIFactory``'s
 
838
  SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
 
839
  IO, which are often poorly handled by Python's libraries and parts of
 
840
  bzrlib.  (Andrew Bennetts, #496813)
 
841
 
 
842
* Avoid infinite recursion when probing for apport.
 
843
  (Vincent Ladeuil, #516934)
 
844
 
 
845
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
 
846
  (Martin Pool, #331095)
 
847
 
 
848
* Avoid truncating svn URLs.
 
849
  (Martin Pool, Martin von Gagern, #545185)
 
850
 
 
851
* ``bzr add`` will not add conflict related files unless explicitly required.
 
852
  (Vincent Ladeuil, #322767, #414589)
 
853
 
 
854
* ``bzr dump-btree`` now works on ``*.cix`` and ``*.six`` files.  Those
 
855
  indices do not have reference lists, so ``dump-btree`` will simply show
 
856
  ``None`` instead.  (Andrew Bennetts, #488607)
 
857
 
 
858
* ``bzr help`` will no longer trigger the get_missing_command hook when
 
859
  doing a topic lookup. This avoids prompting (like 'no command plugins/loom,
 
860
  did you mean log?') when getting help. In future we may trigger the hook 
 
861
  deliberately when no help topics match from any help index.
 
862
  (Robert Collins, #396261)
 
863
 
 
864
* ``bzr log -n0 -r..A.B.C`` should not crash but just consider the None
 
865
  revspec as representing the first revision of the branch.
 
866
  (Vincent Ladeuil, #519862)
 
867
 
 
868
* ``bzr remove-tree`` can now remove multiple working trees.
 
869
  (Jared Hance, Andrew Bennetts, #253137)
 
870
 
 
871
* ``bzr resolve --take-this`` and ``--take-other`` now correctly renames
 
872
  the kept file on content conflicts where one side deleted the file.
 
873
  (Vincent Ladeuil, #529968)
 
874
 
 
875
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
 
876
  permissions as ``.bzr`` directory on a POSIX OS.
 
877
  (Parth Malwankar, #262450)
 
878
 
 
879
* ``bzr upgrade`` now names backup directory as ``backup.bzr.~N~`` instead
 
880
  of ``backup.bzr``. This directory is ignored by bzr commands such as
 
881
  ``add``.
 
882
  (Parth Malwankar, #335033, #300001)
 
883
 
 
884
* Cope with non-utf8 characters inside ``.bzrignore``.
 
885
  (Jason Spashett, #183504)
 
886
 
 
887
* Correctly interpret "451 Rename/move failure: Directory not empty" from
 
888
  ftp servers while trying to take a lock.
 
889
  (Martin Pool, #528722)
 
890
 
 
891
* DirStateRevisionTree.kind() was returning wrong result when 'kind'
 
892
  changes occured between the workingtree and one of its parents.
 
893
  (Vincent Ladeuil, #535547)
 
894
 
 
895
* Fix ``log`` to better check ancestors even if merged revisions are involved.
 
896
  (Vincent Ladeuil, #476293)
 
897
 
 
898
* Loading a plugin from a given path with ``BZR_PLUGINS_AT`` doesn't depend
 
899
  on os.lisdir() order and is now reliable.
 
900
  (Vincent Ladeuil, #552922).
 
901
 
 
902
* Many IO operations that returned ``EINTR`` were retried even if it
 
903
  wasn't safe to do so via careless use of ``until_no_eintr``.  Bazaar now
 
904
  only retries operations that are safe to retry, and in some cases has
 
905
  switched to operations that can be retried (e.g. ``sock.send`` rather than
 
906
  ``sock.sendall``).
 
907
  (Andrew Bennetts, Martin <gzlist@googlemail.com>, #496813)
 
908
 
 
909
* Path conflicts now support --take-this and --take-other even when a
 
910
  deletion is involved.
 
911
  (Vincent Ladeuil, #531967)
 
912
 
 
913
* Network transfer amounts and rates are now displayed in SI units according
 
914
  to the Ubuntu Units Policy <https://wiki.ubuntu.com/UnitsPolicy>.
 
915
  (Gordon Tyler, #514399)
 
916
 
 
917
* Support kind markers for socket and fifo filesystem objects. This
 
918
  prevents ``bzr status --short`` from crashing when those files are
 
919
  present.  (John Arbash Meinel, #303275)
 
920
 
 
921
* ``bzr mkdir DIR`` will not create DIR unless DIR's parent is a versioned
 
922
   directory. (Parth Malwankar, #138600)
 
923
 
 
924
* SSH child processes will now ignore SIGQUIT on nix systems so breaking into
 
925
  the debugger won't kill the session.
 
926
  (Martin <gzlist@googlemail.com>, #162502)
 
927
 
 
928
* Tolerate patches with leading noise in ``bzr-handle-patch``.
 
929
  (Toshio Kuratomi, Martin Pool, #502076)
 
930
 
 
931
* ``update -r`` now supports updating to revisions that are not on
 
932
  mainline (i.e. it supports dotted revisions).
 
933
  (Parth Malwankar, #517800)
 
934
 
 
935
* Use first apparent author not committer in GNU Changelog format.
 
936
  (Martin von Gagern, #513322)
 
937
 
 
938
API Changes
 
939
***********
 
940
 
 
941
* ``bzrlib.merge_directive._BaseMergeDirective`` has been renamed to 
 
942
  ``bzrlib.merge_directive.BaseMergeDirective`` and is now public.
 
943
  (Jelmer Vernooij)
 
944
 
 
945
* ``BranchFormat.initialize`` now takes an optional ``name`` of the colocated 
 
946
  branch to create. (Jelmer Vernooij)
 
947
 
 
948
* ``BzrDir.get_branch_transport`` now takes an optional ``name`` of the 
 
949
  colocated branch to open. (Jelmer Vernooij)
 
950
 
 
951
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
 
952
  can set a signal handler and call ``signal.siginterrupt(signum,
 
953
  False)`` for it, if the platform and Python version supports it.
 
954
  (Andrew Bennetts, #496813)
 
955
 
 
956
* New ``bzrlib.initialize`` is recommended for programs using bzrlib to 
 
957
  run when starting up; it sets up several things that previously needed
 
958
  to be done separately.
 
959
  (Martin Pool, #507710)
 
960
 
 
961
* Exporters now support a ``per_file_timestamps`` argument to write out the 
 
962
  timestamp of the commit in which a file revision was introduced.
 
963
  (Jelmer Vernooij)
 
964
 
 
965
* New method ``BzrDir.list_branches()`` that returns a sequence of branches 
 
966
  present in a control directory. (Jelmer Vernooij)
 
967
 
 
968
* New method ``Repository.get_known_graph_ancestry()``. 
 
969
  (Jelmer Vernooij, #495502)
 
970
 
 
971
* New transport methods ``readlink``, ``symlink`` and ``hardlink``.
 
972
  (Neil Santos)
 
973
 
 
974
* Remove unused ``CommandFailed`` exception.
 
975
  (Martin Pool)
 
976
 
 
977
Internals
 
978
*********
 
979
 
 
980
* ``bzrlib.branchbuilder.BranchBuilder.build_snapshot`` now accepts a
 
981
  ``message_callback`` in the same way that commit does. (Robert Collins)
 
982
 
 
983
* ``bzrlib.builtins.Commit.run`` raises ``bzrlib.errors.BoundBranchOutOfDate``
 
984
  rather than ``bzrlib.errors.BzrCommandError`` when the bound branch is out
 
985
  of date. (Gary van der Merwe)
 
986
 
 
987
* ``bzrlib.commands.run_bzr`` is more extensible: callers can supply the
 
988
  functions to load or disable plugins if they wish to use a different
 
989
  plugin mechanism; the --help, --version and no-command name code paths
 
990
  now use the generic pluggable command lookup infrastructure.
 
991
  (Robert Collins)
 
992
 
 
993
* ``bzrlib.errors.BoundBranchOutOfDate`` has a new field ``extra_help``
 
994
  which can be set to add extra help to the error. (Gary van der Merwe)
 
995
 
 
996
* New method ``Branch.automatic_tag_name`` that can be used to find the
 
997
  tag name for a particular revision automatically. (Jelmer Vernooij)
 
998
 
 
999
* The methods ``BzrDir.create_branch()``, ``BzrDir.destroy_branch()`` and 
 
1000
  ``BzrDir.open_branch()`` now take an optional ``name`` argument. 
 
1001
  (Jelmer Vernooij)
 
1002
 
 
1003
Testing
 
1004
*******
 
1005
 
 
1006
* bzr now has a ``.testr.conf`` file in its source tree configured
 
1007
  appropriately for running tests with Testrepository
 
1008
  (``https://launchpad.net/testrepository``). (Robert Collins)
 
1009
 
 
1010
* Documentation about testing with ``subunit`` has been tweaked.
 
1011
  (Robert Collins)
 
1012
 
 
1013
* Known failures has been added for resolve --take-other on ParentLoop
 
1014
  conflicts. This reflects bug #537956 without fixing it.
 
1015
  (Vincent Ladeuil)
 
1016
 
 
1017
* New ``bzrlib.tests.test_import_tariff`` can make assertions about what
 
1018
  Python modules are loaded, to guard against startup time or library
 
1019
  dependency regressions.
 
1020
  (Martin Pool)
 
1021
 
 
1022
* PQM will now run with subunit output. To analyze a PQM error use
 
1023
  tribunal, or cat log | subunit-filter | subunit2pyunit. (Robert Collins)
 
1024
 
 
1025
* Stop sending apport crash files to ``.cache`` in the directory from
 
1026
  which ``bzr selftest`` was run.  (Martin Pool, #422350)
 
1027
 
 
1028
* Tests no longer fail if "close() called during concurrent
 
1029
  operation on the same file object" occurs when closing the log file
 
1030
  (which can happen if a thread tries to write to the log file at the
 
1031
  wrong moment).  An warning will be written to ``stderr`` when this
 
1032
  happens, and another warning will be written if the log file could not
 
1033
  be closed after retrying 100 times.  (Andrew Bennetts, #531746)
 
1034
 
 
1035
bzr 2.1.3
 
1036
#########
 
1037
 
 
1038
:Codename: Do run run
 
1039
:2.1.3: NOT RELEASED YET
 
1040
 
 
1041
Compatibility Breaks
 
1042
********************
 
1043
 
 
1044
New Features
 
1045
************
 
1046
 
 
1047
Bug Fixes
 
1048
*********
 
1049
 
 
1050
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
 
1051
  way which should help avoid problems with concurrent writers.
 
1052
  (Vincent Ladeuil, #525571)
 
1053
 
 
1054
* Don't traceback trying to unversion children files of an already
 
1055
  unversioned directory.  (Vincent Ladeuil, #494221)
 
1056
 
 
1057
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
1058
  which can result in "missing referenced chk root keys" errors when
 
1059
  fetching from repositories with affected revisions.
 
1060
  (Andrew Bennetts, #522637)
 
1061
 
 
1062
* Raise ValueError instead of a string exception.
 
1063
  (John Arbash Meinel, #586926)
 
1064
 
 
1065
Improvements
 
1066
************
 
1067
 
 
1068
Documentation
 
1069
*************
 
1070
 
 
1071
API Changes
 
1072
***********
 
1073
 
 
1074
Internals
 
1075
*********
 
1076
 
 
1077
Testing
 
1078
*******
 
1079
 
8
1080
bzr 2.1.2
9
1081
#########
10
1082
 
43
1115
* Reduce peak memory by one copy of compressed text.
44
1116
  (John Arbash Meinel, #566940)
45
1117
 
46
 
* Support Pyrex 0.9.9, required changing how we handle exceptionsin Pyrex.
 
1118
* Support Pyrex 0.9.9, required changing how we handle exceptions in Pyrex.
47
1119
  (John Arbash Meinel, #582656)
48
1120
 
49
1121
* When passing a file to ``UTF8DirReader`` make sure to close the current
84
1156
* Fix plugin packaging on Windows. (Ian Clatworthy, #524162)
85
1157
 
86
1158
* Fix stub sftp test server to call os.getcwdu().
87
 
  (Vincent Ladeuil, #526211, #526353)
 
1159
  (Vincent Ladeuil, #526221, #526353)
88
1160
 
89
1161
* Fixed CHM generation by moving the NEWS section template into
90
1162
  a separate file. (Ian Clatworthy, #524184)
155
1227
* Fix "AttributeError in Inter1and2Helper" during fetch.
156
1228
  (Martin Pool, #513432)
157
1229
 
 
1230
* ``bzr update`` performs the two merges in a more logical order and will stop
 
1231
  when it encounters conflicts.  
 
1232
  (Gerard Krol, #113809)
 
1233
 
 
1234
* Give a better error message when doing ``bzr bind`` in an already bound
 
1235
  branch.  (Neil Martinsen-Burrell, #513063)
 
1236
 
158
1237
* Ignore ``KeyError`` from ``remove_index`` during ``_abort_write_group``
159
1238
  in a pack repository, which can happen harmlessly if the abort occurs during
160
1239
  finishing the write group.  Also use ``bzrlib.cleanup`` so that any
161
1240
  other errors that occur while aborting the individual packs won't be
162
1241
  hidden by secondary failures when removing the corresponding indices.
163
1242
  (Andrew Bennetts, #423015)
164
 
  
 
1243
 
 
1244
* Set the mtime of files exported to a directory by ``bzr export`` all to
 
1245
  the same value to avoid confusing ``make`` and other date-based build
 
1246
  systems. (Robert Collins, #515631)
 
1247
 
 
1248
Improvements
 
1249
************
 
1250
 
 
1251
* Fetching into experimental formats will now print a warning. (Jelmer
 
1252
  Vernooij)
 
1253
 
 
1254
API Changes
 
1255
***********
 
1256
 
 
1257
* ``Repository.deserialise_inventory`` has been renamed to 
 
1258
  ``Repository._deserialise_inventory`` to indicate it is private.
 
1259
  (Jelmer Vernooij)
 
1260
 
 
1261
* ``Repository.get_inventory_xml`` has been renamed to 
 
1262
  ``Repository._get_inventory_xml`` to indicate it is private. 
 
1263
  (Jelmer Vernooij)
 
1264
 
 
1265
* ``Repository.serialise_inventory`` has been renamed to 
 
1266
  ``Repository._serialise_inventory`` to indicate it is private.
 
1267
 
165
1268
* Using the ``bzrlib.chk_map`` module from within multiple threads at the
166
1269
  same time was broken due to race conditions with a module level page
167
1270
  cache. This shows up as a KeyError in the ``bzrlib.lru_cache`` code with
174
1277
* The new ``merge_file_content`` should now be ok with tests to avoid
175
1278
  regressions.
176
1279
  (Vincent Ladeuil, #515597)
177
 
  
 
1280
 
178
1281
Internals
179
1282
*********
180
1283
 
461
1564
  history no longer crash when deleted files are involved.
462
1565
  (Vincent Ladeuil, John Arbash Meinel, #375898)
463
1566
 
 
1567
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
 
1568
  target of the symlink.
 
1569
  (Martin Pool, John Arbash Meinel, #128562)
 
1570
 
464
1571
* ``bzr revert`` now only takes write lock on working tree, instead of on 
465
1572
  both working tree and branch.
466
1573
  (Danny van Heumen, #498409)
469
1576
  permissions as ``.bzr`` directory on a POSIX OS.
470
1577
  (Parth Malwankar, #262450)
471
1578
 
 
1579
* Don't traceback trying to unversion children files of an already
 
1580
  unversioned directory.  (Vincent Ladeuil, #494221)
 
1581
 
 
1582
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
 
1583
  which can result in "missing referenced chk root keys" errors when
 
1584
  fetching from repositories with affected revisions.
 
1585
  (Andrew Bennetts, #522637)
 
1586
 
 
1587
* Raise ValueError instead of a string exception.
 
1588
  (John Arbash Meinel, #586926)
 
1589
 
472
1590
* Reduce peak memory by one copy of compressed text.
473
1591
  (John Arbash Meinel, #566940)
474
1592
 
489
1607
  (John Arbash Meinel, #583486)
490
1608
 
491
1609
 
 
1610
Testing
 
1611
*******
 
1612
 
 
1613
* ``build_tree_contents`` can create symlinks.
 
1614
  (Martin Pool, John Arbash Meinel)
 
1615
 
 
1616
 
492
1617
bzr 2.0.5
493
1618
#########
494
1619
 
690
1815
  and issues a warning.
691
1816
  (Gioele Barabucci, #73073)
692
1817
 
693
 
* ``bzr ignore /`` no longer causes an IndexError. (Gorder Tyler, #456036)
 
1818
* ``bzr ignore /`` no longer causes an IndexError. (Gorden Tyler, #456036)
694
1819
 
695
1820
* ``bzr log -n0 -rN`` should not return revisions beyond its merged revisions.
696
1821
  (#325618, #484109, Marius Kruger)
872
1997
 
873
1998
* Fix for shell completion and short options.  (Benoît PIERRE)
874
1999
 
 
2000
* Fix ``bzr --profile-imports`` with Python 2.6.  (Martin Pool)
 
2001
 
875
2002
* Hooks daughter classes should always call the base constructor.
876
2003
  (Alexander Belchenko, Vincent Ladeuil, #389648) 
877
2004
 
3186
4313
  can have a large effect on ``bzr checkout`` times. (John Arbash Meinel)
3187
4314
 
3188
4315
* selftest now supports a --parallel option, with values of 'fork' or
3189
 
  'subprocess' to run the test suite in parallel. Currently only linux
3190
 
  machine work, other platforms need patches submitted. (Robert Collins,
 
4316
  'subprocess' to run the test suite in parallel. Currently only Linux
 
4317
  machines work, other platforms need patches submitted. (Robert Collins,
3191
4318
  Vincent Ladeuil)
3192
4319
 
3193
4320
* ``tests.run_suite`` has a new parameter ``suite_decorators``, a list of 
5941
7068
 
5942
7069
* bzr main script cannot be imported (Benjamin Peterson)
5943
7070
 
5944
 
* On Linux bzr additionally looks for plugins in arch-independent site
 
7071
* On GNU/Linux bzr additionally looks for plugins in arch-independent site
5945
7072
  directory. (Toshio Kuratomi)
5946
7073
 
5947
7074
* The ``set_rh`` branch hook is now deprecated. Please migrate
6284
7411
 
6285
7412
* BZR_LOG environment variable controls location of .bzr.log trace file.
6286
7413
  User can suppress writing messages to .bzr.log by using '/dev/null'
6287
 
  filename (on Linux) or 'NUL' (on Windows). If BZR_LOG variable
 
7414
  filename (on Unix) or 'NUL' (on Windows). If BZR_LOG variable
6288
7415
  is not defined but BZR_HOME is defined then default location
6289
7416
  for .bzr.log trace file is ``$BZR_HOME/.bzr.log``.
6290
7417
  (Alexander Belchenko, #106117)
12027
13154
 
12028
13155
 
12029
13156
..
12030
 
   vim: tw=74 ft=rst ff=unix
 
13157
   vim: tw=74 ft=rst ff=unix encoding=utf-8