SlideShare a Scribd company logo
1 of 20
Download to read offline
Bazaar Version Control
      http://bazaar-vcs.org
Why Bazaar?
• Lightweight and simple
• Python based thus x-platform
• Plugin architecture
• No dependancy on a centralised repo
• Copies of revisions locally and remotely
• Allows commits locally when offline
Set-up a versioned dir
    $ cd ~/bazaar
    $ bzr init demo


~/bazaar/demo is now set-up to be versioned
Let’s add a file
$ cd ~/bazaar/demo
$ vim test.css
$ bzr add
Let’s add a file
$ cd ~/bazaar/demo
$ 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.
Publish
Simply copy the directory to a webserver
Other people can take a branch by running:
$ bzr branch http://server.co.uk/branch/dir/
For read write share via SFTP.
Useful commands
bzr checkout - checks out branches.
bzr update - update the local files to match those in the repo.
bzr revert - reverts files back to a specific rev
bzr status - current status of modified, added and removed files
bzr log - the log of commits
bzr ignore - allows patterns of files to ignore .DS_Store!!
bzr uncommit - reverse a commit
bzr diff - provides a diff of revisions
Shared Repository
$ cd ~/bazaar/
$ bzr init-repo --no-trees sftp://server/path/to/
bzr/
$ bzr init sftp://server/path/to/bzr/bigmuffin
$ bzr checkout sftp://server/path/to/bzr/bigmuffin
remote
note: --no-trees prevents trees being created on
the remote repo.
Adding and committing
$ cp -R ~/projects/bigmuffin/* ~/bazaar/bigmuffin/
$ bzr add
$ bzr status
$ bzr commit -m “bigmuffin project files added”
Conflicts
A conflict is created when the merging algorithm cannot
make sense of the changes.
Should a conflict occur you will end up with several files
being created.
If the file with a conflict is style.css you will end up with:
styles.css
styles.css.BASE - The common base
styles.css.OTHER - The branch
styles.css.THIS - Your changes.
Resolving Conflicts
Compare styles.css.OTHER and
styles.css.THIS and manually rectify the
differences.
The merged file needs to be called styles.css
Make sure you delete styles.css.THIS
Then run:
$ bzr resolve file
Resolving Conflicts
Bazaar will automatically delete the other files
Macs have a really nice diff app for this which is included
with xcode.
It’s called FileMerge.
Branching & Merging
$ cd ~/bazaar/
$ bzr branch sftp://server/path/to/bzr/bigmuffin sftp://
server/path/to/bzr/myamazingfeature
$ bzr checkout sftp://server/path/to/bzr/
myamazingfeature amazingfeature
$ cd amazingfeature
$ cd ~/bazaar/bigmuffin
$ bzr merge ../amazingfeature
Plugins
Bazaar Email - a nice plugin that simply sends diffs of
commits to an email address of your choice.
Publish-bot - sends commit messages to irc
Commit selector - allows you to choose what files
you commit.
Points of interest
Mozilla took a look at bazaar for version control and
compared it with mecurial (http://www.selenic.com/
mercurial/wiki/) another Python based decentralised
VCS.
Their issue with bazaar was mainly around speed
but...
All of the points of speed have been a focus of the
Bazaar team since then and as a result subsequent
versions have increased dramtically in performance.
Points of interest
Bazaar is a canonical project the people behind
Ubuntu.
Launchpad.net is Canonical’s sourceforge. As a result
it’s file hosting is built around bazaar. Though a little
rough around the edges it shows promise.
Easter Egg
$ bzr rocks
Easter Egg
$ bzr rocks
It sure does!

More Related Content

Similar to Bazaar VCS Lightning Talk

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
 
De-centralised Version Control with Bazaar
De-centralised Version Control with BazaarDe-centralised Version Control with Bazaar
De-centralised Version Control with BazaarStuart Colville
 
Rails Engine | Modular application
Rails Engine | Modular applicationRails Engine | Modular application
Rails Engine | Modular applicationmirrec
 
How to Use the Command Line to Increase Speed of Development
How to Use the Command Line to Increase Speed of DevelopmentHow to Use the Command Line to Increase Speed of Development
How to Use the Command Line to Increase Speed of DevelopmentAcquia
 
Merb Slices
Merb SlicesMerb Slices
Merb Sliceshassox
 
WordPress Development Environments
WordPress Development Environments WordPress Development Environments
WordPress Development Environments Ohad Raz
 
Geoserver GIS Mapping Solution
Geoserver GIS Mapping SolutionGeoserver GIS Mapping Solution
Geoserver GIS Mapping SolutionKeshavSharma274
 
1- Learn Flexbox & CSS Grid / Environment setup
1- Learn Flexbox & CSS Grid / Environment setup1- Learn Flexbox & CSS Grid / Environment setup
1- Learn Flexbox & CSS Grid / Environment setupIn a Rocket
 
How to Contribute Code to MySQL?
How to Contribute Code to MySQL?How to Contribute Code to MySQL?
How to Contribute Code to MySQL?Thava Alagu
 
UI Realigning & Refactoring by Jina Bolton
UI Realigning & Refactoring by Jina BoltonUI Realigning & Refactoring by Jina Bolton
UI Realigning & Refactoring by Jina BoltonCodemotion
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with DockerDocker, Inc.
 
Getting Into Drupal 8 Configuration
Getting Into Drupal 8 ConfigurationGetting Into Drupal 8 Configuration
Getting Into Drupal 8 ConfigurationPhilip Norton
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOpsandersjanmyr
 
Embracing Distributed Version Control
Embracing Distributed Version ControlEmbracing Distributed Version Control
Embracing Distributed Version ControlNowell Strite
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipseMike Slinn
 

Similar to Bazaar VCS Lightning Talk (20)

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
 
Bazaar for Mere Mortals
Bazaar for Mere MortalsBazaar for Mere Mortals
Bazaar for Mere Mortals
 
Docker Compose Explained
Docker Compose ExplainedDocker Compose Explained
Docker Compose Explained
 
De-centralised Version Control with Bazaar
De-centralised Version Control with BazaarDe-centralised Version Control with Bazaar
De-centralised Version Control with Bazaar
 
Rails Engine | Modular application
Rails Engine | Modular applicationRails Engine | Modular application
Rails Engine | Modular application
 
How to Use the Command Line to Increase Speed of Development
How to Use the Command Line to Increase Speed of DevelopmentHow to Use the Command Line to Increase Speed of Development
How to Use the Command Line to Increase Speed of Development
 
Merb Slices
Merb SlicesMerb Slices
Merb Slices
 
WordPress Development Environments
WordPress Development Environments WordPress Development Environments
WordPress Development Environments
 
Version Control for Mere Mortals
Version Control for Mere MortalsVersion Control for Mere Mortals
Version Control for Mere Mortals
 
Geoserver GIS Mapping Solution
Geoserver GIS Mapping SolutionGeoserver GIS Mapping Solution
Geoserver GIS Mapping Solution
 
1- Learn Flexbox & CSS Grid / Environment setup
1- Learn Flexbox & CSS Grid / Environment setup1- Learn Flexbox & CSS Grid / Environment setup
1- Learn Flexbox & CSS Grid / Environment setup
 
How to Contribute Code to MySQL?
How to Contribute Code to MySQL?How to Contribute Code to MySQL?
How to Contribute Code to MySQL?
 
Git presentation
Git presentationGit presentation
Git presentation
 
UI Realigning & Refactoring by Jina Bolton
UI Realigning & Refactoring by Jina BoltonUI Realigning & Refactoring by Jina Bolton
UI Realigning & Refactoring by Jina Bolton
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with Docker
 
Getting Into Drupal 8 Configuration
Getting Into Drupal 8 ConfigurationGetting Into Drupal 8 Configuration
Getting Into Drupal 8 Configuration
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOps
 
Embracing Distributed Version Control
Embracing Distributed Version ControlEmbracing Distributed Version Control
Embracing Distributed Version Control
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipse
 

Recently uploaded

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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 RobisonAnna Loughnan Colquhoun
 
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?Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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 FresherRemote DBA Services
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
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?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Bazaar VCS Lightning Talk

  • 1. Bazaar Version Control http://bazaar-vcs.org
  • 2. Why Bazaar? • Lightweight and simple • Python based thus x-platform • Plugin architecture • No dependancy on a centralised repo • Copies of revisions locally and remotely • Allows commits locally when offline
  • 3. Set-up a versioned dir $ cd ~/bazaar $ bzr init demo ~/bazaar/demo is now set-up to be versioned
  • 4. Let’s add a file $ cd ~/bazaar/demo $ vim test.css $ bzr add
  • 5. Let’s add a file $ cd ~/bazaar/demo $ vim test.css $ bzr add added test.css
  • 6. First commit $ bzr commit -m “my first commit”
  • 7. First commit $ bzr commit -m “my first commit” added test.css Committed revision 1.
  • 8. Publish Simply copy the directory to a webserver Other people can take a branch by running: $ bzr branch http://server.co.uk/branch/dir/ For read write share via SFTP.
  • 9. Useful commands bzr checkout - checks out branches. bzr update - update the local files to match those in the repo. bzr revert - reverts files back to a specific rev bzr status - current status of modified, added and removed files bzr log - the log of commits bzr ignore - allows patterns of files to ignore .DS_Store!! bzr uncommit - reverse a commit bzr diff - provides a diff of revisions
  • 10. Shared Repository $ cd ~/bazaar/ $ bzr init-repo --no-trees sftp://server/path/to/ bzr/ $ bzr init sftp://server/path/to/bzr/bigmuffin $ bzr checkout sftp://server/path/to/bzr/bigmuffin remote note: --no-trees prevents trees being created on the remote repo.
  • 11. Adding and committing $ cp -R ~/projects/bigmuffin/* ~/bazaar/bigmuffin/ $ bzr add $ bzr status $ bzr commit -m “bigmuffin project files added”
  • 12. Conflicts A conflict is created when the merging algorithm cannot make sense of the changes. Should a conflict occur you will end up with several files being created. If the file with a conflict is style.css you will end up with: styles.css styles.css.BASE - The common base styles.css.OTHER - The branch styles.css.THIS - Your changes.
  • 13. Resolving Conflicts Compare styles.css.OTHER and styles.css.THIS and manually rectify the differences. The merged file needs to be called styles.css Make sure you delete styles.css.THIS Then run: $ bzr resolve file
  • 14. Resolving Conflicts Bazaar will automatically delete the other files Macs have a really nice diff app for this which is included with xcode. It’s called FileMerge.
  • 15. Branching & Merging $ cd ~/bazaar/ $ bzr branch sftp://server/path/to/bzr/bigmuffin sftp:// server/path/to/bzr/myamazingfeature $ bzr checkout sftp://server/path/to/bzr/ myamazingfeature amazingfeature $ cd amazingfeature $ cd ~/bazaar/bigmuffin $ bzr merge ../amazingfeature
  • 16. Plugins Bazaar Email - a nice plugin that simply sends diffs of commits to an email address of your choice. Publish-bot - sends commit messages to irc Commit selector - allows you to choose what files you commit.
  • 17. Points of interest Mozilla took a look at bazaar for version control and compared it with mecurial (http://www.selenic.com/ mercurial/wiki/) another Python based decentralised VCS. Their issue with bazaar was mainly around speed but... All of the points of speed have been a focus of the Bazaar team since then and as a result subsequent versions have increased dramtically in performance.
  • 18. Points of interest Bazaar is a canonical project the people behind Ubuntu. Launchpad.net is Canonical’s sourceforge. As a result it’s file hosting is built around bazaar. Though a little rough around the edges it shows promise.
  • 20. Easter Egg $ bzr rocks It sure does!