Breezy 3.1.0

Milestone information

Project:
Breezy
Series:
3.1
Version:
3.1.0
Released:
2020-06-07  
Registrant:
Jelmer Vernooij
Release registered:
2020-06-08
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
45 Jelmer Vernooij, 3 Martin Packman, 1 Neil Martinsen-Burrell
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
1 Won't Fix, 15 Triaged, 6 In Progress, 7 Fix Committed, 29 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon breezy-3.1.0.tar.gz (md5, sig) Release tarball 63
last downloaded 3 days ago
Total downloads: 63

Release notes 

Breezy 3.1.0 is fully compatible both locally and on the network with Bazaar
2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6 and 2.7 as well as Breezy 3.0, and can read
and write repositories generated by all previous versions.

Python 2 EOL'ed
***************

The 3.1 series will be the last Breezy release series that supports Python 2.7.
Release series 3.2 and later will only support Python 3.5 and later.

New command names
*****************

``brz init-repo`` has been renamed to ``brz init-shared-repo``
to emphasize that it creates
shared repositories rather than just any kind of repository.

``brz sprout`` is now an alias for ``brz branch``.

New Commands
************

A new ``brz land`` command can merge merge proposals
on Launchpad, GitHub or GitLab instances.

The ``brz patch`` command (previously bundled in bzrtools) can apply
patches to a tree.

The ``brz clone`` command can clone an entire local or remote control
directory, rather than just a single branch (as the ``brz branch`` command does).

Better detection of other version control systems
*************************************************

Breezy can now detect local Subversion, Fossil and Mercurial
repositories and notify the user about conversion
options.

It will also detect and inform about remote Mercurial, Fossil, CVS-Pserver and
Subversion repositories.

Nested Tree Support
*******************

This release improves support for by-reference nested trees in Breezy, both
in the Bazaar and Git formats.

Note that nested tree support is not complete yet, and commands for creating
nested trees are still hidden.

Improved Git support
********************

This release contains a large number of fixes for the Git support
in Breezy, both for crash fixes and performance.

There is also improved support for honoring more of the
standard Git configuration variables in e.g. ~/.gitconfig.

Repositories with Git submodules can now be imported into
Bazaar branches.

Changelog 

View the full changelog

External Compatibility Breaks
*****************************

.. These may require users to change the way they use Breezy.

* The ``brz init-repo`` command has been renamed to
  ``brz init-shared-repo`` to emphasize that it creates
  shared repositories rather than just any kind of repository.
  (Jelmer Vernooij)

New Features
************

.. New commands, options, etc that users may wish to try out.

* A new ``brz land`` command can merge merge proposals on Launchpad,
  GitHub and GitLab sites. (Jelmer Vernooij, #1816213)

* The 'patch' command is now bundled with brz.
  Imported from bzrtools by Aaron Bentley. (Jelmer Vernooij)

* The 'quilt' plugin, extracted from brz-debian, is now
  bundled. (Jelmer Vernooij)

* A new ``calculate_revnos`` configuration option (defaults to enabled)
  can be used to disable revno display for branch formats that
  do not natively store revnos. This speeds up ``brz log`` on
  the Samba git branch by 33%.
  (Jelmer Vernooij)

* Directly read mtab rather than using psutil when trying to figure out
  filesystem types. This removes a dependency that not all users may
  have installed and speeds up import time since psutil brings in
  various other modules. (Jelmer Vernooij)

* ``brz diff`` now has a --color argument that can write
  color diff output. This is based on the cdiff code in
  bzrtools by Aaron Bentley.
  (Jelmer Vernooij, #376594)

* Information about tree references can now be updated on remote
  branches. (Jelmer Vernooij)

* Warn the user when they attempt to use Breezy in a Subversion
  working copy. (Jelmer Vernooij)

* Add a basic Mercurial plugin that mentions that .hg repositories
  are unsupported when the user attempts to access one.
  (Jelmer Vernooij)

* The ``2a`` format now officially supports storing tree references.
  It always partially supported storing tree reference data,
  and would happily pull in tree reference data from other repository
  formats. (Jelmer Vernooij)

* A new ``fossil`` plugin has been added that warns users when they
  attempt to access Fossil repositories.
  (Jelmer Vernooij, #1848821)

* When pushing to Git repositories, symrefs are now followed.
  (Jelmer Vernooij, #1800393)

* New ``brz clone`` command, which clones everything under
  a control directory. I.e. all colocated branches, like
  ``git clone``. (Jelmer Vernooij, #831939)

* ``brz sprout`` is now an alias for ``brz branch``.
  (Jelmer Vernooij)

* ``brz branch`` now accepts a ``-b`` flag with the
  name of the colocated branch to sprout.
  (Jelmer Vernooij, #1869977)

* Add a ``breezy.__main__`` module so that
  ``python3 -m breezy`` works. (Jelmer Vernooij)

Improvements
************

.. Improvements to existing commands, especially improved performance
   or memory usage, or better results.

* A new ``--commit-message`` option has been added to
  ``brz propose``, for hosting sites that support it.
  (Jelmer Vernooij)

* Automatically upgrade to branch format 8 when setting branch references.
  (Jelmer Vernooij)

* The ``ssh`` configuration variable can be used to set the default
  SSH implementation. (Jelmer Vernooij, #650757)

* ``locks.steal_dead`` is now enabled by default.
  (Jelmer Vernooij, #220464)

* The substitution variables for the ``change_editor`` configuration
  option are now "{old_path}" and "{new_path}" rather than "@old_path" and
  "@new_path". The former is more consistent with the way substitutions
  work in other configuration options. The old syntax is still supported.
  (Jelmer Vernooij, #708718)

* The ``brz inventory`` command now accepts a ``--include-root``
  argument to show the tree root. (Jelmer Vernooij)

* Fix support for reading Git repositories over HTTP without
  a smart server. (Jelmer Vernooij)

* CVS pserver URLs now indicate that the pserver protocol is not
  supported. (Jelmer Vernooij)

* Git repositories with submodules can now be imported into 2a
  branches; submodules are converted to nested trees.
  (Jelmer Vernooij, #402814)

* Python 3 is now used by default to run scripts, etc. from the makefile.
  (Jelmer Vernooij)

* ``.git/config`` is now consulted to determine the users' identity
  for commits, and the gpg_signing_key. (Jelmer Vernooij)

* Ignore special files (fifos, block/character devices, sockets)
  when finding changes in Git working trees. (Jelmer Vernooij, #1857244)

* Parse error messages from stderr when a remote Git server
  hangs up. (Jelmer Vernooij)

Bug Fixes
*********

.. Fixes for situations where brz would previously crash or give incorrect
   or undesirable results.

* Print a sensible error message when conversion for an option fails
  (i.e. when a non-int is specified as the value for an integer
  parameter) (#237844, Jelmer Vernooij)

* Don't include timestamps in filenames when reporting on binary
  files in diff. (Jelmer Vernooij, #71307)

* Ignore UnknownFormatErrors when scanning for control directories.
  (Jelmer Vernooij, #468332)

* Fix fetching from remote git repositories in ``brz git-import``.
  (Jelmer Vernooij, #1836238)

* A new ``TreeEntry.is_unmodified`` method has added, which allows
  merge to check for unmodified files without relying
  on the .revision attribute that is not available for Git trees.
  This fixes LCA merges for Git repositories.
  (Jelmer Vernooij, #1826663)

* Fix passing of directories in specific_files to
  GitWorkingTree.iter_entries_by_dir(). (Jelmer Vernooij, #1844054)

* Fix ``brz diff --using`` when {old_path} and {new_path} are not
  specified in the template. (#1847915, Jelmer Vernooij)

* Ignore ghost tags when interacting with remote Git repositories.
  (Jelmer Vernooij)

* Fix ``setup_ui=False`` when initializing Breezy.
  (Jelmer Vernooij, #1852647)

* Fix backwards compatibility with Bazaar by supporting the
  $BZR_EMAIL variable. (Jelmer Vernooij, #1869178)

* Cope with non-ascii characters in Git signatures.
  (Jelmer Vernooij, #1869533)

* Fix use of ``proxy_bypass`` on Python 3.
  (Jelmer Vernooij, #1878698)

* Create $XDG_HOME_DIR if it does not exist.
  (Jelmer Vernooij)

Documentation
*************

.. Improved or updated documentation.

API Changes
***********

.. Changes that may require updates in plugins or other code that uses
   breezy.

* New ``Tree.get_transform`` method for getting a ``TreeTransform``
  object. (Jelmer Vernooij)

* The ``Tree.get_root_id`` method has been removed. Use
  ``Tree.path2id('')`` instead. (Jelmer Vernooij)

* ``Repository.find_branches`` now returns an iterator rather than a
  list. (Jelmer Vernooij, #413970)

* New ``Tree.get_nested_tree`` method for retrieving a nested tree.
  (Jelmer Vernooij)

* The ``ControlDirFormat.register_server_prober`` method has been removed.
  Instead, probers can now have a ``priority`` method to influence
  when they are run. (Jelmer Vernooij)

* New ``urlutils.strip_segment_parameters`` function for
  stripping segment parameters from a URL.
  (Jelmer Vernooij)

* ``Tree.id2path`` has a new optional argument ``recurse``,
  that determines whether it scans through nested trees.
  (Jelmer Vernooij)

* ``VersionedFiles.add_content`` can now be used to add
  content from ``ContentFactory`` objects.
  (Jelmer Vernooij)

0 blueprints and 58 bugs targeted

Bug report Importance Assignee Status
1832938 #1832938 consider using python3-unidiff for patch parsing 1 Undecided Jelmer Vernooij  4 Won't Fix
1072513 #1072513 log can show too few revs 3 High   7 Triaged
1804211 #1804211 walkdirs test fail when atime is slightly different 3 High Jelmer Vernooij  7 Triaged
30159 #30159 paths are always from root of branch 4 Medium   7 Triaged
59968 #59968 add should refuse bad filenames 4 Medium Jelmer Vernooij  7 Triaged
373719 #373719 bzr merge should handle patches 4 Medium Jelmer Vernooij  7 Triaged
419782 #419782 'bzr merge foo' does not honour 'bzr switch' lookup heuristic 4 Medium Jelmer Vernooij  7 Triaged
656694 #656694 should delete global is_quiet/is_verbose 4 Medium   7 Triaged
919227 #919227 reconfigure --colocated 4 Medium Jelmer Vernooij  7 Triaged
933178 #933178 switch doesn't find sibling branches when colocated 4 Medium Jelmer Vernooij  7 Triaged
1522916 #1522916 listdir testfails with LANG=fr_CH.UTF-8 4 Medium   7 Triaged
1702283 #1702283 "remote" functionality 4 Medium   7 Triaged
1714719 #1714719 breezy lacks a logo 4 Medium Martin Packman  7 Triaged
1833411 #1833411 git: make brz shelve work on git 4 Medium Jelmer Vernooij  7 Triaged
213718 #213718 Use bzr-pager by default 6 Wishlist   7 Triaged
215612 #215612 upload plugin should silently ignore deleted files on remote server 6 Wishlist   7 Triaged
318620 #318620 When merging two branches without common ancestry, Bazaar provides no means to map file IDs 3 High Jelmer Vernooij  8 In Progress
1698246 #1698246 warn when user is running out of ~/.bazaar rather than ~/.config/breezy 3 High Neil Martinsen-Burrell  8 In Progress
1800061 #1800061 drop roundtripping support in brz-git 3 High Jelmer Vernooij  8 In Progress
1760740 #1760740 git: rename tracking 4 Medium   8 In Progress
1807261 #1807261 Use scandir 4 Medium Jelmer Vernooij  8 In Progress
507529 #507529 [Wish] commit --amend (aka. recommit, related to uncommit) 5 Low Jelmer Vernooij  8 In Progress
1880132 #1880132 Breezy crashes on a change to submodule 3 High Jelmer Vernooij  9 Fix Committed
137407 #137407 messy error if BZR_HOME does not exist 4 Medium Martin Packman  9 Fix Committed
566276 #566276 can't tell whether bazaar wants to write a branch when opening it 4 Medium Jelmer Vernooij  9 Fix Committed
1708046 #1708046 rebase command 4 Medium Jelmer Vernooij  9 Fix Committed
1826296 #1826296 bundle a quilt plugin 4 Medium Jelmer Vernooij  9 Fix Committed
1881287 #1881287 crash creating a new package 4 Medium Jelmer Vernooij  9 Fix Committed
269095 #269095 bzr missing "cp" command for forking files /w history 6 Wishlist Jelmer Vernooij  9 Fix Committed
1836449 #1836449 breaks when unable to create cache directory 2 Critical Jelmer Vernooij  10 Fix Released
1844054 #1844054 brz revert fails 2 Critical Jelmer Vernooij  10 Fix Released
1873609 #1873609 brz push deletes commits in the git repo when there is a conflict 2 Critical Jelmer Vernooij  10 Fix Released
1880354 #1880354 diff shows fossils of old file when moved away and added 2 Critical Jelmer Vernooij  10 Fix Released
1800393 #1800393 follow symrefs when pushing 3 High Jelmer Vernooij  10 Fix Released
1836238 #1836238 git-import does not retrieve git repository 3 High Jelmer Vernooij  10 Fix Released
1852647 #1852647 setup_ui=False breaks 3 High Jelmer Vernooij  10 Fix Released
1857244 #1857244 Brz fails when a named socket is present in the repo directory 3 High Jelmer Vernooij  10 Fix Released
1869533 #1869533 Git GPG signatures can have non-ascii characters 3 High Jelmer Vernooij  10 Fix Released
1869977 #1869977 add -b option to branch 3 High Jelmer Vernooij  10 Fix Released
1878698 #1878698 AttributeError: module 'urllib' has no attribute 'proxy_bypass' 3 High Jelmer Vernooij  10 Fix Released
71307 #71307 cluttered output on diff of binary file 4 Medium Jelmer Vernooij  10 Fix Released
237844 #237844 bzr patch --strip crash on non integer argument 4 Medium Jelmer Vernooij  10 Fix Released
377243 #377243 bzr (linux) doesn't handle FAT's limitations (X-bit and symlinks) well. Should behave like on windows. 4 Medium Jelmer Vernooij  10 Fix Released
402814 #402814 Importing revisions with submodules is not supported 4 Medium Jelmer Vernooij  10 Fix Released
650757 #650757 Should be able to specify ssh client in configuration files 4 Medium Jelmer Vernooij  10 Fix Released
922724 #922724 enable 'locks.steal_dead' by default 4 Medium Jelmer Vernooij  10 Fix Released
1697799 #1697799 optional revision numbers 4 Medium   10 Fix Released
1816213 #1816213 land-merge-proposal command 4 Medium Jelmer Vernooij  10 Fix Released
1826663 #1826663 lca merges break on git trees 4 Medium Jelmer Vernooij  10 Fix Released
1847915 #1847915 brz diff --using does not work with colordiff 4 Medium Jelmer Vernooij  10 Fix Released
1848821 #1848821 detect fossil repositories 4 Medium Jelmer Vernooij  10 Fix Released
1869178 #1869178 Breezy ignores BZR_EMAIL environment variable 4 Medium Jelmer Vernooij  10 Fix Released
240550 #240550 win32utils.get_home_location used for .bzr.log is incorrect 5 Low Martin Packman  10 Fix Released
413970 #413970 qbzr needs repository.iter_branches method instead of find_branches 5 Low Jelmer Vernooij  10 Fix Released
708718 #708718 change_editor syntax is unique 5 Low Jelmer Vernooij  10 Fix Released
376594 #376594 Merge cdiff into diff 6 Wishlist Jelmer Vernooij  10 Fix Released
517174 #517174 git: support for, or better error message on specifying rsync-style git URL 6 Wishlist Jelmer Vernooij  10 Fix Released
831939 #831939 command for cloning bzrdir including *all* colocated branches 6 Wishlist Jelmer Vernooij  10 Fix Released
This milestone contains Public information
Everyone can see this information.