0
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 / L...
DVCS: Concepts
●   No central instance
●   Every branch a full copy (incl. History)
●   Disconnected operation
●   Easy to...
DVCS: Benefits
● Empowering developers: local
  commits
● Encourage experimenting


● Easy collaboration: sharing and

  m...
DVCS: Benefits (2)

 ● Parallel development of new
   features
 ● Maintaining/tracking local

   modifications
 ● Faster: ...
Bazaar: Features
●   http://bazaar-vcs.org/
●   Multi-platform (Python)
●   Ease of use:
    5 commands to get started
●  ...
Bazaar: Features (2)
●   Centralized and decentralized workflows
●   Shared repositories to save space
●   No clutter: one...
Bazaar: Features (3)
●   Smart merging
●   Renamed files and directories retain
    history
●   Supports other VCSs (svn, ...
Launchpad
● http://launchpad.net/
● Project / code hosting


● Mailing lists / Answers (FAQs)


● Bug tracking / Blueprint...
Bazaar: Terminology
●   Revision
    ●   Snapshot of a tree of files/directories
    ●   Includes Metadata (date, author, ...
Bazaar: Terminology (cont.)
●   Branch
    ●   An ordered series of revisions
    ●   Can be split (cloned) and merged bac...
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
    ...
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
                          ...
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
                ...
Code deployment
Upstream project            Local deployment




                   Commit
  Upstream                     ...
Central Branch & Gatekeer
       Developer A                   Developer B




              Branch, Merge,
              ...
Related tools / Links
●   Project Home Page: http://bazaar-vcs.org/
●   LaunchPad: https://launchpad.net
●   #bzr on irc.f...
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 mo...
Upcoming SlideShare
Loading in...5
×

bzr - The Bazaar source revision control system

2,169

Published on

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,169
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
35
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "bzr - The Bazaar source revision control system"

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

    Clipping is a handy way to collect important slides you want to go back to later.

×