SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Similaire à Mercurial DVCS

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 Wardmfrancis
 
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 codeCodecamp Romania
 
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-2010Miguel Hernandez
 
OAE Developer Bootcamp
OAE Developer BootcampOAE Developer Bootcamp
OAE Developer BootcampBert Pareyn
 
Ogma_Web Services Testing
Ogma_Web Services TestingOgma_Web Services Testing
Ogma_Web Services TestingYana Altunyan
 
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 Rellermeyermfrancis
 
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 designTech_MX
 
Comparison Of Open Source App Servers
Comparison Of Open Source App ServersComparison Of Open Source App Servers
Comparison Of Open Source App ServersRogue Wave Software
 
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 EC2Jeffrey Breen
 
Who Pulls the Strings?
Who Pulls the Strings?Who Pulls the Strings?
Who Pulls the Strings?Ronny Trommer
 
Learn jobDSL for Jenkins
Learn jobDSL for JenkinsLearn jobDSL for Jenkins
Learn jobDSL for JenkinsLarry Cai
 
Waza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryWaza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryAdam Wiggins
 
Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsAndy Davies
 
12c weblogic installation steps for Windows
12c weblogic installation steps for Windows12c weblogic installation steps for Windows
12c weblogic installation steps for WindowsCognizant
 
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 webservicesm
 
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 LermanJulie 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/JSRyan Stewart
 
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 hallengrenAndy Galbraith
 
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)pycontw
 

Similaire à 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
 
12c weblogic installation steps for Windows
12c weblogic installation steps for Windows12c weblogic installation steps for Windows
12c weblogic installation steps for 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
Weblogic 12c Graphical Mode installation steps in 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)
 

Dernier

Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 

Dernier (20)

Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 

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

Notes de l'éditeur

  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