Bazaar

This page was last modified on 20 June 2011, at 02:36. This page has been accessed 1,706 times.

From RBOSE

Jump to: navigation, search

80px-Bazaar_logo_%28software_product%29.svg.png

Bazaar (formerly Bazaar-NG, command line tool bzr) is a distributed revision control system sponsored by Canonical Ltd., designed to make it easier for anyone to contribute to free and open source software projects. It is written in the Python programming language, with packages for major GNU/Linux distributions, Mac OS X and MS Windows. Bazaar is free software and part of the GNU project.

Bazaar can be used by a single developer working on multiple branches of local content, or by teams collaborating across a network.


Contents

Features

Bazaar commands are quite similar to those found in CVS or Subversion, and a new project can be started and maintained without a remote repository server by invoking the bzr init command in a directory which a person wishes to version.[1]

In contrast to purely distributed version control systems which don't use a central server, Bazaar supports working with or without a central server. It is possible to use both methods at the same time with the same project. The websites Launchpad and Sourceforge provide free hosting service for projects managed with Bazaar.

Bazaar has support for working with some other revision control systems.[2] This allows users to branch from another system (such as Subversion[3]), make local changes and commit them into a Bazaar branch, and then later merge them back into the other system. Read-only access is also available for Git[4] and Mercurial.[5]. Bazaar also allows for interoperation with many other systems (including CVS, Darcs, Git, Perforce, Mercurial) by allowing to import/export the history.[6]

Bazaar supports files with names from the complete Unicode set. It also allows commit messages, committer names, etc. to be in Unicode.


Quick how-to

Copy existing repository

# make a copy of another branch
bzr branch (-r[number]) [branch]

Create a new repository

#initialize a new a new branch within current directory
bzr init

Revision number

# show revision number of a branch
bzr revno (branch)

Status

bzr status

Log

bzr log

Commit

# Commit changes into a new revision.
bzr commit

Revert changes

# Revert files to a previous revision.
bzr revert

Compare

# Compare the current working copy with revision [number] of a specific branch
bzr cdiff -r [number] --old=lp:zynergy

Pull

# Turn this branch into a mirror of another branch. (always from the binded branch)
bzr pull (-r[number])

Push

#Update a mirror of this branch.
bzr push 

Help

bzr help
bzr help commands

() - optional, [] - parameter's value

GUIs for bzr


References

  1. bzr man page
  2. http://bazaar-vcs.org/BzrForeignBranches
  3. http://bazaar-vcs.org/BzrForeignBranches/Subversion
  4. bzr git support plugin in Launchpad
  5. The Bazaar Hg Plugin in Launchpad
  6. fastimport documentation


External links

  1. wikipedia:Bazaar (software)
  2. Bazaar website
  3. History of Bazaar
  4. #bzr on freenode
  5. Illustrated Intro to Distributed Version Control