Introduction to
Distributed VCS with
      Mercurial
Topics
O What is DVCS?
O Why DVCS?
O DVCS Specials
O Walkthrough with Mercurial
What is DVCS?
O Repositories everywhere
Traditional Centralized VCS
Distributed VCS
DVCS Example
O Git
O Mercurial
Why DVCS?
O Own local repositories!
  O Faster commits
  O You’re in control!
  O Share with others when you want to.
Why DVCS?
O Flexibility for Different Workflows
  O Different repositories, different purpose
Simple Workflow

       Stable




     Development




      Prototype
Multi-user workflow
Complex Development
          Workflow!

                                          Ahmad
                     QA Team   Dev Team
                        1          1
                                           Boon
RTM    Beta   Main
                                          Charles
                     QA Team   Dev Team
                        2          2
                                          Daisy
Why DVCS?
O Merging is easier
  O Each revision knows its parent(s)
  O Three-way merge with common ancestor
Why DVCS?
O Own local repositories!
O Flexibility for Different Workflows
O Easier merging
World Domination
DVCS Specials
Terms
O Clone a repo.




      Main
                  Clone       Dev
                          (Main clone)
Terms
O Pull commits from a repo.




      Main         Pull       Dev
Terms
O Push commits to a repo.




      Main         Push     Dev
Terms
O Working Directory - “The changeset I’m
 about to commit"
Terms
O Update to travel through time!
Terms
O Commit creates a revision in repository.
Walkthrough
  Time to Walk the Talk!
with TortoiseHg / Mercurial
One Last Thing…
Forking?
O Cloning in the Cloud
O Allow changesets to be sent to
 repositories owned by other people
Q&A
Brain Teaser
O Push/Pull changesets to unrelated
 repositories?
References
O http://hginit.com/
O http://mercurial.selenic.com/wiki/
O Mercurial: The Definitive Guide
The End
     Thank You
And Go, Start Forking!

Introduction to Distributed Version Control System with Mercurial / TortoiseHg

Editor's Notes

  • #22 Talk about Heads!
  • #23 Don’t forget about Hg Serve (Web server)!