SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Mehr von Lenz Grimmer

MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
Lenz Grimmer
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
Lenz Grimmer
 
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
Lenz Grimmer
 

Mehr von Lenz Grimmer (20)

Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
 
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
 
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
 
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
 
Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21
 
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
 
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
 
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
 
What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
How to build your own Quadrocopter
How to build your own QuadrocopterHow to build your own Quadrocopter
How to build your own Quadrocopter
 
What's new in MySQL 5.5?
What's new in MySQL 5.5?What's new in MySQL 5.5?
What's new in MySQL 5.5?
 
ZFS unter Linux
ZFS unter LinuxZFS unter Linux
ZFS unter Linux
 
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
 
Arbeiten in einer virtuellen Firma - MySQL
Arbeiten in einer virtuellen Firma - MySQLArbeiten in einer virtuellen Firma - MySQL
Arbeiten in einer virtuellen Firma - MySQL
 
Making MySQL Administration a Breeze - A Look Into a MySQL DBA's Toolchest
Making MySQL Administration a Breeze - A Look Into a MySQL DBA's ToolchestMaking MySQL Administration a Breeze - A Look Into a MySQL DBA's Toolchest
Making MySQL Administration a Breeze - A Look Into a MySQL DBA's Toolchest
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Working In A Virtual Community
Working In A Virtual CommunityWorking In A Virtual Community
Working In A Virtual Community
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

bzr - The Bazaar source revision control system

  • 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
  • 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