Breezy Release Notes
brz 3.1.0
| Codename: | Nirvana |
| 3.1.0: | 2020-05-21 |
External Compatibility Breaks
- 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
- 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
- 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
- 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
API Changes
- 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
Testing