0% found this document useful (0 votes)
30 views

Why You Should Be Using A Distributed Version Control System (DVCS) For Your Project

This document discusses the advantages of using a distributed version control system (DVCS) over a centralized system. It outlines some disadvantages of centralized systems like Subversion and CVS, such as requiring communication with a central repository for most operations. DVCS allows for disconnected operations, local commits, and easy branching and merging. It then provides an overview of different DVCS options - Bazaar, Git, and Mercurial - comparing their usage, hosting platforms, programming language, and example projects.

Uploaded by

Jerry Pascua
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Why You Should Be Using A Distributed Version Control System (DVCS) For Your Project

This document discusses the advantages of using a distributed version control system (DVCS) over a centralized system. It outlines some disadvantages of centralized systems like Subversion and CVS, such as requiring communication with a central repository for most operations. DVCS allows for disconnected operations, local commits, and easy branching and merging. It then provides an overview of different DVCS options - Bazaar, Git, and Mercurial - comparing their usage, hosting platforms, programming language, and example projects.

Uploaded by

Jerry Pascua
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Why you should be using a distributed version control system (DVCS) for your project

Lenz Grimmer <[email protected]> < http://lenzg.net/ | Twitter: @lenzgr 2009-12-03 SAPO Codebits | Lisbon | Portugal

Agenda
Disadvantages of the central approach DVCS Concepts and Advantages Overview: Bazaar, git, Mercurial

$ whoami

1998

2002

2008

2010?

Disadvantages of the centralized approach (e.g. Subversion and CVS)

Most operations require communication with the central repository

Checkpointing your work requires committing to the central repository

Branching and merging considered painful

Collaboration is hampered

DVCS: Concepts and Advantages

There is no central instance (Well, duh!)

Disconnected operations

Local commits

Easy branching and merging

Multi-protocol support

Sample workflows

Solo Workflow

Create project Commit changes Review/browse history Tag/publish release Apply new changes Rinse & Repeat

Hack

Pair programming

Createrepository Hack Commit

Hack Commit
Branch Push,pull,merge Pullandmerge

DeveloperA

DeveloperB

Code deployment

Upstream project

Commit

Livesite

Hack
Merge Branch Developer

Push

Central Branch & Gatekeeper


DeveloperA DeveloperB

Branch,Merge, Edit,Commit, Pull Push Merge,Review Push

Edit,Commit, Push

Centralrepository

Gatekeeper

Overview: Bazaar, git, Mercurial

Comparison aspects

Usability differences Project hosting sites OS support 3 party tools (e.g. IDE integration, GUIs) Plugins/Extensibility Speed Reference projects Handling of branches and merges
rd

Bazaar

Python Sponsored by Canonical Hosting Platforms: Launchpad | Sourceforge Many plugins One branch per directory simplifies the UI IDE/GUI support Strong OS support (incl. Windows) References: Debian apt, awn, Gnash, MySQL, Ubuntu

git

C | Perl | Shell Originated from the Linux Kernel Community Speed first, usability later Powerful, but steeper learning curve Multiple branches per directory Platforms: Kenai, github, gitorious, SourceForge References: Linux Kernel, Ruby on Rails, jQuery

Mercurial

Python Plugins Platforms: Bitbucket, Google Code, Kenai Multiple branches per directory (named branches) A pull updates the repo, not the working copy References: NetBeans, OpenJDK, OpenOffice, OpenSolaris, Python

Q&A

Questions, Comments?

Thank you! Lenz Grimmer <[email protected]>

You might also like