Friday, August 22, 2008

Using Bazaar with other people on Unix

I have been playing with setting up a repository and branches. I have had a few problems with permissions so I have come up with the following scheme:

Make sure all potential users belong to a common group e.g. mygroup, now do:
mkdir myrepository
chgrp mygroup myrepository
chmod g+ws myrepository
For each branch you or others want to create, do:
cd myrepository
bzr init abranch
chmod -R g+w abranch
There, now everyone should be able to branch/checkout and push/commit with no permissions problems.

In case you are interested, the g+ws above, changes the repository directory to allow members of the group to change it and also makes sure that any files created within that directory is owned by the same group: mygroup. Directories created within this directory will also have the 's' bit set.

Wednesday, August 20, 2008

Adding Bazaar and Mercurial to Mac OS X and Eclipse

This is simply a post on the steps for installing Bazaar and Mercurial on the Mac with the Eclipse plugins without have to search the web for the right pages and downloads.

Well, it's time to join the modern world and progress from Subversion to a Distributed Version Control System. I mainly use a Mac (Leopard) with Eclipse as my development environment but I also use Linux and Windows from time to time.

After looking around I decided to try Bazaar and Mercurial. I am not going to go into the pros and cons here of one over the other because I just want to cover some quick installation notes. If you want more information about them then check out this great comparison and read the reasons why someone choose Mercurial over Git and Bazaar.

I haven't quite made up my mind about which system to use yet so have installed both systems. I will do some things in one and some in the other to see how I like them.

Installing Bazaar on the Mac.
  1. Grab the latest disk image from Launchpad download area via this page http://bazaar-vcs.org/MacOSXBundle.
  2. Open the disk image and install by double clicking on the installer.
  3. Take a well earned rest.

Installing the Bazaar Eclipse Plugin

For the Eclipse plugin to work, you need to add a Bazaar plugin to your distribution
  1. Grab the bzr-xmloutput plugin
  2. Untar it, you will get a directory called bzr-xmloutput-0.x.x
  3. Rename the directory to xmloutput
  4. Move the directory to /Library/Python/2.5/site-packages/bzrlib/plugins (This is correct for Leopard, I am not sure about Tiger)
Ok, now for the Eclipse plugin itself
  1. Simply follow the instructions at the installation site and install the plugin using the normal installation process.
Here is a very nice tutorial for getting started with Bazaar.

Installing Mercurial on the Mac.
  1. Grab the latest Mac OS X package from http://mercurial.berkwood.com/.
  2. Open the package by double-clicking on it.
  3. Inside you will find a mac install, double-click and run it.
  4. Ok, Mercurial is now installed
Installing the Mercurial Eclipse Plugin
  1. You can give the Eclise update manager this site http://www.vectrace.com/eclipse-update. If you don't know how to do this then follow the plugin instructions.
  2. Done.
You can now read the Quick Start guide or read the fuller tutorial.