AccuRev (was "bazaar/mercurial meeting")
John Yates
jyates at netezza.com
Fri Jun 2 21:46:20 BST 2006
A bunch of unorganized thoughts because I do not have the
time to write something more polished.
I have been following various DRCS/DVC/... projects for a
couple years. I have been particularly impressed with
Martin's judgment and the pace of bzr, enough so to have
invested significant time talking it up as a contender for
Netezza's in-house effort to replace CVS. It was easy to
pooh-pooh PerForce, SVN, BitKeeper, etc. One unfamiliar
offering that some of our developers had used recently is
AccuRev. I assumed that it was just another commercial
offering in the traditional mould. Last Friday AccuRev
came in and gave us their pitch. Boy was I surprised!
Their opening slide took my breath away:
"AccuRev is uniquely solving the problems inherent in
large-scale software projects while providing a powerful
and easy to use interface and a conceptually simple
development model. Competing products miss the mark
either by not solving the hard problems or being too
complex for effective use."
David Leblang
Original Architect, IBM Rational® ClearCase®
I knew Dave at DEC and at Apollo Computer. I worked with
him on DSEE. I knew that he was now in semi-retirement.
Even so I know that he would not have countenanced such a
quote unless he really meant it.
(That same quote appears here on AccuRev's website:
http://www.accurev.com/quotes.html)
I have not seen Dave for a while so I googled a bit. According
to CMCrossroads he is a "technical advisor" to AccuRev:
http://www.cmcrossroads.com/cgi-bin/cmwiki/bin/view/CM/WhosWhoInSCM
Back to the AccuRev presentation...
It was not hard to follow their technology -- it bears many
similarities to recent DRCS efforts. In both my own mind,
and that of my colleagues, what sets AccuRev apart is focus
on modeling the processes within software development
organizations.
Bzr, hg, etc have a branch-centric view of the world and
provide a bunch of mechanisms for interacting with other
branches. And AccuRev has entirely comparable features.
But what AccuRev adds is a higher level understanding that
real world processes span branches. In providing a global
view of the world as a meaningfully related set of branches
AccuRev provides the building blocks to describe, model and
monitor the flows of changes between those branches.
Some may recall past posts where I have argued for an ability
to define project policies (eg filename case rules) and then
to have the system comply with / enforce those policies. In
the realm of branch policies AccuRev very much seems to have
that kind of functionality.
It was clear to me and all in attendance that, at least within
a commercial software engineering organization, given a choice
between support for distributed development and this integrated
support for a community of branches we would all choose the
latter.
So what does it lack? Well it is based on a single server.
So with projects like bzr and hg having so many similarities,
it is tantalizing to imagine a distributed AccuRev equivalent.
If you are interested in learning more AccuRev offers free
evaluation copies though you have to request an evaluation
registration key. I have confirmed that just installing
the Windows package (http://www.accurev.com/download.htm)
provides all of the documentation. I would expect that the
same holds for the other packages.
Re bzr vs hg...
To what do the projects aspire? Do they simply want to supplant
CVS and SVN in distributed / open source efforts. Or do their
ambitions extend to hoping to win over large parts of commercial
software development as well? If the latter then it is worth
contemplating what RCS capabilities will be most compelling /
enticing to commercial shops.
One way to avoid the trap of which project "wins" is to postulate
a new project with enough interesting work and unsolved problems
to keep both groups engaged. Perhaps a new effort could exhibit
fewer overlapping mechanisms (or at least more clearly orthogonal
concepts and terminology).
/john
(who will continue to use bzr for his personal projects)
More information about the bazaar
mailing list