Mercurial: Modern Source Control Management
Upcoming SlideShare
Loading in...5
×
 

Mercurial: Modern Source Control Management

on

  • 4,054 views

Discussion on Mercurial and migration from CVS.

Discussion on Mercurial and migration from CVS.

Statistics

Views

Total Views
4,054
Views on SlideShare
3,693
Embed Views
361

Actions

Likes
6
Downloads
71
Comments
0

10 Embeds 361

http://docs.xnat.org 245
http://xnat15.wikispaces.com 48
http://www.xnat.org 22
http://nrg.wikispaces.com 19
http://www.slideshare.net 14
http://docs14.xnat.org 9
http://xnat.wikispaces.com 1
http://translate.googleusercontent.com 1
http://webcache.googleusercontent.com 1
http://xnat14.wikispaces.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

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.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Mercurial: Modern Source Control Management Mercurial: Modern Source Control Management Presentation Transcript

  • Mercurial Modern Source Control Management John Paulett April 5, 2010
  • Overview CVS Issues Modern Alternatives Distributed Version Control Mercurial Next Steps
  • CVS Shortcomings Network connectivity required Lack of support for renaming/moving Lack of atomic commits Single point of failure Expensive branch operations Day-long merges 2010.04.05 3
  • CVS Replacements Subversion (2000) - svn ● “CVS done right” Git (2005) – git ● Created by Linus Torvalds for kernel development Mercurial (2005) – hg ● Created after Linux-Bitkeeper incident Bazaar, darcs, monotone ... 2010.04.05 4
  • Distributed Version Control (DVCS) Complete, local repository Branching & merging are trivial Central server for sharing repositories 2010.04.05 5
  • Mercurial mercurial.selenic.com Changesets, not files Mozilla, OpenJDK, OpenSolaris, Python, Zen, OpenOffice, NetBeans 2010.04.05 6
  • Create a new repository $ hg init demo $ cd demo $ ls -a . .. .hg 2010.04.05 7
  • Add a file $ echo "Hello world" > README $ hg add README $ hg status A README 2010.04.05 8
  • Commit the changeset $ hg commit -m "Adding basic README" $ hg log 0[tip] 9b1b9c995571 2010-01-13 12:37 -0600 jpaulett Adding basic README 2010.04.05 9
  • Push to remote repository $ hg push ssh://hg@bitbucket.org/nrg/demo/ pushing to ssh://hg@bitbucket.org/nrg/demo/ searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files ... 2010.04.05 10
  • Clone Existing Repository $ hg clone http://bitbucket.org/nrg/demo/ destination directory: demo requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 2010.04.05 11
  • Get Updates $ hg pull pulling from https://johnpaulett@bitbucket.org/nrg/demo/ searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) $ hg update 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 2010.04.05 12
  • Workflow Multiple workflows are possible “Integration Manager” blessed developer developer repository public public integration developer developer manager private private 2010.04.05 http://whygitisbetterthanx.com/#any-workflow 13
  • Workflow mainline john cnda 1.4.1 changeset repository tag 1.4.2 2010.04.05 14
  • Hosting bitbucket.org Self-hosted via Apache & SSH ● hg.xnat.org Google Code / Sourceforge 2010.04.05 15
  • Tools $ hg MercurialEclipse TortoiseHg CuteHg 2010.04.05 16
  • Resources mercurial.selenic.com hgbook.red-bean.com hginit.com 2010.04.05 17
  • Resources http://nrg.wikispaces.com/Mercurial http://betterexplained.com/articles/intro-to-distributed- version-control-illustrated/ http://code.google.com/p/support/wiki/DVCSAnalysis 2010.04.05 18
  • hg Advantages Easy learning curve coming from CVS/SVN Allows 3rd parties to more easily contribute No more day long merges 2010.04.05 19
  • Next Steps Try out Mercurial: ● bitbucket.org/nrg 2010.04.05 20
  • 2010.04.05 21