Add support for Breezy as a modern alternative to Bazaar.

Review Request #11687 — Created June 29, 2021 and submitted

Information

RBTools
release-2.0.x

Reviewers

Breezy is a modernization of Bazaar, designed to work with Python 3 and
to iterate on Bazaar's feature set. It's mostly a drop-in replacement,
but has a couple changes which matter to us:

  1. It supports Git, and that triggered some bad matching logic (fixed
    in https://reviews.reviewboard.org/r/11686/).

  2. Its generated diffs default to having old/ and new/ prefixes
    before filenames on the header lines, which Review Board doesn't
    expect.

This change implements support for Breezy by checking both bzr and
brz (the official Breezy command line tool name) and setting the
proper command to run for all interactions, along with setting a flag to
trigger different behaviors for diff building (to address change #2
above).

With this, we should have support for both Bazaar 2.7 (the final
version) and Breezy 3.2 (the latest version).

Unit tests pass on both Python 2 and 3 for Bazaar and Breezy.

Summary ID
Add support for Breezy as a modern alternative to Bazaar.
Breezy is a modernization of Bazaar, designed to work with Python 3 and to iterate on Bazaar's feature set. It's mostly a drop-in replacement, but has a few changes which matter to us: 1. It supports Git, and that triggered some bad matching logic (fixed in https://reviews.reviewboard.org/r/11686/). 2. Its generated diffs default to having `old/` and `new/` prefixes before filenames on the header lines, which Review Board doesn't expect. This change implements support for Breezy by checking both `bzr` and `brz` (the official Breezy command line tool name) and setting the proper command to run for all interactions, along with setting a flag to trigger different behaviors for diff building (to address change #2 above). With this, we should have support for both Bazaar 2.7 (the final version) and Breezy 3.2 (the latest version).
649a9a680c20fd3816bf556dc77c74f945d63a58
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-2.0.x (8d618db)