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

bzr - The Bazaar source revision control system

on

  • 3,741 views

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

Slides of my talk about Bazaar at phpDay in Verona, Italy:
http://www.phpday.it/site/phpday-2009/calendario-conferenze/canale-developers/bzr-the-bazaar-source-revision-control-system/

Statistics

Views

Total Views
3,741
Views on SlideShare
3,711
Embed Views
30

Actions

Likes
2
Downloads
35
Comments
0

5 Embeds 30

http://www.phpday.it 15
http://www.slideshare.net 8
http://www.slideee.com 5
http://www.linkedin.com 1
https://www.linkedin.com 1

Accessibility

Categories

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.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
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 <lenz@grimmer.com>
  • 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 ● http://bazaar-vcs.org/ ● 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 ● http://launchpad.net/ ● 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: http://bazaar-vcs.org/ ● LaunchPad: https://launchpad.net ● #bzr on irc.freenode.net ● Planet Bazaar: http://planet.bazaar-vcs.org/ ● BundleBuggy: http://code.aaronbentley.com/bundlebuggy/ ● PQM (Patch Queue Management): https://launchpad.net/pqm
  • Q&A Questions, Comments?
  • Thank you! Lenz Grimmer <lenz@grimmer.com> http://www.lenzg.net/
  • bzr vs. git (biased) ● http://bazaar-vcs.org/BzrVsGit ● 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