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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

bzr - The Bazaar source revision control system

2,119
views

Published on

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/

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,119
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
35
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. bzr - The Bazaar source revision control system Lenz Grimmer <lenz@grimmer.com>
  • 2. Agenda ● Introduction to DVCS ● Features of Bazaar ● Terminology ● Workflows, Commands, Examples ● Related Tools / Links
  • 3. 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)
  • 4. DVCS: Benefits ● Empowering developers: local commits ● Encourage experimenting ● Easy collaboration: sharing and merging ● Patches don't bit-rot
  • 5. DVCS: Benefits (2) ● Parallel development of new features ● Maintaining/tracking local modifications ● Faster: local operations vs. Network ● Every branch is a full backup
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. Launchpad ● http://launchpad.net/ ● Project / code hosting ● Mailing lists / Answers (FAQs) ● Bug tracking / Blueprints ● Translations ● Tight integration with Bazaar
  • 10. 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
  • 11. 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
  • 12. General Syntax bzr [global opts] command [opts] [args]
  • 13. Getting Help bzr help <command> bzr help commands bzr help topics
  • 14. Solo Workflow ● Create project ● Commit changes ● Review/browse history ● Package release ● Apply new changes ● Rinse & Repeat
  • 15. Initializing a Repository bzr init <directory>
  • 16. Adding/Modifying Files bzr add <files> bzr diff <files>
  • 17. Commiting Changes bzr commit <files> bzr gcommit bzr qcommit
  • 18. Looking at revision history bzr log bzr diff bzr visualize
  • 19. bzr visualize
  • 20. Screenshot: bzr gannotate
  • 21. Pair programming Create repository HackCommit Hack Commit Pull and merge Branch Push, pull, merge Developer A Developer B
  • 22. Branching bzr branch FROM TO
  • 23. Publishing changes bzr push bzr send
  • 24. Retrieving updates bzr pull bzr merge bzr missing
  • 25. Centralized Workflow Developer A Update/Merge Checkout Commit Developer B Central repository Commit Checkout
  • 26. Code deployment Upstream project Local deployment Commit Upstream Live site project Push Merge Branch Hack
  • 27. Central Branch & Gatekeer Developer A Developer B Branch, Merge, Pull Edit, Commit, Push Edit, Commit, Push Merge, Review Push Central repository Gatekeeper
  • 28. 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
  • 29. Q&A Questions, Comments?
  • 30. Thank you! Lenz Grimmer <lenz@grimmer.com> http://www.lenzg.net/
  • 31. 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