14
External Compatibility Breaks
15
*****************************
17
.. These may require users to change the way they use Breezy.
23
.. New commands, options, etc that users may wish to try out.
29
.. Improvements to existing commands, especially improved performance
30
or memory usage, or better results.
32
* Permission denied errors from GitLab during push are now properly
33
recognized. (Jelmer Vernooij)
35
* Support rename and copy tracking when accessing Git
36
repositories. (Jelmer Vernooij, #1760740)
38
* A new method ``MergeProposal.get_source_revision`` has been added.
41
* Add support for HTTP response code 308. (Jelmer Vernooij)
43
* Handle non-utf8 characters in Git repositories by surrogate escaping
44
them. (Jelmer Vernooij, #1489872)
46
* ``BzrDir.sprout`` now correctly handles the ``revision_id``
47
argument when ``source_branch`` is None. (Jelmer Vernooij)
49
* Warn when loading a plugin that is broken, but support
50
``suppress_warnings=load_plugin_failure`` to suppress it.
51
(Jelmer Vernooij, #1882528)
53
* Add a basic ``svn:`` revision spec. Currently this doesn't work,
54
but it prevents the DWIM revision specifier from treating "svn:"
55
as a URL. (Jelmer Vernooij)
60
.. Fixes for situations where brz would previously crash or give incorrect
61
or undesirable results.
63
* Don't require ``ctypes.pythonapi`` to exist, as it's missing on newer
64
versions of Pypy3. (Jelmer Vernooij)
66
* Prevent exceptions during commit when quilt is not installed but
67
the tree contains quilt patches. (Jelmer Vernooij)
69
* Support pushing to Git repositories that do not yet exist,
70
such as is the case on Launchpad repositories.
76
.. Improved or updated documentation.
81
.. Changes that may require updates in plugins or other code that uses
84
* ``BzrCommandError`` has been renamed to ``CommandError``.
87
* The ``osutils.safe_file_id`` and ``osutils.safe_revision_id`` methods
88
have been removed. (Jelmer Vernooij)
90
* File ids are no longer returned in ``Tree.walkdirs``.
96
.. Major internal changes, unlikely to be visible to users or plugin
97
developers, but interesting for brz developers.
99
* A new ``MergeProposal.post_comment`` function has been added, and
100
is currently implemented for GitHub, GitLab and Launchpad.
103
* Add a ``MemoryBranch`` implementation. (Jelmer Vernooij)
105
* A new ``Workspace`` interface is now available for efficiently
106
making changes to large working trees from automation.
112
.. Fixes and changes that are only relevant to brz's test framework and
113
suite. This can include new facilities for writing tests, fixes to
114
spurious test failures and changes to the way things should be tested.
116
* Tests for most bzr-specific functionality has been moved to the
117
``breezy.bzr.tests`` module. (Jelmer Vernooij)
125
External Compatibility Breaks
126
*****************************
128
.. These may require users to change the way they use Breezy.
130
* The ``brz init-repo`` command has been renamed to
131
``brz init-shared-repo`` to emphasize that it creates
132
shared repositories rather than just any kind of repository.
138
.. New commands, options, etc that users may wish to try out.
140
* A new ``brz land`` command can merge merge proposals on Launchpad,
141
GitHub and GitLab sites. (Jelmer Vernooij, #1816213)
143
* The 'patch' command is now bundled with brz.
144
Imported from bzrtools by Aaron Bentley. (Jelmer Vernooij)
146
* The 'quilt' plugin, extracted from brz-debian, is now
147
bundled. (Jelmer Vernooij)
149
* A new ``calculate_revnos`` configuration option (defaults to enabled)
150
can be used to disable revno display for branch formats that
151
do not natively store revnos. This speeds up ``brz log`` on
152
the Samba git branch by 33%.
155
* Directly read mtab rather than using psutil when trying to figure out
156
filesystem types. This removes a dependency that not all users may
157
have installed and speeds up import time since psutil brings in
158
various other modules. (Jelmer Vernooij)
160
* ``brz diff`` now has a --color argument that can write
161
color diff output. This is based on the cdiff code in
162
bzrtools by Aaron Bentley.
163
(Jelmer Vernooij, #376594)
165
* Information about tree references can now be updated on remote
166
branches. (Jelmer Vernooij)
168
* Warn the user when they attempt to use Breezy in a Subversion
169
working copy. (Jelmer Vernooij)
171
* Add a basic Mercurial plugin that mentions that .hg repositories
172
are unsupported when the user attempts to access one.
175
* The ``2a`` format now officially supports storing tree references.
176
It always partially supported storing tree reference data,
177
and would happily pull in tree reference data from other repository
178
formats. (Jelmer Vernooij)
180
* A new ``fossil`` plugin has been added that warns users when they
181
attempt to access Fossil repositories.
182
(Jelmer Vernooij, #1848821)
184
* When pushing to Git repositories, symrefs are now followed.
185
(Jelmer Vernooij, #1800393)
187
* New ``brz clone`` command, which clones everything under
188
a control directory. I.e. all colocated branches, like
189
``git clone``. (Jelmer Vernooij, #831939)
191
* ``brz sprout`` is now an alias for ``brz branch``.
194
* ``brz branch`` now accepts a ``-b`` flag with the
195
name of the colocated branch to sprout.
196
(Jelmer Vernooij, #1869977)
198
* Add a ``breezy.__main__`` module so that
199
``python3 -m breezy`` works. (Jelmer Vernooij)
204
.. Improvements to existing commands, especially improved performance
205
or memory usage, or better results.
207
* A new ``--commit-message`` option has been added to
208
``brz propose``, for hosting sites that support it.
211
* Automatically upgrade to branch format 8 when setting branch references.
214
* The ``ssh`` configuration variable can be used to set the default
215
SSH implementation. (Jelmer Vernooij, #650757)
217
* ``locks.steal_dead`` is now enabled by default.
218
(Jelmer Vernooij, #220464)
220
* The substitution variables for the ``change_editor`` configuration
221
option are now "{old_path}" and "{new_path}" rather than "@old_path" and
222
"@new_path". The former is more consistent with the way substitutions
223
work in other configuration options. The old syntax is still supported.
224
(Jelmer Vernooij, #708718)
226
* The ``brz inventory`` command now accepts a ``--include-root``
227
argument to show the tree root. (Jelmer Vernooij)
229
* Fix support for reading Git repositories over HTTP without
230
a smart server. (Jelmer Vernooij)
232
* CVS pserver URLs now indicate that the pserver protocol is not
233
supported. (Jelmer Vernooij)
235
* Git repositories with submodules can now be imported into 2a
236
branches; submodules are converted to nested trees.
237
(Jelmer Vernooij, #402814)
239
* Python 3 is now used by default to run scripts, etc. from the makefile.
242
* ``.git/config`` is now consulted to determine the users' identity
243
for commits, and the gpg_signing_key. (Jelmer Vernooij)
245
* Ignore special files (fifos, block/character devices, sockets)
246
when finding changes in Git working trees. (Jelmer Vernooij, #1857244)
248
* Parse error messages from stderr when a remote Git server
249
hangs up. (Jelmer Vernooij)
255
.. Fixes for situations where brz would previously crash or give incorrect
256
or undesirable results.
258
* Print a sensible error message when conversion for an option fails
259
(i.e. when a non-int is specified as the value for an integer
260
parameter) (#237844, Jelmer Vernooij)
262
* Don't include timestamps in filenames when reporting on binary
263
files in diff. (Jelmer Vernooij, #71307)
265
* Ignore UnknownFormatErrors when scanning for control directories.
266
(Jelmer Vernooij, #468332)
268
* Fix fetching from remote git repositories in ``brz git-import``.
269
(Jelmer Vernooij, #1836238)
271
* A new ``TreeEntry.is_unmodified`` method has added, which allows
272
merge to check for unmodified files without relying
273
on the .revision attribute that is not available for Git trees.
274
This fixes LCA merges for Git repositories.
275
(Jelmer Vernooij, #1826663)
277
* Fix passing of directories in specific_files to
278
GitWorkingTree.iter_entries_by_dir(). (Jelmer Vernooij, #1844054)
280
* Fix ``brz diff --using`` when {old_path} and {new_path} are not
281
specified in the template. (#1847915, Jelmer Vernooij)
283
* Ignore ghost tags when interacting with remote Git repositories.
286
* Fix ``setup_ui=False`` when initializing Breezy.
287
(Jelmer Vernooij, #1852647)
289
* Fix backwards compatibility with Bazaar by supporting the
290
$BZR_EMAIL variable. (Jelmer Vernooij, #1869178)
292
* Cope with non-ascii characters in Git signatures.
293
(Jelmer Vernooij, #1869533)
295
* Fix use of ``proxy_bypass`` on Python 3.
296
(Jelmer Vernooij, #1878698)
298
* Create $XDG_HOME_DIR if it does not exist.
304
.. Improved or updated documentation.
309
.. Changes that may require updates in plugins or other code that uses
312
* New ``Tree.get_transform`` method for getting a ``TreeTransform``
313
object. (Jelmer Vernooij)
315
* The ``Tree.get_root_id`` method has been removed. Use
316
``Tree.path2id('')`` instead. (Jelmer Vernooij)
318
* ``Repository.find_branches`` now returns an iterator rather than a
319
list. (Jelmer Vernooij, #413970)
321
* New ``Tree.get_nested_tree`` method for retrieving a nested tree.
324
* The ``ControlDirFormat.register_server_prober`` method has been removed.
325
Instead, probers can now have a ``priority`` method to influence
326
when they are run. (Jelmer Vernooij)
328
* New ``urlutils.strip_segment_parameters`` function for
329
stripping segment parameters from a URL.
332
* ``Tree.id2path`` has a new optional argument ``recurse``,
333
that determines whether it scans through nested trees.
336
* ``VersionedFiles.add_content`` can now be used to add
337
content from ``ContentFactory`` objects.
344
.. Major internal changes, unlikely to be visible to users or plugin
345
developers, but interesting for brz developers.
350
.. Fixes and changes that are only relevant to brz's test framework and
351
suite. This can include new facilities for writing tests, fixes to
352
spurious test failures and changes to the way things should be tested.
356
vim: tw=74 ft=rst ff=unix