Creating an Account

First of all you'll need a launchpad account. You can create one over at .

SSH Keys

To upload code you will require an SSH key. This is so you can prove to launchpad/bazaar that you are who you say you are. If you don't already have one, here's how to make one.

Logged in under your own user account type the following into a console.

   ssh-keygen -t dsa

You will now be asked for a secret password. Choose one and press enter. Your key has now been generated. You can see it by typing.

   nano  ~/.ssh/

Note that in Linux, ~ is a shortcut for your homedir, given the example above, it's like typing

 nano /home/yourusername/.ssh/ 

Go to your launchpad profile now, and copy/paste the text from the file you opened in the section above, into the section marked Update SSH Keys. That's that bit done.

Saying Hello

Now you need to introduce yourself to bazaar.

   bzr whoami 'Your Name'

Note: don't forget <email@domain> the <> make a difference!

Creating a New Branch

To create a bazaar branch on your computer, navigate to the folder that contains you code, and type the following.

   bzr init

Managing Files and Folders

You now need to tell bazaar which files or folders within the branch you want to record changes to. For this example we have a branch folder called 'test', which contains the files 'hello.php', 'install.txt' and a sub folder called 'stuff'.

   bzr status

would return


You need to tell bazaar which files and folders you want to add to the system. You can do this by issuing the command:

   bzr add

This will add all of the files and folders in the current directory recursively.

You can also add files and folders individually.

   bzr add hello.php
      bzr add install.txt
      bzr add stuff

If 'stuff' contained any files, those files would be added too.

To remove a file (in this instance 'install.txt') you can either delete them the folder on your computer, or run

   bzr remove install.txt

Committing Code

When you have your code in a state that you want to upload then you need to run the commit command. This creates a revision and allows you to add a message regarding the changes you've made.

   bzr commit -m "added my first file"

You can also selectively commit specific files.

   bzr commit -m "added GPL licence info" install.txt

Uploading to Launchpad

Now that you've finished editing your code and getting it ready on your local computer, you'll want to upload it to launchpad.

   bzr push s

To break down that url a little more, Username is your Launchpad username, after the ~ you can then include either your launchpad username or a teamname, project is the name of the project in the launchpad url and branch is what you would like to call the branch.

Note that the project must be created in launchpad before you can publish to it. If you don't want to publish to a particular project, you can push to the +junk project instead

So in practice.

   bzr push s

would create a branch called 'development' in the 'ubuntu' project which can be edited by anyone in 'uber-dev-team'. The person who created this upload would have the username 'uberperson' on launchpad.

Give it a couple of minutes, and you should be able to see your files go live on the launchpad site.

This has been a quick overview. You can find a fuller tutorial here: