SlideShare uma empresa Scribd logo
1 de 15
Version Control
    Systems
what they are and why you want one



           Jon Warbrick
            Tony Finch
         [and Ben Harris]
Do you recognise this?
Media Wiki
Some other examples
                            Game saved states
  MS Word ‘track changes’

                            Apple Time
                             Machine

Adobe Version Que

         MS Sharepoint
What do you get?

• Revision history
• Change comments
• What’s changed?
• Collaborative and group working
• Somewhere for automation
Version control
      101
“repository”
“check out”
“working tree”
 (or “working copy”)
“committing”
$ diff -c mary2.txt mary1.txt
*** mary2.txt	

--- mary1.txt	

                      2012-04-17 17:44:24.000000000 +0100
                      2012-04-17 17:45:04.000000000 +0100
                                                            “diff”
***************
*** 1,6 ****
  Mary had a little lamb,
! whose flees where white as snow.

 And everywhere that Mary went,
 the lamb was sure to go.

--- 1,11 ----
  Mary had a little lamb,                                            Visual diff example
! whose fleece was white as snow.

 And everywhere that Mary went,
 the lamb was sure to go.

+ It followed her to school one day
+ which was against the rules.
+
+ It made the children laugh and play,
+ to see a lamb at school.
“locking”
“merging”
“branch”
Good for/Not good for
• Good for:
 • Changes made by humans
 • Things that look like software source
    trees
• Not good for
 • Bug tracking, build management
 • Big blobs of data

Mais conteúdo relacionado

Mais de Jon Warbrick

Dunbar's Number, and what it means to the UIS
Dunbar's Number, and what it means to the UISDunbar's Number, and what it means to the UIS
Dunbar's Number, and what it means to the UISJon Warbrick
 
The 'New [University of Cambridge] Map
The 'New [University of Cambridge] MapThe 'New [University of Cambridge] Map
The 'New [University of Cambridge] MapJon Warbrick
 
Syndicated content on your web pages
Syndicated content on your web pagesSyndicated content on your web pages
Syndicated content on your web pagesJon Warbrick
 
Lessons fro IPv6 day, 2011
Lessons fro IPv6 day, 2011Lessons fro IPv6 day, 2011
Lessons fro IPv6 day, 2011Jon Warbrick
 
Lessons from IPv6 Day
Lessons from IPv6 DayLessons from IPv6 Day
Lessons from IPv6 DayJon Warbrick
 
Google Apps @ Cambridge - What we did
Google Apps @ Cambridge - What we didGoogle Apps @ Cambridge - What we did
Google Apps @ Cambridge - What we didJon Warbrick
 
(Why) Passwords don't work
(Why) Passwords don't work(Why) Passwords don't work
(Why) Passwords don't workJon Warbrick
 
Web Authenication with Shibboleth - a view from the Flat East
Web Authenication with Shibboleth - a view from the Flat EastWeb Authenication with Shibboleth - a view from the Flat East
Web Authenication with Shibboleth - a view from the Flat EastJon Warbrick
 
State of the Raven
State of the RavenState of the Raven
State of the RavenJon Warbrick
 
Google Apps - SSO and Identity Management at the University of Cambridge
Google Apps - SSO and Identity Management at the University of CambridgeGoogle Apps - SSO and Identity Management at the University of Cambridge
Google Apps - SSO and Identity Management at the University of CambridgeJon Warbrick
 

Mais de Jon Warbrick (10)

Dunbar's Number, and what it means to the UIS
Dunbar's Number, and what it means to the UISDunbar's Number, and what it means to the UIS
Dunbar's Number, and what it means to the UIS
 
The 'New [University of Cambridge] Map
The 'New [University of Cambridge] MapThe 'New [University of Cambridge] Map
The 'New [University of Cambridge] Map
 
Syndicated content on your web pages
Syndicated content on your web pagesSyndicated content on your web pages
Syndicated content on your web pages
 
Lessons fro IPv6 day, 2011
Lessons fro IPv6 day, 2011Lessons fro IPv6 day, 2011
Lessons fro IPv6 day, 2011
 
Lessons from IPv6 Day
Lessons from IPv6 DayLessons from IPv6 Day
Lessons from IPv6 Day
 
Google Apps @ Cambridge - What we did
Google Apps @ Cambridge - What we didGoogle Apps @ Cambridge - What we did
Google Apps @ Cambridge - What we did
 
(Why) Passwords don't work
(Why) Passwords don't work(Why) Passwords don't work
(Why) Passwords don't work
 
Web Authenication with Shibboleth - a view from the Flat East
Web Authenication with Shibboleth - a view from the Flat EastWeb Authenication with Shibboleth - a view from the Flat East
Web Authenication with Shibboleth - a view from the Flat East
 
State of the Raven
State of the RavenState of the Raven
State of the Raven
 
Google Apps - SSO and Identity Management at the University of Cambridge
Google Apps - SSO and Identity Management at the University of CambridgeGoogle Apps - SSO and Identity Management at the University of Cambridge
Google Apps - SSO and Identity Management at the University of Cambridge
 

Último

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 

Último (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

An introduction to Version Control Systems

  • 1. Version Control Systems what they are and why you want one Jon Warbrick Tony Finch [and Ben Harris]
  • 4. Some other examples Game saved states MS Word ‘track changes’ Apple Time Machine Adobe Version Que MS Sharepoint
  • 5. What do you get? • Revision history • Change comments • What’s changed? • Collaborative and group working • Somewhere for automation
  • 9. “working tree” (or “working copy”)
  • 11. $ diff -c mary2.txt mary1.txt *** mary2.txt --- mary1.txt 2012-04-17 17:44:24.000000000 +0100 2012-04-17 17:45:04.000000000 +0100 “diff” *************** *** 1,6 **** Mary had a little lamb, ! whose flees where white as snow. And everywhere that Mary went, the lamb was sure to go. --- 1,11 ---- Mary had a little lamb, Visual diff example ! whose fleece was white as snow. And everywhere that Mary went, the lamb was sure to go. + It followed her to school one day + which was against the rules. + + It made the children laugh and play, + to see a lamb at school.
  • 15. Good for/Not good for • Good for: • Changes made by humans • Things that look like software source trees • Not good for • Bug tracking, build management • Big blobs of data

Notas do Editor

  1. ...or Revision Control systems, Source Code Control systems, Software Configuration Management systems, or...\n\nThis talk was written by Jon, Tony and Ben even if only Jon and Tony are presenting it.\n
  2. Everything changes. Anyone recognise this way of tracking changes? It’s the ‘Save as...’ approach. Do you find it works well?\n
  3. Media Wiki, so the CS managed Wiki Service, so the CS Wiki, has quite sophisticated change tracking. Revisions. Comments. Diffs.\n
  4. Quite a lot of other software has built-in history tracking. Here are some examples.\n
  5. What do you typically get with something like this? What use is it?\n
  6. Lets define some terms. We are drifting into ‘traditional’ VCSs here and away from application-specific VCS support.\n
  7. The place where stuff gets stored. Typically looking like a directory tree. Might be a single local directory or on a central server. In the case of a ‘distributed’ VCS there might be lots of repositories but with support or transmitting and synchronising changes between them (the latter being deep magic).\n
  8. The act of taking a copy of something to work on. Typically only you see your subsequent changes until you take further action.\n
  9. In many systems you check out all (or a significant lump) of the repository. This is your private working copy, or working tree. You may need to refresh it to take account of changes made by others.\n
  10. The act of updating the repository with your changes. Once you’ve committed a change then others can see it. \n\nCommits are normally accompanied by a comment describing the changes, what they are intended to achieve, etc. Serve at least three purposes: make it easier to find a particular change; provide documentation to remind you what you did; provide documentation to others to tell them what you did.\n
  11. (for “difference”). It’s normally possible to ask to see the difference between different versions of something in a repository. Easy(ish) for text files - more challenging for things like images, videos (but see link)...\n\n[Many VCSs store revisions _as_ diffs (to save space), but that’s not directly relevant]\n
  12. Some VCSs let you ‘lock’ a file while you are working on it to stop any one else also making changes. Slows development, esp. when people forget! Modern systems rely instead on merging (see next).\n
  13. Modern systems let people work on the same file at the same time. When changes are checked in they systems try to merge them together. Providing they affect different parts of the file they can do this automatically - if not then human intervention is needed. Modern systems also need to do merging to support branching.\n
  14. Getting a bit advanced. Sometimes you want to work on a new version of something, while keeping the old version around and working on that too. E.g. maintaining version n of a software product while at the same time developing version n+1. Branches let you do this _and_ transfer changes made in one branch to another.\n
  15. "To a man with a hammer, everything looks like a nail."-Mark Twain. How to identify real VCS nails.\n
  16. Had to add sccs!\n\nGiven a liking for “free” (as in speech and/or beer), the highlighted products are probably of most use.\n
  17. Had to add sccs!\n\nGiven a liking for “free” (as in speech and/or beer), the highlighted products are probably of most use.\n
  18. Had to add sccs!\n\nGiven a liking for “free” (as in speech and/or beer), the highlighted products are probably of most use.\n
  19. Had to add sccs!\n\nGiven a liking for “free” (as in speech and/or beer), the highlighted products are probably of most use.\n
  20. Had to add sccs!\n\nGiven a liking for “free” (as in speech and/or beer), the highlighted products are probably of most use.\n
  21. Had to add sccs!\n\nGiven a liking for “free” (as in speech and/or beer), the highlighted products are probably of most use.\n
  22. Had to add sccs!\n\nGiven a liking for “free” (as in speech and/or beer), the highlighted products are probably of most use.\n