11
:2.3.b4: NOT RELEASED YET
13
External Compatibility Breaks
14
*****************************
16
.. These may require users to change the way they use Bazaar.
21
.. New commands, options, etc that users may wish to try out.
26
.. Improvements to existing commands, especially improved performance
27
or memory usage, or better results.
29
* Bazaar now caches a branch's tags while that branch is read-locked.
30
This removes 1 network roundtrip from most interactions with a remote
31
branch. (Andrew Bennetts)
33
* ``bzr config <option>`` will now display only the value itself so scripts
34
can use it to query the currently active configuration. Displaying several
35
options matching a given regular expression is now controlled via the
36
``--all`` option. (Vincent Ladeuil, bug #670251)
38
* ``bzr resolve`` now reports the number of conflicts resolved and the
39
number of remaining conflicts. This provides a better feedback about the
40
whole resolution process. (Vincent Ladeuil)
45
.. Fixes for situations where bzr would previously crash or give incorrect
46
or undesirable results.
48
* Better message if there is an error while setting ownership of
49
``.bazaar`` directory. (Parth Malwankar, #657553)
51
* ``bzr config`` properly displays list values. (Vincent Ladeuil, #672382)
53
* ``bzr config`` will now respect option policies when displaying the value
54
and display the definition sections when appropriate.
55
(Vincent Ladeuil, #671050)
57
* Don't create commit message files in the current directory to avoid nasty
58
interactions with emacs (which tries to establish the status of the file
59
during the commit which breaks on windows). (Vincent Ladeuil, #673637)
61
* ``bzr resolve --take-other <file>`` will not crash anymore if ``<file>``
62
is involved in a text conflict (but the conflict is still not
63
resolved). (Vincent Ladeuil, #646961)
65
* Merge will now correctly locate a lca where there is a criss-cross merge
66
of a new root. (Gary van der Merwe, #588698)
68
* Report error if non-ASCII command option given. (Rory Yorke, #140563)
73
.. Improved or updated documentation.
78
.. Changes that may require updates in plugins or other code that uses
84
.. Major internal changes, unlikely to be visible to users or plugin
85
developers, but interesting for bzr developers.
87
* ``BranchBuilder.build_snapshot`` now accepts parent_ids == [].
88
This can be used to create a new root in the graph. (Gary van der Merwe)
90
* Old repository development formats
91
RepositoryFormatCHK1 and RepositoryFormatCHK2 have been removed, and so
92
have the corresponding metadir format options ``development-rich-root``,
93
``development6-rich-root``, and ``development7-rich-root``.
98
.. Fixes and changes that are only relevant to bzr's test framework and
99
suite. This can include new facilities for writing tests, fixes to
100
spurious test failures and changes to the way things should be tested.
102
* Add a null_output_matches_anything keyword argument with default False to
103
bzrlib.tests.script.ScriptRunner.run_script to specify that the command
104
output should not be checked (as opposed to expecting an empty output).
105
(Neil Martinsen-Burrell, #662509)
107
* Blank output section in scriptrunner tests no longer match any output.
108
Instead, use '...' as a wildcard if you don't care about the output.
109
(Martin Pool, #637830)
117
External Compatibility Breaks
118
*****************************
125
* Add --no-tree option to 'bzr push' and 'bzr init' for creating a
126
new or mirrored branch without working trees.
127
(Matthew Gordon, #506730)
129
* ``bzr config`` is a new command that displays the configuration options for
130
a given directory. It accepts a glob to match against multiple options at
131
once. It can also be used to set or delete a configuration option in any
132
configuration file. (Vincent Ladeuil)
134
* New shortcut url schemes ``ubuntu:`` and ``debianlp:`` access source
135
branches on Launchpad. E.g. ``bzr branch ubuntu:foo`` gives you the source
136
branch for project ``foo`` in the current distroseries for Ubuntu while
137
``bzr branch debianlp:lenny/foo`` gives you the source branch (on Launchpad)
138
for project ``foo`` in Debian Lenny.
139
(Barry Warsaw, #609186)
141
* Provide a configuration option "default_format" that controls the
142
default format for new branches created with ``bzr init``.
143
(Neil Martinsen-Burrell, #484101)
148
* Always set PATH in start_bzr.bat on Windows. (Matthäus G. Chajdas, #470264)
150
* ``bzr status -r X..Y`` was failing because RevisionTree didn't implement
151
``get_shelf_manager``. (John Arbash Meinel, #662053)
153
* Correctly add directory contents when the name was previously added as a
154
normal file, rather than throwing ``AttributeError: children`` during
155
smart_add. (Martin [gz], #251864)
157
* Correctly handle the ``--directory`` option for all code paths of
158
``resolve`` and ``shelve``, this was previously ignored when paths were
159
provided as parameters. When both are provided, ``--directory`` becomes
160
the base directory for the other paths. (Vincent Ladeuil, #670851)
162
* Correctly set the Content-Type header when http POSTing to comply
163
with stricter web frameworks. (Vincent Ladeuil, #665100)
165
* Don't force openssh to use protocol=2, since that is now the default.
166
(Neil Martinsen-Burrell, #561061)
168
* Fix ``KeyError: 'port'`` when getting the stored password for an http
170
(Martin Pool, #654684)
172
* Make ``bzr tag --quiet`` really quiet. (Neil Martinsen-Burrell, #239523)
174
* Missing files (files bzr add'ed and then OS deleted) are now shown in ``bzr
175
status`` output. (Rory Yorke, #134168)
177
* ``NotBranchError`` no longer allows errors from calling
178
``bzrdir.open_repository()`` to propagate. This is unhelpful at best,
179
and at worst can trigger infinite loops in callers. (Andrew Bennetts)
181
* The ``branch.tags.merge_to(target_branch)`` API used by plugins such as
182
``bzr-builddeb`` now propagates changes to the master branch of the
183
target branch (if there is one). This makes it consistent with the
184
other tag APIs. (Andrew Bennetts, #603395)
186
* Windows installers no longer requires the Microsoft vcredist to be
187
installed. (Martin [gz], Gary van der Merwe, #632465)
192
* Add documentation of the ability to edit hunks when shelving.
193
(Neil Martinsen-Burrell, #517660)
195
* Be more specific about the meaning of revision ranges for ``bzr diff``.
196
(Neil Martinsen-Burrell, #247282)
198
* Document the comment character in the .bzrignore file, including a
199
workaround for ignore patterns that begin with #.
200
(Neil Martinsen-Burrell, #631515)
205
* Add ``bzrlib.pyutils`` module with helper functions for some Python
206
tasks such as resolving a dotted name to a Python object
207
(``get_named_object``). (Andrew Bennetts)
209
* ``bzrlib.tests.ForwardingResult`` no longer exists. Use
210
``testtools.ExtendedToOriginalDecorator`` instead. (Andrew Bennetts)
212
* ``known_hooks_key_to_parent_and_attribute`` in ``bzrlib.hooks`` has been
213
deprecated in favour of ``known_hooks.key_to_parent_and_attribute`` in
214
the same module. (Andrew Bennetts)
219
* ``tools/fixed-in.py`` find a bug in NEWS from its number or a regexp
220
matching the news entry and display the corresponding release, date, fix
221
authors and the news entry itself. (Vincent Ladeuil)
226
* Blank output section in scriptrunner tests no longer match any output.
227
Instead, use '...' as a wildcard if you don't care about the output.
228
(Martin Pool, #637830)
230
* ``bzr test-script script`` is a new command that runs a shell-like script
231
from an the ``script`` file. (Vincent Ladeuil)
233
* Fix spurious test failures on babune related to the http pipe cleanup and
234
get rid of some 'bytes left on the HTTP socket' useless log messages.
235
(Vincent Ladeuil, #655557)
237
* ``bzrlib.tests.per_workingtree.TestCaseWithWorkingTree.make_branch_builder``
238
respects its ``relpath`` parameter. (Vincent Ladeuil)
245
External Compatibility Breaks
246
*****************************
248
* The ``bzr tags`` command sorts tag names using a natural sort by
249
default (so tag2 sorts before tag10). The previous default was
250
strictly "asciibetical". That behavior is still available as ``bzr tags
251
--sort=alpha``. (Neil Martinsen-Burrell, #640760)
253
* ``BzrDir.generate_backup_name`` has been deprecated and replaced by a
254
private method. ``osutils.available_backup_name`` provides an extensible
255
replacement. This allowed the deprecation of
256
``bzrlib.transform.get_backup_name``,
257
``bzrlib.transform._get_backup_name`` and
258
``bzrlib.transform.TreeTransformBase.has_named_child``.
11
:2.3.b2: NOT RELEASED YET
280
31
Also, bzr will recognize if the 'ssh' comand is a symlink to lsh.
281
32
(Matthew Gordon, #374700)
283
* The ``pull`` and ``update`` commands now take a ``--show-base``
284
option that, in the case of conflicts, shows the base revision text.
285
(Rory Yorke, #202374)
290
37
* ``bzr break-lock --force`` breaks the lock without prompting. (Before
291
38
using this, make sure the process holding the lock really is dead.)
292
(Martin Pool, #397315)
294
* ``bzr remove`` now takes a ``--no-backup`` option for when you don't want it
295
to backup anything, just delete it. This option used to be called ``--force``
296
which is now deprecated.
297
(Marius Kruger, #400554)
299
* When using the pycurl client module, Bazaar shows some of the text from
300
http server error messages.
301
(Martin Pool, #656667)
306
* Don't force openssh to use protocol=2, since that is now the default.
307
(Neil Martinsen-Burrell, #561061)
309
* Fix signature of RemoteBzrDir.create_workingtree to match that of its
310
superclass. (Neil Martinsen-Burrell, Martin Pool, #524627)
312
* Fix traceback with python-2.7's xmlrpclib
313
(Toshio Kuratomi, #612096)
39
(Martin Pool, #392315)
315
41
* Print junk rather than throwing a UnicodeDecodeError from ``bzr version-info``
316
when using the rio format (with non-ascii information) on a non-utf-8
317
terminal. (Andrej A Antonov, #518609)
319
* Treat all IO, OS, and socket errors consistently when establishing
320
SSH/SFTP connections via a subprocess. (Andrew Bennetts)
42
when using the rio format (with non-ascii information) on a non-utf-8 terminal.
43
(Andrej A Antonov, #518609)
45
* Skip tests that needs a bzr source tree when there isn't one. This is
46
needed to succesfully run the test suite for installed versions.
47
(Vincent Ladeuil, #644855).
49
* Skip the tests that requires respecting the chmod bits when running as root.
50
(Vincent Ladeuil, #646133)
322
52
* ``unshelve --preview`` now can show diff in a non-ascii encoding.
323
53
(Andrej A Antonov, #518916)
325
* Deleting a versioned directory can leave orphans: unversioned files that
326
were present don't have a parent anymore. The
327
``bzr.transform.orphan_policy`` configuration option controls the ``bzr``
328
behaviour: ``conflict`` (the default) leave the orphans in place and
329
create a conflict for the directory, ``move`` create orphans named
330
``<file>.~#~`` in a ``bzr-orphans`` directory at the root of the working
331
tree. (Vincent Ladeuil, #323111)
339
* Correct the documentation for setting up the smart server with Apache.
340
(Neil Martinsen-Burrell, #311518)
342
* Fix rst typos in bzrlib/help_topics/en/conflict-types.txt.
343
(Vincent Ladeuil, #660943)
345
* Provide more detailed help on the Launchpad plugin at "bzr help
346
plugins/launchpad". (Neil Martinsen-Burrell, #589379)
348
* Suggest ``bzr revert`` for restoring locally deleted files in help text
349
for ``bzr update``. (John C Barstow, #191466)
354
* ``WorkingTree`` methods ``pull``, ``update``, and ``_update_tree``
355
now have an optional argument, ``show_base``, which is by default
356
False. This is flag is ultimately passed to ``merge.merge_inner``
357
in each case. (Rory Yorke, #202374)
421
External Compatibility Breaks
422
*****************************
108
* BzrError subclasses no longer support the name "message" to be used
109
as an argument for __init__ or in _fmt format specification as this
110
breaks in some Python versions. errors.LockError.__init__ argument
111
is now named "msg" instead of earlier "message".
112
(Parth Malwankar, #603461)
114
* Additional merges after an unrelated branch has been merged with its
115
history no longer crash when deleted files are involved.
116
(Vincent Ladeuil, John Arbash Meinel, #375898)
118
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
119
previously-unversioned directory within the tree: the directory is
120
marked versioned too.
121
(Martin Pool, #192859)
123
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
124
target of the symlink.
125
(Martin Pool, John Arbash Meinel, #128562)
127
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
128
permissions as ``.bzr`` directory on a POSIX OS.
129
(Parth Malwankar, #262450)
131
* ``bzrlib.transform.TreeTransformBase.final_kind``,
132
``bzrlib.transform.TreeTransform.tree_kind`` and
133
``bzrlib.transform.TransformPreview.tree_kind`` now return None instead
134
of raising NoSuchFile. (Vincent Ladeuil)
136
* CommitBuilder now uses the committer instead of _config.username to generate
137
the revision-id. (Aaron Bentley, #614404)
139
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
140
way which should help avoid problems with concurrent writers.
141
(Vincent Ladeuil, #525571)
143
* `ControlDirFormat` and `ControlDir` have been split out of `BzrDirFormat`
144
and `BzrDir`, respectively. `ControlDirFormat`
145
and `ControlDir` should be used as the base classes for new non-.bzr
148
`BzrDirFormat.register_control_format` has been renamed to
149
`ControlDirFormat.register_format`.
151
`BzrDirFormat.register_server_control_format` has been removed.
153
Probing for control directories is now done by separate objects derived
154
from `bzrlib.controldir.Prober` and registered using
155
`bzrlib.controldir.ControlDirFormat.register_prober` or
156
`bzrlib.controldir.ControlDirFormat.register_server_prober`.
157
`BzrDirFormat.probe_transport` has been moved onto `Prober`.
159
`BzrDirFormat.register_format` has been renamed to
160
`BzrProber.register_bzrdir_format`.
162
`bzrlib.bzrdir.network_format_registry` has been moved to
167
* Cope with Microsoft FTP server that returns reply '250 Directory
168
created' when mkdir succeeds. (Martin Pool, #224373)
170
* Don't traceback when a lockdir's ``held/info`` file is corrupt (e.g.
171
contains only NUL bytes). Instead warn the user, and allow ``bzr
172
break-lock`` to remove it. (Andrew Bennetts, #619872)
174
* `decode` parameter to get() method in FtpTransport and GioTransport classes
175
is deprecated. (Alexander Belchenko)
177
* `FileInWrongBranch` is deprecated in favour of `PathNotChild` and no
181
* Fix ``AttributeError on parent.children`` when adding a file under a
182
directory that was a symlink in the previous commit.
183
(Martin Pool, #192859)
185
* Fix ``AttributeError: 'NoneType' object has no attribute 'close'`` in
186
``_close_ssh_proc`` when using ``bzr+ssh://``. This was causing
187
connections to pre-1.6 bzr+ssh servers to fail, and causing warnings on
188
stderr in some other circumstances. (Andrew Bennetts, #633745)
190
* Only call ``setlocale`` in the bzr startup script on posix systems. This
191
avoids an issue with the newer windows C runtimes used by Python 2.6 and
192
later which can mangle bytestrings printed to the console.
193
(Martin [gz], #631350)
195
* Prevent ``CHKMap.apply_delta`` from generating non-canonical CHK maps,
196
which can result in "missing referenced chk root keys" errors when
197
fetching from repositories with affected revisions.
198
(Andrew Bennetts, #522637)
200
* Raise ValueError instead of a string exception.
201
(John Arbash Meinel, #586926)
203
* Reduce peak memory by one copy of compressed text.
204
(John Arbash Meinel, #566940)
206
* Repositories accessed via a smart server now reject being stacked on a
207
repository in an incompatible format, as is the case when accessing them
208
via other methods. This was causing fetches from those repositories via
209
a smart server (e.g. using ``bzr branch``) to receive invalid data.
210
(Andrew Bennetts, #562380)
212
* Selftest with versions of subunit that support ``stopTestRun`` will no longer
213
error. This error was caused by 2.0 not being updated when upstream
214
python merged the end of run patch, which chose ``stopTestRun`` rather than
215
``done``. (Robert Collins, #571437)
217
* Stop ``AttributeError: 'module' object has no attribute 'ElementTree'``
218
being thrown from ``xml_serializer`` on certain cElementTree setups.
219
(Martin [gz], #254278)
221
* The old ``bzr selftest --benchmark`` option has been removed.
222
<https://launchpad.net/bzr-usertest> is an actively-maintained
223
macrobenchmark suite.
226
* `tree_files` and `internal_tree_files` are now deprecated in favor of
227
`WorkingTree.open_containing_paths`.
230
* Upgrading or fetching from a non-rich-root repository to a rich-root
231
repository (e.g. from pack-0.92 to 2a) no longer fails with
232
``'Inter1and2Helper' object has no attribute 'source_repo'``. This was
233
a regression from Bazaar 2.1. (Andrew Bennetts, #636930)
235
* When passing a file to ``UTF8DirReader`` make sure to close the current
236
directory file handle after the chdir fails. Otherwise when passing many
237
filenames into a command line ``bzr status`` we would leak descriptors.
238
(John Arbash Meinel, #583486)
447
261
* New development format ``development8-subtree`` which is similar to the
448
262
``2a`` format and adds subtree support. (Jelmer Vernooij)
453
* Allow using both ``--using`` and ``--diff-options``.
264
* The ``pull`` and ``update`` commands now take a ``-show-base``
265
option that, in the case of conflicts, shows the base revision text.
266
(Rory Yorke, #202374)
271
* Fix traceback with python-2.7's xmlrpclib
272
(Toshio Kuratomi, #612096)
274
* Allow using both --using and --diff-options.
454
275
(Matthäus G. Chajdas, #234708)
456
277
* Allow using non-integer bug ID with generic bug trackers.
457
278
(Alexandre Garnier, #440472)
459
* ``bzr remove`` now just backs up changed files instead of exiting,
460
forcing you to choose to either keep or delete them. Bazaar will now delete
461
the files if they can easily be recovered using revert, otherwise they
462
will be backed up (adding an extention of the form .~#~).
463
(Marius Kruger, #400554)
465
* ``bzr revert`` and ``bzr status`` are up to 15% faster on large trees
466
with many changes by not repeatedly building a list of all file-ids.
469
* Decrease memory consumption when many chk index pages are loaded. (Such
470
as during ``bzr co`` or ``bzr ls -R`` of a large tree.) Often we need to
471
read many chk pages because the individual chk map nodes will be spread
472
randomly. Peak memory for 'bzr ls -R' on a large tree dropped from 396MB
473
down to 247MB, expect even more significant savings on 64-bit platforms.
476
* Decrease peak memory during ``bzr send``. The old code was caching all
477
text content and all inventory strings for all revisions before
478
computing the diffs. Now we only cache as long as there is a child that
479
will need them. Sending 2000 bzr revisions drops from 1.2GB peak to
480
256MB peak. (John Arbash Meinel, #614576)
482
* ``DirState`` internals use a little bit less memory. For bzr.dev it
483
drops the memory from 1MB down to about 800kB. And replaces a few
484
thousand tuples and sets with StaticTuple. (John Arbash Meinel)
486
* Inventory entries now consume less memory (on 32-bit Ubuntu file entries
487
have dropped from 68 bytes to 40, and directory entries from 120 bytes
488
to 48). (Andrew Bennetts)
490
* Reduce peak memory by one copy of compressed text when writing to pack
492
(John Arbash Meinel, #566940)
494
* When building new working trees, default to reading from the repository
495
rather than the source tree unless explicitly requested. (via
496
``--files-from`` and ``--hardlink`` for ``bzr branch`` and
497
``bzr checkout``. Generally, 2a format repositories extract
498
content faster than seeking and reading content from another tree,
499
especially in cold-cache situations. (John Arbash Meinel, #607298)
501
* Add ``__pycache__`` to the default ``ignores`` file. Future releases of
502
Python will use this directory to store bytecodes.
503
(Andrea Corbellini, #626687)
508
* Additional merges after an unrelated branch has been merged with its
509
history no longer crash when deleted files are involved.
510
(Vincent Ladeuil, John Arbash Meinel, #375898)
512
280
* ``bzr add SYMLINK/FILE`` now works properly when the symlink points to a
513
281
previously-unversioned directory within the tree: the directory is
514
marked versioned too.
282
marked versioned too.
515
283
(Martin Pool, #192859)
517
* ``bzr clean-tree`` issues a warning if it is unable to delete a file
518
due to ``errno.EACCES`` instead of exiting with an error on Windows.
519
(Parth Malwankar, #430785)
521
* ``bzr commit SYMLINK`` now works, rather than trying to commit the
522
target of the symlink.
523
(Martin Pool, John Arbash Meinel, #128562)
525
285
* ``bzr ignore PATTERNS`` exits with error if a bad pattern is supplied.
526
286
``InvalidPattern`` exception error message now shows faulting
527
287
regular expression.
528
288
(Parth Malwankar #300062)
530
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
531
permissions as ``.bzr`` directory on a POSIX OS.
532
(Parth Malwankar, #262450)
534
* CommitBuilder now uses the committer instead of _config.username to generate
535
the revision-id. (Aaron Bentley, #614404)
537
* Configuration files in ``${BZR_HOME}`` are now written in an atomic
538
way which should help avoid problems with concurrent writers.
539
(Vincent Ladeuil, #525571)
290
* ``clean-tree`` issues a warning if it is unable to delete a file
291
due to ``errno.EACCES`` instead of exiting with an error on Windows.
292
(Parth Malwankar, #430785)
541
294
* CommitBuilder now uses the committer instead of _config.username to generate
542
295
the revision-id. (Aaron Bentley, #614404)
635
365
be available from ``bzrlib.tests.*``. They used to be, but were
636
366
accidentally removed. (John Arbash Meinel, #627438)
368
* Treat all IO, OS, and socket errors consistently when establishing
369
SSH/SFTP connections via a subprocess. (Andrew Bennetts)
638
371
* ``Transport.stat`` on a symlink, including a transport pointing directly
639
372
to a symlink, now returns information about the symlink.
642
375
* Upgrading or fetching from a non-rich-root repository to a rich-root
643
376
repository (e.g. from pack-0.92 to 2a) no longer fails with
644
``'Inter1and2Helper' object has no attribute 'source_repo'``. This was
645
a regression from Bazaar 2.1. (Andrew Bennetts, #636930)
377
``'Inter1and2Helper' object has no attribute 'source_repo'``.
378
(Andrew Bennetts, #636930)
380
* Wait for the SSH server to actually finish, rather than just waiting for
381
it to negotiate the key exchange. (John Arbash Meinel, #626876)
386
* ``bzr remove`` now just backs up changed files instead of exiting,
387
forcing you to choose to either keep or delete them. Bazaar will now delete
388
the files if they can easily be recovered using revert, otherwise they
389
will be backed up (adding an extention of the form .~#~).
390
(Marius Kruger, #400554)
392
* ``bzr revert`` and ``bzr status`` are up to 15% faster on large trees
393
with many changes by not repeatedly building a list of all file-ids.
396
* Decrease memory consumption when many chk index pages are loaded. (Such
397
as during ``bzr co`` or ``bzr ls -R`` of a large tree.) Often we need to
398
read many chk pages because the individual chk map nodes will be spread
399
randomly. Peak memory for 'bzr ls -R' on a large tree dropped from 396MB
400
down to 247MB, expect even more significant savings on 64-bit platforms.
403
* ``DirState`` internals use a little bit less memory. For bzr.dev it
404
drops the memory from 1MB down to about 800kB. And replaces a few
405
thousand tuples and sets with StaticTuple. (John Arbash Meinel)
407
* Inventory entries now consume less memory (on 32-bit Ubuntu file entries
408
have dropped from 68 bytes to 40, and directory entries from 120 bytes
409
to 48). (Andrew Bennetts)
411
* When building new working trees, default to reading from the repository
412
rather than the source tree unless explicitly requested. (via
413
``--files-from`` and ``--hardlink`` for ``bzr branch`` and
414
``bzr checkout``. Generally, 2a format repositories extract
415
content faster than seeking and reading content from another tree,
416
especially in cold-cache situations. (John Arbash Meinel, #607298)
418
* Add ``__pycache__`` to the default ``ignores`` file. Future releases of
419
Python will use this directory to store bytecodes.
420
(Andrea Corbellini, #626687)
659
434
the new http://bazaar.canonical.com or http://wiki.bazaar.canonical.com
660
435
(John Arbash Meinel, #617503)
437
* Suggest ``bzr revert`` for restoring locally deleted files in help text
438
for ``bzr update``. (John C Barstow, #191466)
665
* When passing a file to ``UTF8DirReader`` make sure to close the current
666
directory file handle after the chdir fails. Otherwise when passing many
667
filenames into a command line ``bzr status`` we would leak descriptors.
668
(John Arbash Meinel, #583486)
670
* `ControlDirFormat` and `ControlDir` have been split out of `BzrDirFormat`
671
and `BzrDir`, respectively. `ControlDirFormat`
672
and `ControlDir` should be used as the base classes for new non-.bzr
675
`BzrDirFormat.register_control_format` has been renamed to
676
`ControlDirFormat.register_format`.
678
`BzrDirFormat.register_server_control_format` has been removed.
680
Probing for control directories is now done by separate objects derived
681
from `bzrlib.controldir.Prober` and registered using
682
`bzrlib.controldir.ControlDirFormat.register_prober` or
683
`bzrlib.controldir.ControlDirFormat.register_server_prober`.
684
`BzrDirFormat.probe_transport` has been moved onto `Prober`.
686
`BzrDirFormat.register_format` has been renamed to
687
`BzrProber.register_bzrdir_format`.
689
`bzrlib.bzrdir.network_format_registry` has been moved to
694
* ``bzrlib.transform.TreeTransformBase.final_kind``,
695
``bzrlib.transform.TreeTransform.tree_kind`` and
696
``bzrlib.transform.TransformPreview.tree_kind`` now return None instead
697
of raising NoSuchFile. (Vincent Ladeuil)
699
* BzrError subclasses no longer support the name "message" to be used
700
as an argument for __init__ or in _fmt format specification as this
701
breaks in some Python versions. errors.LockError.__init__ argument
702
is now named "msg" instead of earlier "message".
703
(Parth Malwankar, #603461)
705
443
* Configuration files should now use the ``from_string`` constructor rather
706
444
than the ``file`` parameter of the ``_get_parser`` method. The later has
707
445
been deprecated. ``from_string`` also accept a ``save=True`` parameter to