Home

GNU Arch (larch, tla & baz)


Arch logo

The version control system that I’ve used for two years after being a Perforce user for 5 years.

GNU Arch is a distributed VCS. It has some unique and interesting features among DVCS:

GNU Arch 1.x in its tla incarnation been superseded by Bazaar 1.×. Tom Lord has released pre-versions of GNU Arch 2.0 (now called revc) but development has stopped due to his financial difficulties. GNU Arch 1.3 is alive but barely, see the official site, Andy Tai is now the maintainer of it.

For my own small projects, it was fine. After tla 1.2 was forked by the Canonical folks for several reasons, I began using bazaar (known as baz) instead of tla; it was faster and had more features while still being compatible. The problems began when I started to look at it for my FreeBSD work. I then realised how fundamentally flawed it was in its design and how it could never hope to cope with big trees such as the FreeBSD ports tree.

The successor to Arch/baz is now being written by Martin Pool and some others working for Canonical, the financial backing of Ubuntu Linux, some of them used to be tla developers like M. Moy and James Blackwell. The software is now called Bazaar 2.0 (but still referenced as bzr or bazaar-ng). See more information on the Bazaar-vcs site.

Bzr is not stable yet and still suffers from heavy performance problems. The Canonical folks have been working hard to fix there (changing the on disk format for repositories several times in the process) but it still is slower compared to git and Mercurial (between 6x and 33x were recently mesuread by Bryan O’Sullivan).

Recentle, a Canonical-sponsored 3 days sprint was organised in London, UK between the bzr and the Mercurial folks. And it helped both teams I believe. They won’t converge or merge but there is already some cross-pollenization happening, bzr is now able to read Mercurial repositories.