SlideShare una empresa de Scribd logo
1 de 18
Hosam Aly, JDC 2012
Introduction to Mercurial (Hg)
 Distributed Version
Control System
 Practical demo
 Under the hood
(if time permits)
Friday, March 09, 2012 1Hosam Aly, JDC 2012
Centralized Version Control
Friday, March 09, 2012 2Hosam Aly, JDC 2012
Centralized Version Control
 When you check new code in,
everybody else gets it.
 You can check in buggy code and drive
everyone else crazy, or...
 You can avoid checking it in until it’s fully
debugged, even if it takes weeks.
 You lose the benefit
of version control!
Friday, March 09, 2012 3Hosam Aly, JDC 2012
Centralized Version Control
 Different Versions / New Features:
Branch and Merge
 But SVN has a bad merging reputation!
 From the SVN Book v1.6 (§4.4.11):
The bottom line is that Subversion's merge-
tracking feature has an extremely complex
internal implementation. Because the
feature is relatively new, a numbers of edge
cases and possible unexpected behaviors
may pop up.
Friday, March 09, 2012 4Hosam Aly, JDC 2012
Distributed Version Control
Friday, March 09, 2012 5Hosam Aly, JDC 2012
Practical Demo
Friday, March 09, 2012 6Hosam Aly, JDC 2012
Mercurial Commands
 Init
 Clone
 Commit
 Push
 Pull
 Update
 Revert
 Rollback
Friday, March 09, 2012 7Hosam Aly, JDC 2012
Mercurial Advantages
 Locally accessible repository
 History information available all the time
 Fast operations using local data
 Backup on every machine!
 Easy branching and merging
 Branches can be named or unnamed
 Using changesets makes merging painless
 Encourages quick, throw-away prototyping
 Guarantees data integrity
Friday, March 09, 2012 8Hosam Aly, JDC 2012
Mercurial Advantages (2)
 Very easy sharing, even without a
server!
 Safety of user’s changes when updating
 Sane history management
 Ability to recover from unpublished mistakes
 Ability to revert (backout) an old changeset
 Cross-platform first-class tool support
 With plugins for many IDEs
Friday, March 09, 2012 9Hosam Aly, JDC 2012
Mercurial Advantages (3)
 Efficient management of tiered repositories
Friday, March 09, 2012 10Hosam Aly, JDC 2012
Similar Tools
Friday, March 09, 2012 11Hosam Aly, JDC 2012
Bazaar
Usability vs. Power
Friday, March 09, 2012 Hosam Aly, JDC 2012 12
Martin Fowler
Version Control Tools
17 Feb 2010
Mercurial Adoption
Friday, March 09, 2012 13Hosam Aly, JDC 2012
Questions and Answers
Friday, March 09, 2012 14Hosam Aly, JDC 2012
Resources
 Official Mercurial Wiki
http://mercurial.selenic.com/wiki/
 HgInit, Joel Spolsky’s tutorial
http://hginit.com
 Martin Geisler’s Presentations
http://cdn.bitbucket.org/mg/mercurial-talk/downloads/ibm-
2010-09-16.pdf
 Mercurial: The Definitive Guide book
http://hgbook.red-bean.com/
 More Presentations and Publications
http://mercurial.selenic.com/wiki/Presentations
 Source Control Made Easy, an excellent podcast about
DVCS Internals by Jim Weirich
http://pragprog.com/screencasts/v-jwsceasy/source-
control-made-easy
Friday, March 09, 2012 Hosam Aly, JDC 2012 15
Acknowledgement
 Most of the materials presented in this
presentation were aided by existing
content from Joel Spolsky, Martin
Geisler and Jim Weirich. I owe much of
my knowledge about Mercurial and
DVCS to them. If it weren’t for their
publicly available content, this
presentation would have been much
less useful. Many thanks.
Friday, March 09, 2012 Hosam Aly, JDC 2012 16
hosamaly@acm.org
Friday, March 09, 2012 17Hosam Aly, JDC 2012

Más contenido relacionado

Similar a Mercurial DVCS

CodeCamp Iasi 10 march 2012 - Infrastructure as code
CodeCamp Iasi 10 march 2012 - Infrastructure as codeCodeCamp Iasi 10 march 2012 - Infrastructure as code
CodeCamp Iasi 10 march 2012 - Infrastructure as code
Codecamp Romania
 
OAE Developer Bootcamp
OAE Developer BootcampOAE Developer Bootcamp
OAE Developer Bootcamp
Bert Pareyn
 
Ogma_Web Services Testing
Ogma_Web Services TestingOgma_Web Services Testing
Ogma_Web Services Testing
Yana Altunyan
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
Tech_MX
 
Waza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryWaza keynote: Idea to Delivery
Waza keynote: Idea to Delivery
Adam Wiggins
 
Sqlsat154 maintain your dbs with help from ola hallengren
Sqlsat154 maintain your dbs with help from ola hallengrenSqlsat154 maintain your dbs with help from ola hallengren
Sqlsat154 maintain your dbs with help from ola hallengren
Andy Galbraith
 
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
pycontw
 

Similar a Mercurial DVCS (20)

Best Practices for (Enterprise) OSGi applications - Tim Ward
Best Practices for (Enterprise) OSGi applications - Tim WardBest Practices for (Enterprise) OSGi applications - Tim Ward
Best Practices for (Enterprise) OSGi applications - Tim Ward
 
CodeCamp Iasi 10 march 2012 - Infrastructure as code
CodeCamp Iasi 10 march 2012 - Infrastructure as codeCodeCamp Iasi 10 march 2012 - Infrastructure as code
CodeCamp Iasi 10 march 2012 - Infrastructure as code
 
Simple test drupal7_presentation_la_drupal_jul21-2010
Simple test drupal7_presentation_la_drupal_jul21-2010Simple test drupal7_presentation_la_drupal_jul21-2010
Simple test drupal7_presentation_la_drupal_jul21-2010
 
OAE Developer Bootcamp
OAE Developer BootcampOAE Developer Bootcamp
OAE Developer Bootcamp
 
Ogma_Web Services Testing
Ogma_Web Services TestingOgma_Web Services Testing
Ogma_Web Services Testing
 
Using OSGi as a Cloud Platform - Jan Rellermeyer
Using OSGi as a Cloud Platform - Jan RellermeyerUsing OSGi as a Cloud Platform - Jan Rellermeyer
Using OSGi as a Cloud Platform - Jan Rellermeyer
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
 
Comparison Of Open Source App Servers
Comparison Of Open Source App ServersComparison Of Open Source App Servers
Comparison Of Open Source App Servers
 
Big Data Step-by-Step: Infrastructure 2/3: Running R and RStudio on EC2
Big Data Step-by-Step: Infrastructure 2/3: Running R and RStudio on EC2Big Data Step-by-Step: Infrastructure 2/3: Running R and RStudio on EC2
Big Data Step-by-Step: Infrastructure 2/3: Running R and RStudio on EC2
 
Who Pulls the Strings?
Who Pulls the Strings?Who Pulls the Strings?
Who Pulls the Strings?
 
Sightly_techInsight
Sightly_techInsightSightly_techInsight
Sightly_techInsight
 
Learn jobDSL for Jenkins
Learn jobDSL for JenkinsLearn jobDSL for Jenkins
Learn jobDSL for Jenkins
 
Waza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryWaza keynote: Idea to Delivery
Waza keynote: Idea to Delivery
 
Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the Basics
 
Weblogic 12c Graphical Mode installation steps in Windows
Weblogic 12c Graphical Mode installation steps in Windows Weblogic 12c Graphical Mode installation steps in Windows
Weblogic 12c Graphical Mode installation steps in Windows
 
12c weblogic installation steps for Windows
12c weblogic installation steps for Windows12c weblogic installation steps for Windows
12c weblogic installation steps for Windows
 
Data in the Azure Cloud, by Julie Lerman
Data in the Azure Cloud, by Julie LermanData in the Azure Cloud, by Julie Lerman
Data in the Azure Cloud, by Julie Lerman
 
PhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSPhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JS
 
Sqlsat154 maintain your dbs with help from ola hallengren
Sqlsat154 maintain your dbs with help from ola hallengrenSqlsat154 maintain your dbs with help from ola hallengren
Sqlsat154 maintain your dbs with help from ola hallengren
 
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
 

Más de Hosam Aly

Más de Hosam Aly (6)

Running a simple Scala app in AWS Lambda (demo)
Running a simple Scala app in AWS Lambda (demo)Running a simple Scala app in AWS Lambda (demo)
Running a simple Scala app in AWS Lambda (demo)
 
القيادة: فن ومهارة (Leadership: an art and a skill)
القيادة: فن ومهارة (Leadership: an art and a skill)القيادة: فن ومهارة (Leadership: an art and a skill)
القيادة: فن ومهارة (Leadership: an art and a skill)
 
Hard questions
Hard questionsHard questions
Hard questions
 
Dev Team Process
Dev Team ProcessDev Team Process
Dev Team Process
 
Quick dive into Ruby on Rails
Quick dive into Ruby on RailsQuick dive into Ruby on Rails
Quick dive into Ruby on Rails
 
6 Programming Languages under investigation
6 Programming Languages under investigation6 Programming Languages under investigation
6 Programming Languages under investigation
 

Último

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Último (20)

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 

Mercurial DVCS

  • 2. Introduction to Mercurial (Hg)  Distributed Version Control System  Practical demo  Under the hood (if time permits) Friday, March 09, 2012 1Hosam Aly, JDC 2012
  • 3. Centralized Version Control Friday, March 09, 2012 2Hosam Aly, JDC 2012
  • 4. Centralized Version Control  When you check new code in, everybody else gets it.  You can check in buggy code and drive everyone else crazy, or...  You can avoid checking it in until it’s fully debugged, even if it takes weeks.  You lose the benefit of version control! Friday, March 09, 2012 3Hosam Aly, JDC 2012
  • 5. Centralized Version Control  Different Versions / New Features: Branch and Merge  But SVN has a bad merging reputation!  From the SVN Book v1.6 (§4.4.11): The bottom line is that Subversion's merge- tracking feature has an extremely complex internal implementation. Because the feature is relatively new, a numbers of edge cases and possible unexpected behaviors may pop up. Friday, March 09, 2012 4Hosam Aly, JDC 2012
  • 6. Distributed Version Control Friday, March 09, 2012 5Hosam Aly, JDC 2012
  • 7. Practical Demo Friday, March 09, 2012 6Hosam Aly, JDC 2012
  • 8. Mercurial Commands  Init  Clone  Commit  Push  Pull  Update  Revert  Rollback Friday, March 09, 2012 7Hosam Aly, JDC 2012
  • 9. Mercurial Advantages  Locally accessible repository  History information available all the time  Fast operations using local data  Backup on every machine!  Easy branching and merging  Branches can be named or unnamed  Using changesets makes merging painless  Encourages quick, throw-away prototyping  Guarantees data integrity Friday, March 09, 2012 8Hosam Aly, JDC 2012
  • 10. Mercurial Advantages (2)  Very easy sharing, even without a server!  Safety of user’s changes when updating  Sane history management  Ability to recover from unpublished mistakes  Ability to revert (backout) an old changeset  Cross-platform first-class tool support  With plugins for many IDEs Friday, March 09, 2012 9Hosam Aly, JDC 2012
  • 11. Mercurial Advantages (3)  Efficient management of tiered repositories Friday, March 09, 2012 10Hosam Aly, JDC 2012
  • 12. Similar Tools Friday, March 09, 2012 11Hosam Aly, JDC 2012 Bazaar
  • 13. Usability vs. Power Friday, March 09, 2012 Hosam Aly, JDC 2012 12 Martin Fowler Version Control Tools 17 Feb 2010
  • 14. Mercurial Adoption Friday, March 09, 2012 13Hosam Aly, JDC 2012
  • 15. Questions and Answers Friday, March 09, 2012 14Hosam Aly, JDC 2012
  • 16. Resources  Official Mercurial Wiki http://mercurial.selenic.com/wiki/  HgInit, Joel Spolsky’s tutorial http://hginit.com  Martin Geisler’s Presentations http://cdn.bitbucket.org/mg/mercurial-talk/downloads/ibm- 2010-09-16.pdf  Mercurial: The Definitive Guide book http://hgbook.red-bean.com/  More Presentations and Publications http://mercurial.selenic.com/wiki/Presentations  Source Control Made Easy, an excellent podcast about DVCS Internals by Jim Weirich http://pragprog.com/screencasts/v-jwsceasy/source- control-made-easy Friday, March 09, 2012 Hosam Aly, JDC 2012 15
  • 17. Acknowledgement  Most of the materials presented in this presentation were aided by existing content from Joel Spolsky, Martin Geisler and Jim Weirich. I owe much of my knowledge about Mercurial and DVCS to them. If it weren’t for their publicly available content, this presentation would have been much less useful. Many thanks. Friday, March 09, 2012 Hosam Aly, JDC 2012 16
  • 18. hosamaly@acm.org Friday, March 09, 2012 17Hosam Aly, JDC 2012

Notas del editor

  1. Quote taken from the book Version Control with Subversion for Subversion 1.6, Chapter 4, Section 4.4.11: The Final Word on Merge Tracking http://svnbook.red-bean.com/en/1.6/svn.branchmerge.advanced.html#svn.branchmerge.advanced.finalword
  2. Martin Fowler, Version Control Tools, 17 Feb 2010 http://martinfowler.com/bliki/VersionControlTools.html
  3. http://mercurial.selenic.com/wiki/ProjectsUsingMercurial