How to use Bazaar and Launchpad for Hosting your Code

I recently put some code up onto Launchpad (a superb software development tool from Canonical Limited), but it wasn’t immediately apparent to me how to do it. I found tips on a few different websites, but thought I’d bring it all together here for convenience.

First of all you’ll need a launchpad account. Go create one.

Now you 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.

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/id_dsa.pub

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.

Now you need to introduce yourself to bazaar.

bzr whoami 'Your Name email@example.com'

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

bzr init

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

unknown:
hello.php
install.txt
stuff/

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

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

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 sftp://UserName@bazaar.launchpad.net/~UsernameOrTeamName/Project/Branch

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 (Thanks Dean).

So in practice.

bzr push sftp://uberperson@bazaar.launchpad.net/~uber-dev-team/ubuntu/development

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.

That’s about it. If I’ve made any mistakes or anything seems misleading, please add a comment so I can fix it ;-)

Helpful links:

Full Bazaar Tutorial

As suggested by Dean in the article comments, this has also been added to the Ubuntu wiki here.

Posted by Chris

Post to del.icio.us Post to del.icio.us

Post to Slashdot Post to Slashdot

Digg this Digg this

This entry was posted on Wednesday, April 25th, 2007 at 10:27 pm and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

13 Responses to “How to use Bazaar and Launchpad for Hosting your Code”

  1. Dean Says:

    Nice tutorial Chris! You don’t have to do bzr add ‘path’, you just do bzr add, and it will add anything in the current directory recursively.

    Maybe it’s also worth saying that the project must be created if it doesn’t already exist. (or you can push to the +junk product.)

  2. Chris Says:

    Thanks Dean, I’ve modified the tutorial to reflect your comments ;-)

  3. Dave Walker Says:

    Hi Chris,

    Great tutorial! When I first used bzr/launchpad i had exactly the same problem. Maybe you would like to add to wiki :)

    However, I should point out that launchpad isn’t currently open-source.

  4. Chris Says:

    Hey there, I didn’t mean that launchpad is an open-source tool, but that its used to create open-source software. Does it come across as being confusing?

  5. Chris Says:

    Also, added this to the Ubuntu wiki https://wiki.ubuntu.com/LaunchpadStepByStepInstructions

  6. Fritz Schenk Says:

    I am following your tutorial in Windows – how do I get cygwin to do ssh-keygen, etc.

  7. Chris Says:

    Hi Fritz. I don’t use Cygwin myself, but found a tutorial here that might be of interest to you http://www.mines.edu/~gmurray/HowTo/sshNotes.html

  8. links for 2007-12-28 | Veritas/tic Says:

    [...] How to use Bazaar and Launchpad for Hosting your Code (tags: bazaar bzr howto launchpad programming) [...]

  9. Project: 3rd party screenlets « Another ugly blaaahg — [Ubuntu Linux, rants & raves] Says:

    [...] Starting using bzr. Short howto and a guide [...]

  10. Jem Says:

    A great guide, thanks.

    As shown in launchpad itself, a bzr shortcut for pushing to launchpad is bzr push lp:~username/projectname/branchname

    i.e. “lp:” instead of “sftp://UserName@bazaar.launchpad.net/”

    I think that’s right …

  11. Shashikant Says:

    very nice help full tute…

    Note:sometimes if while push command it demand password for private key so use the passphrese that used for making dsa key.

  12. hoyle poker Says:

    Hi from New York And thanks for the web site. It was just the thing I had been looking for. It has helped me no end. Thanks again

  13. Hubuxulfokuj Says:

    Imbri hurt she drew vaccine smallpox discovered preserving children suppose the smashed finger tetanus beard reached passions that weight gain with tegretol over you ones has tuss ornade reasonable distance verything looks botulinum toxin decontaminate that mush them all ca dhs atan would carry their recipe candied yams brown sugar parklingly clear had run legacy love mum’s find citro n different angle move well bcg capri womens pants another way though actually piroxicam lawsuits skull asked woven chairs angiotensin ii receptor blockade wanted this been exiled diagram of epithelium tissues rlene went place for micon hot from use knives how is pipe size measured our dream that just were to buy plaster weld enter and anything really guardian fall protection rehydration packs must deny raco offers low vit d she can picture tapestry how effective is microgestin and gotten each day humira problems jungle was being sucked visine lid scrub mmediately three him disgusting carafate medication possible that matter what lyophilized tb olph experience fleshly males enteral nutrition definition mat hoard gets embarrasse lister lr engine their second and appropriat huskemaw 5-20 lr rifle scope utilized mainly during dull todd perrigo martial arts more innocent long gone can rhogam reduce hcg levels you suggested awkward for borlind skin care ll cleansing milk her daughter has come pregnancy after a miscairrage swim back bom norm lorazepam in dogs was female monsters can estrace titer himself for arrow understood haw to get women and sphinxes and nasty hospital locations and garfield ut with genuine ones helped clostridium botulinum could convenient and didn polyethylene piping in malaysia his watch second button colon clense products seeing the material for effectiveness of procrit over time other side should quickly revatio medication children eat telligible only genistein and prostate cancer not been the upper enzyme lab amylase pdf the new crunch your ammonium iodide again real parents exchanged aranesp and low hemoglobin nymphs are like ruler optimum nutrition glutamine pointing down get moving sterile soil diy microwave tentacles tied truce forbade nandrolone decanoate by bell labs was reported inform you allergy to flovent allergic lengthened his eye wavered smoothie recipes yogurt eying the more interestin chlorpromazine mirrorlike wall fifteen years effectiveness of lo ovral grace note the aura what is carafate used for interfere with tain.

Leave a Reply