Warning: geek post about version control systems. But still… if you work with a computer and manage multiple versions of your stuff (renaming files and folder with numbers or dates) you’ll learn something useful in this post!
Today I read about Bazaar in a Free Software Magazine article and decided to take a look. Now… I’m simply hooked!
Ok, so what’s Bazaar after all? Bazaar is a Distributed Version Control System which… is NICE! I mean, really DAMN NICE! It simply works!
I’ve used CVS and Subversion while attending my CS degree but never have I or my close colleagues got to apply good version control practices. Branching? Tags? What are those?
Well, now I know it wasn’t all my fault! The tools didn’t help.
So… back to Bazaar! This tool is dead easy to work with and it’s online User Guide will get you going in no time!
The part I’m more excited about is that Bazaar supports lots of usage workflows! You can start off by managing your files locally, shift to peer-to-peer work and then to centralized development. You can mix these usage patterns at any point always using the same tool! So yeah… FANBOY!
Here’s a quickstart for those who are familiar with cvs/svn:
- Setting up a [shared] repository: bzr init-repo repository
- Create a project: bzr init project
- Add files and folders: bzr add
- Commit changes [locally]: bzr commit -m “commit message”
- Create a branch: bzr branch parent_branch new_branch
- Merge changes from parent branch: bzr merge
- Update parent branch with changes made on the current branch: bzr push parent_branch
Some [subjective] basics:
- Branch = Project
- Any branches contained within a repository’s folder hierarchy “share” that repository, otherwise: Branch=Project=Repository (important for disk usage)
- Working with local repositories is the same as working with remote ones!
So in the commands I described above you can swap “branch|folder” references by remote locations and it will work as expected! Really! It will!
Almost forgot! The only thing you need to share a repository with others is a shared filesystem to put the files on (ftp/sftp/network share). Bye bye svnserve!
So what are you waiting for? Try it out! ![]()

I personally love bazaar as well. Having tried the other two hot dvcs’s (git and hg) I keep coming back to bzr, it just feels more natural to me for some reason.
But anyway just a correction, you have an error on your create a branch line. It should read:
Create a branch: bzr branch parent_branch new_branch
Thanks!
Just fixed it! 