61
:2.2.0b1: Not released yet
66
* BTreeGraphIndex can now take an offset to indicate that the data starts
67
somewhere other than then beginning of the file. (John Arbash Meinel)
69
* Deleted very old hidden commands ``versionedfile-list``,
70
``weave-plan-merge``, ``weave-merge-text``.
73
* ``Repository.get_inventory_sha1()`` and ``Repository.get_revision_xml()``
74
have been removed. (Jelmer Vernooij)
76
* ``Repository.get_revision_inventory()`` has been removed in favor of
77
``Repository.get_inventory()``. (Jelmer Vernooij)
79
* All test servers have been moved out of the bzrlib.transport hierarchy to
80
bzrlib.tests.test_server *except* for MemoryServer, ChrootServer and
81
PathFilteringServer. ``bzrlib`` users may encounter test failures that can
82
be fixed by updating the related imports from ``bzrlib.transport.xxx`` to
83
``bzrlib.tests.test_server``.
86
* ``BranchReferenceFormat.initialize()`` now takes an optional name argument
87
as its second parameter, for consistency with the initialize() method of
88
other formats. (Jelmer Vernooij)
93
* Added ``bzr remove-branch`` command that can remove a local or remote
94
branch. (Jelmer Vernooij, #276295)
96
* ``bzr export`` now takes an optional argument ``--per-file-timestamps``
97
to set file mtimes to the last timestamp of the last revision in which
98
they were changed rather than the current time. (Jelmer Vernooij)
100
* If the Apport crash-reporting tool is available, bzr crashes are now
101
stored into the ``/var/crash`` apport spool directory, and the user is
102
invited to report them to the developers from there, either
103
automatically or by running ``apport-bug``. No information is sent
104
without specific permission from the user. (Martin Pool, #515052)
106
* Parsing of command lines, for example in ``diff --using``, no longer
107
treats backslash as an escape character on Windows. (Gordon Tyler,
110
* Plugins can be disabled by defining ``BZR_DISABLE_PLUGINS`` as
111
a list of plugin names separated by ':' (';' on windows).
112
(Vincent Ladeuil, #411413)
114
* Plugins can be loaded from arbitrary locations by defining
115
``BZR_PLUGINS_AT`` as a list of name@path separated by ':' (';' on
116
windows). This takes precedence over ``BZR_PLUGIN_PATH`` for the
117
specified plugins. This is targeted at plugin developers for punctual
118
needs and *not* intended to replace ``BZR_PLUGIN_PATH``.
119
(Vincent Ladeuil, #82693)
121
* Tag names can now be determined automatically by ``automatic_tag_name``
122
hooks on ``Branch`` if they are not specified on the command line.
125
* Tree-shape conflicts can be resolved by providing ``--take-this`` and
126
``--take-other`` to the ``bzr resolve`` command. Just marking the conflict
127
as resolved is still accessible via the ``--done`` default action.
130
* Merges can be proposed on Launchpad with the new lp-propose-merge command.
131
(Aaron Bentley, Jonathan Lange)
136
* Added docstring for ``Tree.iter_changes``
137
(John Arbash Meinel, #304182)
139
* Allow additional arguments to
140
``RemoteRepository.add_inventory_by_delta()``. (Jelmer Vernooij, #532631)
142
* Allow exporting a single file using ``bzr export``.
143
(Michal Junák, #511987)
145
* Allow syscalls to automatically restart when ``TextUIFactory``'s
146
SIGWINCH handler is invoked, avoiding ``EINTR`` errors during blocking
147
IO, which are often poorly handled by Python's libraries and parts of
148
bzrlib. (Andrew Bennetts, #496813)
150
* Avoid infinite recursion when probing for apport.
151
(Vincent Ladeuil, #516934)
153
* Avoid ``malloc(0)`` in ``patiencediff``, which is non-portable.
154
(Martin Pool, #331095)
156
* Avoid truncating svn URLs.
157
(Martin Pool, Martin von Gagern, #545185)
159
* ``bzr add`` will not add conflict related files unless explicitly required.
160
(Vincent Ladeuil, #322767, #414589)
162
* ``bzr dump-btree`` now works on ``*.cix`` and ``*.six`` files. Those
163
indices do not have reference lists, so ``dump-btree`` will simply show
164
``None`` instead. (Andrew Bennetts, #488607)
166
* ``bzr help`` will no longer trigger the get_missing_command hook when
167
doing a topic lookup. This avoids prompting (like 'no command plugins/loom,
168
did you mean log?') when getting help. In future we may trigger the hook
169
deliberately when no help topics match from any help index.
170
(Robert Collins, #396261)
172
* ``bzr log -n0 -r..A.B.C`` should not crash but just consider the None
173
revspec as representing the first revision of the branch.
174
(Vincent Ladeuil, #519862)
176
* ``bzr remove-tree`` can now remove multiple working trees.
177
(Jared Hance, Andrew Bennetts, #253137)
179
* ``bzr resolve --take-this`` and ``--take-other`` now correctly renames
180
the kept file on content conflicts where one side deleted the file.
181
(Vincent Ladeuil, #529968)
183
* ``bzr upgrade`` now creates the ``backup.bzr`` directory with the same
184
permissions as ``.bzr`` directory on a POSIX OS.
185
(Parth Malwankar, #262450)
187
* ``bzr upgrade`` now names backup directory as ``backup.bzr.~N~`` instead
188
of ``backup.bzr``. This directory is ignored by bzr commands such as
190
(Parth Malwankar, #335033, #300001)
192
* Cope with non-utf8 characters inside ``.bzrignore``.
193
(Jason Spashett, #183504)
195
* Correctly interpret "451 Rename/move failure: Directory not empty" from
196
ftp servers while trying to take a lock.
197
(Martin Pool, #528722)
199
* DirStateRevisionTree.kind() was returning wrong result when 'kind'
200
changes occured between the workingtree and one of its parents.
201
(Vincent Ladeuil, #535547)
203
* Fix ``log`` to better check ancestors even if merged revisions are involved.
204
(Vincent Ladeuil, #476293)
206
* Loading a plugin from a given path with ``BZR_PLUGINS_AT`` doesn't depend
207
on os.lisdir() order and is now reliable.
208
(Vincent Ladeuil, #552922).
210
* Many IO operations that returned ``EINTR`` were retried even if it
211
wasn't safe to do so via careless use of ``until_no_eintr``. Bazaar now
212
only retries operations that are safe to retry, and in some cases has
213
switched to operations that can be retried (e.g. ``sock.send`` rather than
215
(Andrew Bennetts, Martin <gzlist@googlemail.com>, #496813)
217
* Path conflicts now support --take-this and --take-other even when a
218
deletion is involved.
219
(Vincent Ladeuil, #531967)
221
* Network transfer amounts and rates are now displayed in SI units according
222
to the Ubuntu Units Policy <https://wiki.ubuntu.com/UnitsPolicy>.
223
(Gordon Tyler, #514399)
225
* Support kind markers for socket and fifo filesystem objects. This
226
prevents ``bzr status --short`` from crashing when those files are
227
present. (John Arbash Meinel, #303275)
229
* ``bzr mkdir DIR`` will not create DIR unless DIR's parent is a versioned
230
directory. (Parth Malwankar, #138600)
232
* SSH child processes will now ignore SIGQUIT on nix systems so breaking into
233
the debugger won't kill the session.
234
(Martin <gzlist@googlemail.com>, #162502)
236
* Tolerate patches with leading noise in ``bzr-handle-patch``.
237
(Toshio Kuratomi, Martin Pool, #502076)
239
* ``.bazaar``, ``.bazaar/bazaar.conf`` and ``.bzr.log`` inherit user and
240
group ownership from the containing directory. This allow bzr to work
242
(Parth Malwankar, #376388)
244
* Use first apparent author not committer in GNU Changelog format.
245
(Martin von Gagern, #513322)
250
* ``bzrlib.merge_directive._BaseMergeDirective`` has been renamed to
251
``bzrlib.merge_directive.BaseMergeDirective`` and is now public.
254
* ``BranchFormat.initialize`` now takes an optional ``name`` of the colocated
255
branch to create. (Jelmer Vernooij)
257
* ``BzrDir.get_branch_transport`` now takes an optional ``name`` of the
258
colocated branch to open. (Jelmer Vernooij)
260
* Added ``bzrlib.osutils.set_signal_handler``, a convenience function that
261
can set a signal handler and call ``signal.siginterrupt(signum,
262
False)`` for it, if the platform and Python version supports it.
263
(Andrew Bennetts, #496813)
265
* New ``bzrlib.initialize`` is recommended for programs using bzrlib to
266
run when starting up; it sets up several things that previously needed
267
to be done separately.
268
(Martin Pool, #507710)
270
* Exporters now support a ``per_file_timestamps`` argument to write out the
271
timestamp of the commit in which a file revision was introduced.
274
* New method ``BzrDir.list_branches()`` that returns a sequence of branches
275
present in a control directory. (Jelmer Vernooij)
277
* New transport methods ``readlink``, ``symlink`` and ``hardlink``.
280
* Remove unused ``CommandFailed`` exception.
286
* ``bzrlib.branchbuilder.BranchBuilder.build_snapshot`` now accepts a
287
``message_callback`` in the same way that commit does. (Robert Collins)
289
* ``bzrlib.builtins.Commit.run`` raises ``bzrlib.errors.BoundBranchOutOfDate``
290
rather than ``bzrlib.errors.BzrCommandError`` when the bound branch is out
291
of date. (Gary van der Merwe)
293
* ``bzrlib.commands.run_bzr`` is more extensible: callers can supply the
294
functions to load or disable plugins if they wish to use a different
295
plugin mechanism; the --help, --version and no-command name code paths
296
now use the generic pluggable command lookup infrastructure.
299
* ``bzrlib.errors.BoundBranchOutOfDate`` has a new field ``extra_help``
300
which can be set to add extra help to the error. (Gary van der Merwe)
302
* New method ``Branch.automatic_tag_name`` that can be used to find the
303
tag name for a particular revision automatically. (Jelmer Vernooij)
305
* The methods ``BzrDir.create_branch()``, ``BzrDir.destroy_branch()`` and
306
``BzrDir.open_branch()`` now take an optional ``name`` argument.
312
* bzr now has a ``.testr.conf`` file in its source tree configured
313
appropriately for running tests with Testrepository
314
(``https://launchpad.net/testrepository``). (Robert Collins)
316
* Documentation about testing with ``subunit`` has been tweaked.
319
* Known failures has been added for resolve --take-other on ParentLoop
320
conflicts. This reflects bug #537956 without fixing it.
323
* New ``bzrlib.tests.test_import_tariff`` can make assertions about what
324
Python modules are loaded, to guard against startup time or library
325
dependency regressions.
328
* PQM will now run with subunit output. To analyze a PQM error use
329
tribunal, or cat log | subunit-filter | subunit2pyunit. (Robert Collins)
331
* Stop sending apport crash files to ``.cache`` in the directory from
332
which ``bzr selftest`` was run. (Martin Pool, #422350)
334
* Tests no longer fail if "close() called during concurrent
335
operation on the same file object" occurs when closing the log file
336
(which can happen if a thread tries to write to the log file at the
337
wrong moment). An warning will be written to ``stderr`` when this
338
happens, and another warning will be written if the log file could not
339
be closed after retrying 100 times. (Andrew Bennetts, #531746)