• Save
Introduction to DVCSes with Mercurial
Upcoming SlideShare
Loading in...5

Introduction to DVCSes with Mercurial



Introduction to Distributed Version Control Systems with Mercurial as presented at Flash Camp Wellington 4th September 2010

Introduction to Distributed Version Control Systems with Mercurial as presented at Flash Camp Wellington 4th September 2010



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • Is there anyone here who doesn&apos;t know that version control systems automate the process of managing multiple versions of files? <br />
  • There are 3 main reasons for using a DVCS <br />
  • To prevent your code from being littered with the dried bones of in-progress features. <br /> Can be caused by undoing changes in the main branch because project priorities change <br /> <br />
  • To work offline with full access to the repository (including history, branches and tags). <br /> <br />
  • To better manage interruptions without impacting the quality of your work. <br /> <br /> If you&#x2019;re working on a bug or a feature and you&#x2019;ve been diligently checking in your progress, and then suddenly you need to fix another bug or the priorities have changed and now some other feature needs to be done first, what do you do with the work already done? <br /> <br />
  • &#x25CF;scalable <br /> &#x25CB;Mercurial&#x2019;s high performance and peer-to-peer nature let you scale painlessly to handle large projects. <br /> &#x25CF;faster <br /> &#x25CB;no network latency <br /> &#x25A0;all the metadata is stored locally <br /> &#x25CF;multiple backups <br /> &#x25CB;on each contributor&apos;s computer <br /> &#x25CF;immune to network problems <br /> &#x25CF;forking non-problem <br /> &#x25CB;makes reconciliation easy <br /> &#x25CB;every change is potentially a fork point <br /> &#x25CB;the technical process of reconciliation is eliminated <br /> &#x25CB;DVCS are really good at merging forks <br /> &#x25CF;Resistance is futile <br /> &#x25CB;there are tools that can pull your entire project&apos;s history and recreate it somewhere else <br /> &#x25CF;commercial projects <br /> &#x25CB;geographically dispersed teams <br /> &#x25CB;multiple authoritative servers <br /> &#x25A0;one per site <br /> <br />
  • <br />
  • <br />
  • &#x25CF;convert extension <br /> &#x25CB;Subversion <br /> &#x25CB;CVS <br /> &#x25CB;Git <br /> &#x25CB;Darcs <br /> &#x25CF;export to Subversion (ie hg is a svn client) <br /> &#x25CF;open source converters <br /> &#x25CB;vss2hg-1.03.pl & vss2hg-1.03.pl (note: I had problems with v1.04, but v1.03 worked for me) <br /> <br />
  • <br />
  • <br />
  • <br />

Introduction to DVCSes with Mercurial Presentation Transcript

  • 1. Introduction to DVCSes with Mercurial Chris Velevitch Flash Platform Camp Wellington 04/09/2010
  • 2. Why DVCSes?
  • 3. http://www.flickr.com/photos/cutflat/3572059245/
  • 4. http://www.flickr.com/photos/marek-kosmal/3054055284/
  • 5. Advantages of DVCS • scalable • faster • multiple backups • immune to network problems • forking non-problem • “Resistance Is Futile” • commerical projects
  • 6. Why Mercurial? • Easy to learn • Light weight • Scales • Easy to customise
  • 7. Who’s using Mercurial? • Growl - an open-source notifications system for Mac OS X • Linux HA - The High-Availability Linux Project • Mozilla • OpenJDK (a.k.a Java) • OpenOffice • Python (in progress) • Vim
  • 8. Switching to Mercurial • ‘convert’ extension • Export to Subversion • Clients • command-line / http • TortoiseHG • MercurialEclipse • Windows, Mac OS X, Linux, Open SUSE, Solaris
  • 9. Demo
  • 10. Resources • mercurial.selenic.com • hginit.com • hge.javaforge.com/project/HGE • selenic.com/mailman/listinfo/mercurial
  • 11. Thanks to all sponsors