question about history of bzr

Aaron Bentley aaron.bentley at utoronto.ca
Thu Jul 13 18:41:13 BST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Alexander Belchenko wrote:
> I have a little question about history of bzr and relation to Bazaar
> 1.0. Does bzr have any common things with Bazaar 1.0?
> 
> I was start to look at bzr at the spring of 2005. I read some blog
> articles but never realized what the liaison between those two projects.
> 
> Can someone tell me short history about this, please?

In early 2004, Canonical used GNU Arch as a revision control control
system.  Then they began working on a fork of GNU Arch called Bazaar (baz).

In November 2004, Canonical held a baz code sprint.  Martin and I both
attended, as non-employees.  Martin was asked for advice on improving
the user-friendliness of baz, and he concluded that architecture changes
were required to make baz more user-friendly.  He started designing the
what he saw as the ideal system.  It was believed that we could refactor
baz into that system gradually.

Around January 2005, Martin began work on Bazaar-NG (bzr).  The plan was
that baz would incrementally adopt bzr's changes once proven.  Bazaar-NG
began to attract a following.

In the spring, John Meinel and I separately decided to stop working on
baz and focus on bzr.  I also began writing baz-import.

Later that year, baz was put into maintenance mode, and Robert Collins,
who had been leading the baz effort, began contributing heavily to bzr.

There are definitely commonalities between baz and bzr:
 * files are identified by file-id
 * revisions have globally unique identifiers
 * both support a repository-and-checkout workflow
 * both use diff3-style merges
 * dumb file tranports (http, sftp, ftp, filesystem)
 * neither support tags
 * both support GPG signing

There are also some significant differences
 * uncommit is illegal (and dangerous) in baz
 * baz is written in C
 * baz has poor error messages (an improvement over Arch, though)
 * baz doesn't support the self-contained branches that bzr makes on init.
 * baz requires caches (revision libraries, tree logs and Arch Cache)
for efficient  operation (and is slow even so).
 * baz branches are referred to by globally-unique identifiers, not
locations
 * baz branches typically do not have the complete revision-history.
Instead, they say "look at this other branch for old data".

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFEtoW40F+nu1YWqI0RAvZ5AJ9UFEXRwW8q6nEa3mVTqiQIrlfDsACffmrO
NRRc30AGMxU5SwLjxJ0AiYU=
=Smbw
-----END PGP SIGNATURE-----




More information about the bazaar mailing list