Monthly Archives: April 2008

Bazaar VS Subversion

A Bazaar repository check-out contains the complete revision history. This has the advantage that the check-out itself can act as a repository and the disadvantage of more network data transfer during initial check-out.

In Bazaar you cannot check-out subtrees of a repository. You always have to check-out the entire tree. This implies that Bazaar operations are more atomic than in Subversion. An additional nice touch is that in a Bazaar check-out there is a single .bzr directory at the tree root for VCS information, as opposed to Subversion where all subdirectories have a .svn subdirectory. In Subversion this makes it very annoying to do grep -r, sometimes.

In Subversion the handling of file moving/renaming operations is not very clever, for example if you make changes to a file and then try to rename it, Subversion will complain. Also, when renaming a directory, a directory with the old name still lingers there until you commit. In Bazaar there are no such weirdness.

My only complaint against Bazaar so far is that it’s not as verbose as Subversion, for example I don’t know the best way to determine the current revision number in a checked-out copy. Another thing is the output of status can be very inconvenient to read, for example when there are many unknown files.


Recently we installed a network drive. I mounted it as smbfs from a Linux system, but strangely after about an hour the mount fell apart and started to give me IO errors. An umount/mount temporarily fixed the problem but only for another hour.

Then I got this tip to mount it as cifs. Worked fantastic hurray!

rsync – copy with progress monitor

I always wanted to see the progress of a cp command. For example it can be quite frustrating when you copy huge files like VMware machines and the screen doesn’t show anything for long minutes or hours. I really should get my ass up and learn how to use rsync, but for the time being simply copying files with progress monitor is good enough.

These are two equivalent ways of recursively copying a directory.

rsync -av path/dir1/ path/dir1 –progress

rsync -av path/dir1 path –progress