What is Bazaar and how do I use it?

I wanted to get a program, which is installed via bzr.

I have successfully installed bzr, but it asks me to authenticate (despite that I`m logged in to Launchpad). Bzr help seems to be oriented towards developers, and says nothing about logging in.

How should a non-technical user use it? Is there a GUI?


Solution 1:

Bazaar is a version control system, like git or svn. It used by developers to help collaborate on a project. If your using bzr to download a program it means your getting source code which you will need to compile. Yes there is a gui in the software centre but I think the command line would be simpler.

What is the program you are trying to get and what's the bzr branch called?

See: http://en.wikipedia.org/wiki/Revision_control

Solution 2:

Since all you want is to get the program, you don't need to login with Bazaar or within Launchpad in your browser (and Bazaar doesn't (have the means to) know about this!).

Bazaar is a program that will get the (source code of the) program you want, and all the files (and steps, on README file) you need to get the program working.

There is a graphic front-end for Bazaar. It is called Bazaar Explorer. To read more about it see:

  • http://doc.bazaar.canonical.com/explorer/en/documentation.html

enter image description here


Steps you need to do now (really easy):

  • create some directory to put files in (example: /home/you/fbuntu)

  • in a terminal, change to that folder (cd ~/fbuntu)

  • and then do the bzr command (bzr branch lp:fbuntu) --> it will warn you about Launchpad ID, but do not worry, you don't need it to get the program working! It will download all the files, and once it's done, you can open them normally.

Solution 3:

If all you care about is getting a copy of the code, it's pretty simple:

bzr branch branch_url

For example, if you wanted the trunk branch for my hypothetical project "foo", you'd do:

bzr branch lp:~scott.severance/foo/trunk

Solution 4:

Launchpad allows you to keep a branch of of your code on your public repository like how it is on github(the term used is clone).

Logging in to Launchpad with helps pushing the code into one's own public repository in launchpad.net.

To login run bzr launchpad-login launchpad-id .

To push code into your own repository run bzr push lp:~launchpad-id/projectname/trunk

The bzr equivalent of git clone is bzr branch lp:projectname

edit: adding cmdline for branching

Solution 5:

As far as I know and use Bazaar, it is meant for development use, to upload, download, manage versions of codes you are working on yourself or with a group of developers. Bazaar, abbreviated to bzr, is a client-side application that connects to Launchpad, where codes are stored and viewable by all.

You can learn basics about Bazaar on this short tutorial.

Launchpad is a platform created and managed by Canonical, the organisation behind Ubuntu.

If you are looking at downloading usable programs (as with the Ubuntu Software Centre), then you should be using apt instead. See man apt in your terminal for more info.

If however you are looking at downloading code to compile it yourself (how the compiling is done is specific to the code) then you can use Bazaar as explained in the doc:

>>> bzr branch lp:name-of-branch-you-wish-to-copy ~/path/to/copy/to

or

>>> mkdir ~/path/to/copy/code/to
>>> cd ~/path/to/copy/code/to
>>> bzr init
>>> bzr pull lp:name-of-branch-you-wish-to-copy

It is asking to log-in on Launchpad at this point indeed and I don't know if there is a way around that. Anyway, a Launchpad account is always a good thing if you need to ask questions or report bugs to your favorite softwares hosted there. You will need to register your Launchpad account to bzr before you are able to perform branching.

NB: the pull command will be better than the branch command if you need to update to the latest version, branch will create a copy of the existing branch on launchpad only and subsequent use of this command will create confusion imo. Subsequent updates of the code you downloaded--if new versions are published--is done with:

>>> cd ~/path/to/copy/code/to
>>> bzr pull lp:name-of-branch-you-wish-to-copy