bzr - The Bazaar source revision control system
Upcoming SlideShare
Loading in...5

bzr - The Bazaar source revision control system



Slides of my talk about Bazaar at phpDay in Verona, Italy:

Slides of my talk about Bazaar at phpDay in Verona, Italy:



Total Views
Slideshare-icon Views on SlideShare
Embed Views



5 Embeds 30 15 8 5 1 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    bzr - The Bazaar source revision control system bzr - The Bazaar source revision control system Presentation Transcript

    • bzr - The Bazaar source revision control system Lenz Grimmer <>
    • Agenda ● Introduction to DVCS ● Features of Bazaar ● Terminology ● Workflows, Commands, Examples ● Related Tools / Links
    • DVCS: Concepts ● No central instance ● Every branch a full copy (incl. History) ● Disconnected operation ● Easy to create new branches ● Merging of revisions from other repos ● Multi-Protocol support (http, SSH, SMTP, local filesystem)
    • DVCS: Benefits ● Empowering developers: local commits ● Encourage experimenting ● Easy collaboration: sharing and merging ● Patches don't bit-rot
    • DVCS: Benefits (2) ● Parallel development of new features ● Maintaining/tracking local modifications ● Faster: local operations vs. Network ● Every branch is a full backup
    • Bazaar: Features ● ● Multi-platform (Python) ● Ease of use: 5 commands to get started ● Command Aliases (builtin & user-defined) ● Well-documented ● Commandline help
    • Bazaar: Features (2) ● Centralized and decentralized workflows ● Shared repositories to save space ● No clutter: one single .bzr directory ● Various transport protocols (ssh, http, sftp, ftp, smtp) ● Extensive test suite included
    • Bazaar: Features (3) ● Smart merging ● Renamed files and directories retain history ● Supports other VCSs (svn, hg, git) ● Hooks and Scripts ● Plugins (e.g. GUI extensions) ● Unicode file names rd ● Many 3 -Party tools
    • Launchpad ● ● Project / code hosting ● Mailing lists / Answers (FAQs) ● Bug tracking / Blueprints ● Translations ● Tight integration with Bazaar
    • Bazaar: Terminology ● Revision ● Snapshot of a tree of files/directories ● Includes Metadata (date, author, comment, parent revisions) ● Can be exported ● Working Tree ● Version-controlled directory ● Contains editable files and directories
    • Bazaar: Terminology (cont.) ● Branch ● An ordered series of revisions ● Can be split (cloned) and merged back together ● Checkouts ● Repository ● A store of revisions ● Default: one repository/branch ● Shared repositories to save space and improve performance
    • General Syntax bzr [global opts] command [opts] [args]
    • Getting Help bzr help <command> bzr help commands bzr help topics
    • Solo Workflow ● Create project ● Commit changes ● Review/browse history ● Package release ● Apply new changes ● Rinse & Repeat
    • Initializing a Repository bzr init <directory>
    • Adding/Modifying Files bzr add <files> bzr diff <files>
    • Commiting Changes bzr commit <files> bzr gcommit bzr qcommit
    • Looking at revision history bzr log bzr diff bzr visualize
    • bzr visualize
    • Screenshot: bzr gannotate
    • Pair programming Create repository HackCommit Hack Commit Pull and merge Branch Push, pull, merge Developer A Developer B
    • Branching bzr branch FROM TO
    • Publishing changes bzr push bzr send
    • Retrieving updates bzr pull bzr merge bzr missing
    • Centralized Workflow Developer A Update/Merge Checkout Commit Developer B Central repository Commit Checkout
    • Code deployment Upstream project Local deployment Commit Upstream Live site project Push Merge Branch Hack
    • Central Branch & Gatekeer Developer A Developer B Branch, Merge, Pull Edit, Commit, Push Edit, Commit, Push Merge, Review Push Central repository Gatekeeper
    • Related tools / Links ● Project Home Page: ● LaunchPad: ● #bzr on ● Planet Bazaar: ● BundleBuggy: ● PQM (Patch Queue Management):
    • Q&A Questions, Comments?
    • Thank you! Lenz Grimmer <>
    • bzr vs. git (biased) ● ● Native Windows support and installer ● Direct support for more workflows ● Directories are branches, shared repositories ● Simpler revision objects ● No automatic merge & commit ● User-friendly UI, familiar commands ● Better asynchronous sharing using merge directives