SlideShare a Scribd company logo
1 of 35
Download to read offline
Bazaar Version Control
Stuart Colville and Andrew Phillipo
X
Version Control Software
A way to keep a multiple revisions of a single
resource without creating copies

Undo either short or long term

Audit-trail of who did what and when

Access to details of why a change was made

Tools to help teams of developers work on a single
code base
History of Version Control Systems



 “Those who cannot remember the past are
 condemned to repeat it.” - George Santanya
SCCS - Source Code Control System
The first Version Control System, built during the
70s

Was dominant until RCS was released

SCCS had no concept of branching

Internal file format is still used today by Bitkeeper
and TeamWare

Tools still available to access the SCCS format
RCS - Revision Control System


Built During the 80s as “a better SCCS”

Only knows about revisions of single files

Supports branching, badly

“RCS automates the storing, retrieval, logging,
identification, and merging of revisions.”
- GNU RCS homepage
CVS - Concurrent Versioning System

Originally based upon RCS (for managing sets of files/projects) in
the late 80s, by Dick Grune and later rewritten by Brian Berliner

Only files are versioned, no symlinks or directories

No direct moving/renaming capability

Branching and merging can be a world of pain

Allows control over who can commit

Stable, well supported infrastructure and tools
HTTP://FLICKR.COM/PHOTOS/EECUE/91518838/
SVN - Subversion
Project start by collab.net in 2000

Built to improve on CVS

Atomic commits

Allows renaming/moving of assets

Language bindings for all common programming
languages
What do you look for in a
revision control system?
Stability

Easy to use

Doesn’t get in the way of me developing my stuff

Flexibility

Extensible
Introduction to Bazaar
Easy to branch and smarter merging

First-class renaming capabilities

No server software needed - “Batteries included”

Designed with usability, ease of use in mind

Cross platform: Linux, BSD, OSX, Windows

Flexible and extensible, with a full plug-in system
BAZAAR DOESN’T
GET IN THE WAY
Bazaar Workflows
Workflows: Solo
As simple as pick a directory and tell bazaar to
start versioning it

No server/database setup

Sharing with other developers is easy, should it be
needed

Let’s look at an example...
Set-up a versioned dir
   $ cd ~/bazaar/demo
   $ bzr init


~/bazaar/demo is now set-up to be
versioned
Let’s add a file
$ vim test.css
$ bzr add
Let’s add a file
$ vim test.css
$ bzr add
added test.css
First commit
$ bzr commit -m “my first
commit”
First commit
$ bzr commit -m “my first
commit”
added test.css
Committed revision 1.
Workflows: Partner
Workflows: Centralised
Workflows: Local Commit
Workflows: Shared
Workflows: Gatekeeper
Workflows: PQM
Why use Distributed VCS in tandem
with Centralised Version Control?

Company policy requires the use of a centralised
system

Development with centralised VCS is harder

A modern VCS brings more advanced merging

Reduction in developer suicide rate
Using Distributed VCS in tandem
with Centralised Version Control
Keeping history:

  Tailor is a tool that can convert between many
  different rcs http://progetti.arstecnica.it/tailor

  CVSPSImport converts directly from CVS
  http://bazaar-vcs.org/CVSPSImport

Ignore history and take current set of files

  Faster but obviously you lose access to older
  history
Launchpad.net

 Similar to sourceforge with 100% less CVS

 Tightly integrated with Bazaar - though import
 from other VCS is possible

 Removes the barriers to contributing open-
 source development

 Bug tracking, FAQ, Documentation and
 translation management
Launchpad Example

 Bazaar-email is a simple plug-in that uses the
 post-commit hooks in bazaar to mail diffs

 To contribute back to the project I raised bugs
 for trivial issues found using the plug-in

 A developer fixed one of these issues and
 submitted a branch linked to the bug

 To add this to trunk the maintainer can simply
 carry out a merge
Launchpad Bug fix process

Branch the trunk/main branch

Make + test the fix

Push the fix back to launchpad and associate it
with the bug number
bzr push sftp://user@bazaar.launchpad.net/~user/project/branch


The maintainer can then merge the fix into the
trunk
Adding a feature to a project

 Branch the trunk/main branch

 Merged pending bugfixes

 Develop the feature

 Push to launchpad
 bzr push sftp://user@bazaar.launchpad.net/~user/project/branch


 Raise merge request
Let’s hack on something
Conclusion

 Version control has come a long way

 De-centralisation is the future!

 First-class merging makes this all possible

 Development should never be constrained by
 the version control system you use
Questions?



That’s all folks!
http://bazaar-vcs.org/

More Related Content

What's hot (11)

4G
4G4G
4G
 
NoSQL-Database-Concepts
NoSQL-Database-ConceptsNoSQL-Database-Concepts
NoSQL-Database-Concepts
 
Version Control with SVN
Version Control with SVNVersion Control with SVN
Version Control with SVN
 
Join
JoinJoin
Join
 
ORACLE DBA Fresher Resume
ORACLE DBA Fresher ResumeORACLE DBA Fresher Resume
ORACLE DBA Fresher Resume
 
[Node js] frameworks de testes end to-end baseados em nodejs
[Node js] frameworks de testes end to-end baseados em nodejs [Node js] frameworks de testes end to-end baseados em nodejs
[Node js] frameworks de testes end to-end baseados em nodejs
 
Wireless usb
Wireless usbWireless usb
Wireless usb
 
5g ppt new
5g ppt new5g ppt new
5g ppt new
 
Dealing with Merge Conflicts in Git
Dealing with Merge Conflicts in GitDealing with Merge Conflicts in Git
Dealing with Merge Conflicts in Git
 
GIT presentation
GIT presentationGIT presentation
GIT presentation
 
MySQL lecture
MySQL lectureMySQL lecture
MySQL lecture
 

Similar to De-centralised Version Control with Bazaar

JavaEdge 2008: Your next version control system
JavaEdge 2008: Your next version control systemJavaEdge 2008: Your next version control system
JavaEdge 2008: Your next version control systemGilad Garon
 
Intro To Version Control
Intro To Version ControlIntro To Version Control
Intro To Version Controlceardach
 
Version Control for mere and freelance mortals
Version Control for mere and freelance mortalsVersion Control for mere and freelance mortals
Version Control for mere and freelance mortalsEmma Jane Hogbin Westby
 
Care and feeding notes
Care and feeding notesCare and feeding notes
Care and feeding notesPerrin Harkins
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld PresentationDan Hinojosa
 
Care and Feeding of Large Web Applications
Care and Feeding of Large Web ApplicationsCare and Feeding of Large Web Applications
Care and Feeding of Large Web ApplicationsPerrin Harkins
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio Fumarola
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best PracticesAshraf Fouad
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP DevelopersLorna Mitchell
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopManuel Garcia
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipseMike Slinn
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Mandi Walls
 
Distributed Version Control (DVCS) With Mercurial
Distributed Version Control (DVCS) With MercurialDistributed Version Control (DVCS) With Mercurial
Distributed Version Control (DVCS) With MercurialTed Naleid
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated DeploymentMichael Peacock
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deploymentphpne
 
Professional deployment
Professional deploymentProfessional deployment
Professional deploymentIvelina Dimova
 
A glance at the Rust SWC
A glance at the Rust SWCA glance at the Rust SWC
A glance at the Rust SWCThien Ly
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIAndrey Karpov
 
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementIntroduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementPhilip Johnson
 

Similar to De-centralised Version Control with Bazaar (20)

JavaEdge 2008: Your next version control system
JavaEdge 2008: Your next version control systemJavaEdge 2008: Your next version control system
JavaEdge 2008: Your next version control system
 
Intro To Version Control
Intro To Version ControlIntro To Version Control
Intro To Version Control
 
Version Control for mere and freelance mortals
Version Control for mere and freelance mortalsVersion Control for mere and freelance mortals
Version Control for mere and freelance mortals
 
Care and feeding notes
Care and feeding notesCare and feeding notes
Care and feeding notes
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
 
Care and Feeding of Large Web Applications
Care and Feeding of Large Web ApplicationsCare and Feeding of Large Web Applications
Care and Feeding of Large Web Applications
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
 
Practical SVN for PHP Developers
Practical SVN for PHP DevelopersPractical SVN for PHP Developers
Practical SVN for PHP Developers
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipse
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
Distributed Version Control (DVCS) With Mercurial
Distributed Version Control (DVCS) With MercurialDistributed Version Control (DVCS) With Mercurial
Distributed Version Control (DVCS) With Mercurial
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deployment
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
 
Professional deployment
Professional deploymentProfessional deployment
Professional deployment
 
A glance at the Rust SWC
A glance at the Rust SWCA glance at the Rust SWC
A glance at the Rust SWC
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CI
 
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementIntroduction to Version Control and Configuration Management
Introduction to Version Control and Configuration Management
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

De-centralised Version Control with Bazaar

  • 1. Bazaar Version Control Stuart Colville and Andrew Phillipo
  • 2. X Version Control Software A way to keep a multiple revisions of a single resource without creating copies Undo either short or long term Audit-trail of who did what and when Access to details of why a change was made Tools to help teams of developers work on a single code base
  • 3. History of Version Control Systems “Those who cannot remember the past are condemned to repeat it.” - George Santanya
  • 4. SCCS - Source Code Control System The first Version Control System, built during the 70s Was dominant until RCS was released SCCS had no concept of branching Internal file format is still used today by Bitkeeper and TeamWare Tools still available to access the SCCS format
  • 5. RCS - Revision Control System Built During the 80s as “a better SCCS” Only knows about revisions of single files Supports branching, badly “RCS automates the storing, retrieval, logging, identification, and merging of revisions.” - GNU RCS homepage
  • 6. CVS - Concurrent Versioning System Originally based upon RCS (for managing sets of files/projects) in the late 80s, by Dick Grune and later rewritten by Brian Berliner Only files are versioned, no symlinks or directories No direct moving/renaming capability Branching and merging can be a world of pain Allows control over who can commit Stable, well supported infrastructure and tools
  • 8. SVN - Subversion Project start by collab.net in 2000 Built to improve on CVS Atomic commits Allows renaming/moving of assets Language bindings for all common programming languages
  • 9. What do you look for in a revision control system? Stability Easy to use Doesn’t get in the way of me developing my stuff Flexibility Extensible
  • 10. Introduction to Bazaar Easy to branch and smarter merging First-class renaming capabilities No server software needed - “Batteries included” Designed with usability, ease of use in mind Cross platform: Linux, BSD, OSX, Windows Flexible and extensible, with a full plug-in system
  • 13. Workflows: Solo As simple as pick a directory and tell bazaar to start versioning it No server/database setup Sharing with other developers is easy, should it be needed Let’s look at an example...
  • 14. Set-up a versioned dir $ cd ~/bazaar/demo $ bzr init ~/bazaar/demo is now set-up to be versioned
  • 15. Let’s add a file $ vim test.css $ bzr add
  • 16. Let’s add a file $ vim test.css $ bzr add added test.css
  • 17. First commit $ bzr commit -m “my first commit”
  • 18. First commit $ bzr commit -m “my first commit” added test.css Committed revision 1.
  • 25. Why use Distributed VCS in tandem with Centralised Version Control? Company policy requires the use of a centralised system Development with centralised VCS is harder A modern VCS brings more advanced merging Reduction in developer suicide rate
  • 26. Using Distributed VCS in tandem with Centralised Version Control Keeping history: Tailor is a tool that can convert between many different rcs http://progetti.arstecnica.it/tailor CVSPSImport converts directly from CVS http://bazaar-vcs.org/CVSPSImport Ignore history and take current set of files Faster but obviously you lose access to older history
  • 27.
  • 28. Launchpad.net Similar to sourceforge with 100% less CVS Tightly integrated with Bazaar - though import from other VCS is possible Removes the barriers to contributing open- source development Bug tracking, FAQ, Documentation and translation management
  • 29. Launchpad Example Bazaar-email is a simple plug-in that uses the post-commit hooks in bazaar to mail diffs To contribute back to the project I raised bugs for trivial issues found using the plug-in A developer fixed one of these issues and submitted a branch linked to the bug To add this to trunk the maintainer can simply carry out a merge
  • 30. Launchpad Bug fix process Branch the trunk/main branch Make + test the fix Push the fix back to launchpad and associate it with the bug number bzr push sftp://user@bazaar.launchpad.net/~user/project/branch The maintainer can then merge the fix into the trunk
  • 31. Adding a feature to a project Branch the trunk/main branch Merged pending bugfixes Develop the feature Push to launchpad bzr push sftp://user@bazaar.launchpad.net/~user/project/branch Raise merge request
  • 32.
  • 33. Let’s hack on something
  • 34. Conclusion Version control has come a long way De-centralisation is the future! First-class merging makes this all possible Development should never be constrained by the version control system you use