Bazaar (bzr) howto - Creating your own branch01 Sep 2007
I have been learning a bit of Mono over the last couple of months and yesterday I decided that I wanted my code in a verison control system. The choice fell on Bazaar for various reasons which is unimportant and uninteresting at this point. Right now I just wanna write down how I did :D
First off you tell Bazaar who you are with:
bzr whoami "Jacob Emcken "
To test it is set correct just type:
bzr whoami Jacob Emcken
For the sake of it, lets imagine my project I want to version control is called
Starfire. Go to the directory with the project and initialze the directory as a Bazaar branch:
cd Projects/Starfire bzr init
Within that directory a new directory called
.bzr will be created:
ls -la drwxr-xr-x 5 je je 4096 2007-09-01 23:56 . drwxr-xr-x 3 je je 4096 2007-09-01 23:37 .. drwxr-xr-x 6 je je 4096 2007-09-01 23:37 .bzr drwxr-xr-x 2 je je 4096 2007-09-01 23:37 Glade -rw-r--r-- 1 je je 5342 2007-09-01 23:37 Starfire.cs -rw-r-xr-x 1 je je 5342 2007-09-01 23:40 Starfire.exe
Now tell Bazaar which files your branch consist of. In the following example we’ll tell Bazaar to ignore
Starfire.exe because we dont need the compiled file within our version control:
bzr ignore Starfire.exe bzr add . added Glade added Starfire.cs added Glade/gui.glade ignored 1 file(s). If you wish to add some of these files, please add them by name.
Ignored files is found in the file
.bzrignore, just try run
ls -la if you wont take my word for it :P
And finally to actual save the code in the branch repository commit your files:
bzr commit -m "Initial revision" added .bzrignore added Glade added Starfire.cs added Glade/gui.glade Committed revision 1.
By supplying commit with the parameter
-m you avoid a text editor popping up asking you for a commit message.
Now you can just hack away and you can check changes with:
Whenever you want to save you changes to the branch, just do a commit again. In the following example I change a line in Starfire.cs:
bzr commit -m "Fixed small typo" modified Starfire.cs Committed revision 2.
Now if you want to make your code available on the another machine ie. a server on the internet you can push you code out there through ssh (and ftp). Place yourself in the root directory of your project. The following example will push the branch out to my server (emcken.dk) where I have a ssh key so I dont need to write a password when logging in:
bzr push sftp://emcken.dk/~/development/Starfire
Now a copy of my branch is available in my home directory on my server (
As a last thing I would like my server to be central for my development. From the root directory of my project I tell Bazaar that my current branch is a checkout of the branch on my server:
bzr bind sftp://emcken.dk/~/development/Starfire
Now whenever I commit changes they will be committed to the server as well so I don’t need to push the copy of the branch out there every time. You can test the settings with:
My experience with version control systems are very limited to say the least which was why some of the above wasn’t obvious to me before I made a few tests and read the man pages. But the above was what I needed to get started and I hope that this might help someone else. You can find more inspiration here and here.
Bazaar (bzr) howto - Creating your own branch by Jacob Emcken is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.