April 30, 2009 · all, linux, science, writing

Using Bazaar version control system for my Ph.D. Thesis

I wrote my last paper in LaTeX and the submitted file was named 'paper_v26'. Various other files with similar names are floating around and it is a chore to keep up with which is the latest version when they are split between two computers and three operating systems. For my thesis I decided to make things easier. I tried using subversion. I really did. But it just wasn't doing it for me. So I tried Bazaar and got it to work intuitively in just a few minutes. So that's what I'm going to start using now. To help get you (and me) started, here's a distilled version of this tutorial and this user guide). Requirements for my setup: 1) unfrightened by the command line; 2) SSH daemon running on central repository host.

Briefly, the way it works is that you set up a central repository for your files, preferably on some computer that is connected to the internet all the time, even better if it has a static domain name. Into this repository you place the files you want to be version controlled. This works best for plain text files (like LaTeX source files) because it is simple to compare versions if necessary, but it will also work for binary files like OpenOffice documents (which have built-in version control, if you didn't know) and images. If you are working on the computer with the central repository, great, just make sure to update the files each time before you work on them and commit them each time you are done. You could probably write a cron job to do this for you if you are liable to forget. If you are working on a different computer, you just have to ask the central repository for the files and it will give you the latest versions. After you edit them you have to commit the changes to a local repository, which can then be merged with the central repository.

To get started:

Some further usage, much of which is intuitive because it works just like regular unix commands:

← All posts