RFC: revisit version control system choice

Bug #1334001 reported by Jeff Johnson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lsb
In Progress
Medium
Unassigned
Mandriva
In Progress
Wishlist

Bug Description

Ever since the original choice to implement distributed version control, there
have been questions about the chocie of bazaar. This filing is a reminder to
not treat that choice as a necessarily permanent one.

bazaar (bzr) has had a number of noticable shortcomings (not that other dvcs
systems don't have their own):

- performance is quite poor in competition. in particular the branching
operation is quite heavyweight, although there is a concept of lightweight
branches which helps a lot; over-the-internet operations can at times be
horrifyingly slow as bzr transfers so much data. For the latter problem, some
of the newer branch formats and a bzr smart server are needed - LSB do not
deploy either of these features, although they could (apparently there's been
some resistance to the smart servers)
- there's an evolving paradigm, caused by the growing uptake of git, that
branching is something you'd do often - you could almost paraphrase the open
source mantra to a dvcs one: "branch early, branch often". this doesn't really
make sense with bzr.
- bzr doesn't well support a single tree tracking multiple versions, this means
that we keep around multiple trees for different LSB versions of certain
projects (soon we can expect lsbspec to have devel, 5.0, 4.1, 4.0 and earlier
bzr trees). This is a pain for maintenance.
- as time passes, higher level tools are growing in importance, and bzr is
increasingly looking like a second-class citizen. there is no public code
repository that favors bzr, in contrast to, say github and the range easy to
deploy gitorious instances; there is Launchpad, but that's not intended for
others to deploy, only Canonical. We've explored doing some of the pieces of
those integrated systems as LSB add-on components, for example a code reviewing
tool, but here, too, bzr is poorly supported and has both compatibility and
performance problems. The available on-line repository viewer, loggerhead, is
of quite poor quality compared to other entrants which support other dvcs.
- the lack of a proper support environment means it's very hard for people to
share developmet branches - it wasn't a great system before but after the "LF
security rebuild" it's gotten even harder. The common model of "publish a
feature branch, then submit a merge request to the master branch" that is so
familiar to github users basically is not an option for LSB development.

bzr development has recently slowed down, and the development team have
revealed that Canonical now (maybe always) don't look on bazaar as an
independent project, rather as part of the infrastructure, also including
Launchpad, for maintaining/developing Ubuntu. bazaar by itself appears no
longer to be a development target: as long as it remains "good enough" for use
in this infrastructure, changes wil apparently mostly be bugfixes and
improvements in that infrastructure context.

At the moment, given lack of infrastructure resources and the fact that things
using bzr work "pretty much well enough" it's doubtful there's enough impetus
to make a change, but it's unlikely the situation will improve - instead the
gap to git-based (in particular) ecosystems will get ever larger.

Tags: bzr infra rpm vcs
Changed in mandriva:
importance: Unknown → Wishlist
status: Unknown → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.