Download project files

How do I verify a download?


3.1alpha1 release from the 3.1 series released 2020-05-20

Release information
Release notes:

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...

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)

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)

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)

Internals
*********

.. Major internal changes, unlikely to be visible to users or plugin
   developers, but interesting for brz developers.

Testing
*******

.. Fixes and changes that are only relevant to brz's test framework and
   suite. This can include new facilities for writing tests, fixes to
   spurious test failures and changes to the way things should be tested.

File Description Downloads
download icon breezy-3.1a1.tar.gz (md5, sig) Source tarball 12
last downloaded 24 hours ago
Total downloads: 12

3.0.2 release from the 3.0 series released 2019-11-18

Release information
Release notes:

brz 3.0.2 is the third release of ``Breezy``, a fork of Bazaar. For more
information, see our release announcement on the Bazaar mailing list and
README.

Changelog:

Bug Fixes
*********

 * Disable loading from entrypoints by default, since it can
   significantly slow down startup on some platforms.
   (Jelmer Vernooij, #1832868)

 * Don't fail when unable to write per-user ignore list due to
   one of the intermediate directories not existing
   (Jelmer Vernooij, #1851904)

 * Fix file graph operations on Git repositories.
   (Jelmer Vernooij, #1847913)

 * Allow running tests without launchpadlib installed.
   (Jelmer Vernooij, #1849988)

 * Fix compatibility with Python 3.8.
   (Jelmer Vernooij, Victor Stinner, #1844684)

Testing
*******

 * Fix bb.test_testament.TestTestament.test_testament_non_ascii
   when the host encoding is non-utf8.
   (Jelmer Vernooij, #1849986)

File Description Downloads
download icon breezy-3.0.2.tar.gz (md5, sig) Source tarball 397
last downloaded 24 hours ago
Total downloads: 397

3.0.1 release from the 3.0 series released 2019-06-15

Release information
Release notes:

brz 3.0.1 is the second release of ``Breezy``, a fork of Bazaar. For more
information, see our release announcement on the Bazaar mailing list and
README.

Changelog:

Bug Fixes
*********

* Fix compatibility with newer versions of Dulwich (>= 0.19.12).
  (Jelmer Vernooij)

* Fix a nasty corner case merging changes into a tree with changed
  symlinks when pushing from bzr into git.
  (Jelmer Vernooij)

* Fix installation on Windows. (Raoul Snyman, #1818947)

* Fix switching between branches while preserving uncommitted changes in git.
  (Jelmer Vernooij, #1820606)

* Return consist errors from ``Branch.get_revid`` and
  ``Repository.get_revid_for_revno`` when the revision
  number is invalid. (Jelmer Vernooij, #701953)

* Print full upgrade command to run when complaining about lack of
  support for tags. (Jelmer Vernooij, #163908)

* Refactor auto conflict handling and add a ``--auto`` flag
  to ``bzr resolve``. (Martin Packman, #688506)

File Description Downloads
download icon breezy-3.0.1.tar.gz (md5, sig) Source tarball 172
last downloaded 24 hours ago
Total downloads: 172

3.0.0 (Pelican) release from the 3.0 series released 2019-03-05

Release information
Release notes:

brz 3.0.0 is the first release of ``Breezy``, a fork of Bazaar. For more information, see our release announcement on the Bazaar mailing list and README.

Changelog:

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

 * The bzr command has been renamed to brz, to prevent clashes with upstream
   Bazaar.
   (Martin Packman, Jelmer Vernooij)

 * The --prefix/-p argument for ``brz diff`` now defaults to -p1 rather
   than -p0. (Jelmer Vernooij, #1695126)

 * The ``brz register-branch`` command from the Launchpad plugin has been
   removed, because it has not worked for at least five years: it relies on
   password authentication rather than SSO, the relevant systems no longer
   have firewall-level access to the outside world, and in general the
   Mirrored branch type is deprecated. Either just push the branch to
   Launchpad or use code imports instead
   (https://help.launchpad.net/VcsImports).
   (Colin Watson, #254567, #483689)

 * brz no longer supports building the C extensions using Pyrex.
   Only Cython is supported. (Jelmer Vernooij)

 * Support for HTTP support using "pycurl" and the associated
   URL schemes "http+pycurl://" and "https+pycurl://" has been dropped.
   (Jelmer Vernooij, #82086, #377389, #122258, #516222, #545776, #1696602)

 * Support for medusa for FTP tests has been dropped, only
   pyftpdlib is now supported. (Jelmer Vernooij)

 * The deprecated ``brz get`` and ``brz clone`` commands have been
   removed. (Jelmer Vernooij)

 * The setting to ignore missing C extensions has been changed from
   ``ignore_missing_extensions=True`` to
   ``suppress_warnings=missing_extensions``. (Jelmer Vernooij)

 * Remove format names as options to ``brz init`` and ``brz
   init-repository``.. Now you must use ``brz init --format=...``.
   This simplifies ``brz init --help``.
   (Neil Martinsen-Burrell, #330494)

 * ``python-gpg`` is now used for checking GPG signatures rather than
   ``python-gpgme``. (Jelmer Vernooij, #1702308)

 * ``python-gpg`` is now used for signing commits, rather than shelling
   out to the gnupg command. The ``gpg_signing_command`` option has been
   removed. (Jelmer Vernooij, #847388)

 * The ``bzr.transform.orphan_policy`` configuration option
   has been renamed to ``transform.orphan_policy``.
   (Jelmer Vernooij)

 * Backslash (\) is no longer accepted as a path separator
   on platforms where it is not the default path separator,
   e.g. POSIX systems. This is so that filenames with backslashes
   in their name can be added explicitly. (#176263, #165151)

 * One-letter shortcuts for Ubuntu releases are no
   longer supported after 'ubuntu:'. Bazaar's mapping for
   one-letter distroseries had not been updated since natty.
   (Jelmer Vernooij)

 * The ``brz lp-mirror-branch`` subcommand has been removed.
   Please use the ``lp-force-branch-mirror`` command from
   the lptools package instead. (Jelmer Vernooij, #518807)

 * Up-to-date checking for Bazaar packaging branches is no
   longer performed, since there are no longer
   any automated imports. (Jelmer Vernooij)

 * ``setuptools`` is now required to build and install Breezy.
   (Jelmer Vernooij)

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

 * The 'bisect' plugin is now shipped with brz. (Jelmer Vernooij)

 * The 'fastimport' plugin is now bundled with Breezy.
   (Jelmer Vernooij)

 * The ``grep`` plugin has been merged into Breezy.
   (Parth Malwankar, Martin Packman, Jelmer Vernooij)

 * The 'stats' plugin is now bundled with Breezy.
   (Jelmer Vernooij)

 * The 'upload' plugin is now bundled with Breezy.
   (Jelmer Vernooij)

 * The 'cvs' and 'mtn' plugins are now bundled with Breezy.
   (Jelmer Vernooij)

 * The 'email' plugin is now bundled with Breezy.
   (Jelmer Vernooij)

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

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

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

 * The 'commitfromnews' plugin is now bundled and
   can be enabled by setting ``commit.template_from_files = NEWS``.
   (Jelmer Vernooij)

 * The 'darcs' plugin is now bundled.
   (Jelmer Vernooij)

 * The functionality from ``bzr-guess`` is now merged into Breezy.
   It will provide suggestions if the user typoes a command.
   (Jelmer Vernooij)

 * Support the creation of colocated branches in ``brz fast-import``.
   (Jelmer Vernooij, #1744626)

 * New ``lp-logout`` command to unset launchpad username.
   (Jelmer Vernooij, #349143)

 * Plugins can now be registered using the 'entrypoints' mechanism in
   setuptools. (Jelmer Vernooij, #1802647)

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

 * Doc generators now support the SOURCE_DATE_EPOCH environment
   variable (https://reproducible-builds.org/specs/source-date-epoch/).
   (Jelmer Vernooij)

 * The ``repodebug`` plugin is now bundled.
   (Jelmer Vernooij)

 * New ``brz cp`` command which copies files (but does not currently track
   history). (Jelmer Vernooij, start towards #269095)

 * HPSS calls for ``RevisionTree.archive`` and
   ``RevisionTree.annotate_iter`` have been added. (Jelmer Vernooij,
   #897781)

 * New ``lp+bzr://`` URL scheme for Bazaar-only branches on Launchpad.
   (Jelmer Vernooij)

 * Report colocated branch information in ``brz info``.
   (Jelmer Vernooij, #1803846)

Bug Fixes
*********

* Support Server Name Indication (SNI) when talking to https servers.
  Cherry-picked from lp:~vila/bzr/1089352-sni-support
  (Vincent Ladeuil, #1089352)

* The ``bisect`` command now works in non-``.bzr`` directories.
  (Jelmer Vernooij)

* When creating ``authentication.conf``, umask is now set so only the
  current user can read the file. Breezy warns if the file is
  accessible for other users when it starts.
  (Joke de Buhr, Jelmer Vernooij, #475501)

* Support ``brz commit -x`` in combination with iter_changes.
  (Jelmer Vernooij, #796582, #403811, #694946, #268135, #299879)

* Print a proper error when encountering ghost revisions in
  mainline in ``brz log``. (Jelmer Vernooij, #726466)

* Security fix: hostnames starting with a dash in bzr+ssh URLs
  are now filtered out when using a subprocess SSH client.
  .
  Thanks to Augie Fackler for reporting.
  (Jelmer Vernooij, #1710979)

* Mark all options as unicode. Allows using non-ASCII values in most
  options. (Jelmer Vernooij, #563692)

* Support automatic rename tracking into new directories.
  (mnn, #373319)

* Avoid writing directly to sys.stdout, but use self.outf in
  Command implementations instead. (#268573, B. Clausius)

* It is now possible to version files with backslashes in their name
  on platforms that support it. (Jelmer Vernooij, #81844)

* Support '0' markers in fastimport plugin. (Jelmer Vernooij, #1744615)

* Support adding/removing filenames that consist of just
  backslashes in where backslash is not the path separator.
  (Jelmer Vernooij, #176263, #165151)

* Report correct path in output of ``brz add``.
  (Brian de Alwis, Jelmer Vernooij, #1799482)

* Don't report empty directories in git trees as changes.
  (Jelmer Vernooij, #1804072)

* Fix support for 'brz ignore' in Git trees.
  (Jelmer Vernooij, #1804053)

* Print a clearer error when GPG can't be found.
  (Jelmer Vernooij, #1803898)

* Fix a corner case when moving files.
  (Jelmer Vernooij, #533152)

* Fix fastexport output to standard output when
  running under Python 3. (Jelmer Vernooij, #1805172)

* Restore absolute URLs in branch reference URLs. This is
  needed for backwards compatibility with Bazaar.
  (Jelmer Vernooij, #1803845)

* Don't report .git files as unknown files.
  (Jelmer Vernooij, Debian Bug #921240)

* Raise better error when path subsegments lack =.
  (Jelmer Vernooij, #891483)

* Display correct pull location argument in
  output of ``brz uncommit``.
  (Jelmer Vernooij, #386577)

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

 * Various documents have been updated to explain that Breezy is a fork
   of Bazaar.

 * Documentation translations into Japanese, Spanish and Russian have been
   removed since there are no current translators to update them.
   (Jelmer Vernooij)

 * A quick introduction about using Breezy with GitHub has been added.
   (Jelmer Vernooij, #1803867)

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

 * bzrlib has been renamed to breezy. (Martin Packman, Jelmer Vernooij)

 * Signature of ``load_tests`` used by ``TestLoader`` changed to be
   compatible with standard libarary unittest. (Martin Packman)

 * All previously deprecated functionality has been removed.
   (Jelmer Vernooij)

 * ``CommitBuilder.record_entry_contents`` has been removed.
   (Jelmer Vernooij, #731433, #604953)

 * Renamed ``breezy.delta.report_delta`` parameter ``filter=`` to
   ``predicate=``. (Martin Packman)

 * ``Branch.bzrdir``, ``Repository.bzrdir`` and ``WorkingTree.bzrdir``
   have been renamed to ``Branch.controldir``, ``Repository.controldir``
   and ``WorkingTree.controldir``, respectively.
   (Jelmer Vernooij, #1695774)

 * ``BzrBranch`` and the various bzr branch format implementations
   have been moved to ``breezy.bzr``. (Jelmer Vernooij)

 * ``MetaDirBranchFormatFactory`` has been removed.
   Use lazy registration on ``breezy.branch.format_registry``
   instead. (Jelmer Vernooij)

 * ``breezy.bzrdir.format_registry`` has been removed; use
   ``breezy.controldir.format_registry`` instead.
   (Jelmer Vernooij)

 * ``breezy.api`` has been removed. (Jelmer Vernooij, #742192)

 * ``ControlDir.find_bzrdirs`` has been renamed to
   ``ControlDir.find_controldirs``. (Jelmer Vernooij)

 * ``Repository.get_revisions`` no longer accepts ``None`` as
   argument. (Jelmer Vernooij)

 * A new ``Repository.iter_revisions`` method has been added.
   (Jelmer Vernooij)

 * A new ``WorkingTreeFormat.supports_setting_file_ids`` property
   has been added that can be set to False to indicate a working tree
   doesn't support e.g. passing a file_id into ``WorkingTree.mkdir``.
   (Jelmer Vernooij, #1707533)

 * A new ``RepositoryFormat.supports_setting_revision_ids`` property
   has been added that can be set to False to indicate a repository
   doesn't support passing revision ids to ``CommitBuilder.commit``.
   (Jelmer Vernooij)

 * A new ``RepositoryFormat.supports_overriding_transport`` property
   has been added that can be set to False to indicate a repository
   doesn't support passing an alternative transport to
   ``RepositoryFormat.open``.
   (Jelmer Vernooij)

 * ``Repository.print_file`` and ``Branch.print_file`` have been removed.
   (Jelmer Vernooij)

 * Various ``lock_write`` and ``lock_read`` functions now return a
   context manager. (Jelmer Vernooij)

 * The ``BranchWriteLockResult.branch_token`` (returned by
   ``Branch.lock_write``) has been renamed to
   ``BranchWriteLockResult.token``. (Jelmer Vernooij)

 * ``breezy.decorators.needs_write_lock``,
   ``breezy.decorators.needs_read_lock`` and
   ``breezy.mutabletree.needs_tree_write_lock`` have been deprecated.
   Instead, use the context managers returned by ``.lock_write``,
   ``.lock_read`` and ``.lock_tree_write`` respectively. (Jelmer Vernooij)

 * ``Tree`` methods now take a ``path`` as primary key argument, rather
   than a ``file_id``. ``file_id`` is still present as optional argument
   for most functions, and can be specified to speed up lookups.
   (Jelmer Vernooij)

Internals
*********

.. Major internal changes, unlikely to be visible to users or plugin
   developers, but interesting for brz developers.

* Allow overriding of default HTTP headers by caller.
  (Jelmer Vernooij, #1753734)

Testing
*******

 * Allow /dev/null to be a symlink to a chardev. (Igo Pashev, #832257)

 * A test isolation issue in ``breezy.tests.test_ui`` was fixed,
   which caused ``output_encoding = iso-8859-1`` to be added to the
   users' bazaar.conf. (Jelmer Vernooij)

 * Newer versions of ``pyftpdlib`` are now supported for running FTP tests.
   (Jelmer Vernooij)

 * The ``--subunit`` argument for ``brz selftest`` has been renamed to
   ``--subunit1``, and a new argument ``--subunit2`` has been added that
   outputs subunit v2.
   (Jelmer Vernooij, #1699346, #661205)

 * Launchpad plugin tests no longer try to connect to production
   Launchpad. (Jelmer Vernooij, #723183)

 * Set the ``GPGHOME`` environment variable during testing, to prevent
   e.g. leaking keys into the users' GNUPG directory.
   (Jelmer Vernooij, #843885)

 * Allow some slack when comparing times.
   (Jelmer Vernooij, #1804121)

 * Fix a spuriously failing fastexport test due to dictionary
   ordering. (Jelmer Vernooij, #1808630)

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

3.0b1 release from the 3.0 series released 2019-02-02

File Description Downloads
download icon breezy-3.0b1.tar.gz (md5, sig) 3.0 beta 1 444
last downloaded 24 hours ago
Total downloads: 444

3.0a2 release from the 3.0 series released 2018-11-17

File Description Downloads
download icon breezy-3.0a2.tar.gz (md5, sig) 3.0 alpha 2 80
last downloaded 3 days ago
Total downloads: 80

3.0a1 release from the 3.0 series released 2018-09-15

File Description Downloads
download icon breezy-3.0a1.tar.gz (md5, sig) Source tarball 74
last downloaded 3 days ago
Total downloads: 74