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
 
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
 
12c weblogic installation steps for Windows
12c weblogic installation steps for Windows12c weblogic installation steps for Windows
12c weblogic installation steps for WindowsCognizant
 
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
 
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)
 

Plus de Hosam Aly

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)Hosam Aly
 
القيادة: فن ومهارة (Leadership: an art and a skill)
القيادة: فن ومهارة (Leadership: an art and a skill)القيادة: فن ومهارة (Leadership: an art and a skill)
القيادة: فن ومهارة (Leadership: an art and a skill)Hosam Aly
 
Hard questions
Hard questionsHard questions
Hard questionsHosam Aly
 
Dev Team Process
Dev Team ProcessDev Team Process
Dev Team ProcessHosam Aly
 
Quick dive into Ruby on Rails
Quick dive into Ruby on RailsQuick dive into Ruby on Rails
Quick dive into Ruby on RailsHosam Aly
 
6 Programming Languages under investigation
6 Programming Languages under investigation6 Programming Languages under investigation
6 Programming Languages under investigationHosam Aly
 

Plus 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
 

Dernier

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Dernier (20)

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

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