SlideShare a Scribd company logo
1 of 10
CVS

• Versioning systems are software tools that
  allow multiple developers to work on projects
  concurrently and keep track of changes made
  to the code.
• The first such system was the Revision Control
  System (RCS) written in the early 1980s by
  Walter Tichy of Purdue
• It used diffs to keep track of changes just like later
  systems, but was limited to single files.
• The first system that could handle entire projects
  was written by Dick Grune in 1986 with a modest
  objective in mind. He simply wanted to be able to
  work asynchronously with his students on a
  compiler project.
• Grune implemented his system using shell scripts
  that interacted with RCS and eventually it evolved
  into the most widely used versioning system, the
  open source Concurrent Versions System, commonly
  known as CVS.
• Brian Berliner initiated the C implementation of CVS
  in mid-1989 by translating the original shell scripts
  into C.
• Later contributors improved the system,
  noteworthy being Jim Kingdom’s remote CVS
  implementation in 1993 that “enabled real use of
  CVS by the open source community”.
Overview of CVS
• CVS has been crucial to open source development
  because it lets distributed software developers
  access a shared repository of the source code for a
  project and permits concurrent changes to the code
  base.
• It also allows merging the changes into an updated
  version of the project on the repository and
  monitoring for potential conflicts that may occur
  because of the concurrent accesses.
• Remarkably, at any point during a project
  development, any previous version of the project
  can be easily accessed, so CVS also serves as a
  complete record of the history of all earlier versions
  of the project and that of all the changes to the
  project’s code. It thus acts like what has been
  metaphorically called a time machine.
• CVS, which is available for download from
  www.nongnu.org/cvs, is the most widely used
  version control tool.
• As Fogel and Bar observe, “CVS became the free
  software world’s first choice for revision control
  because there’s a close match . . . between the way
  CVS encourages a project to be run and the way
  free projects actually do run.
• CVS serves two basic functions.
• On the one hand it keeps a complete historical
  digest of all actions (patches) against a project and
  on the other hand it facilitates distributed
  developer collaboration.
• CVS is a client-server system under which software
  projects are stored in a so-called repository on a
  central server that serves content to possibly remote
  clients.
• Its client-side manifestations let multiple developers
  remotely and concurrently check out the latest
  version of a project from the repository.
• They can then modify the source code on the
  client(s) as they see fit, and thereafter commit any
  changes they have made to their working copy back
  to the central repository in a coordinated manner,
  assuming they have the write privileges to do so.
  This is called a copy-modify-merge development
  cycle.
• CVS, versioning tools followed a lock-modify-unlock
  model for file changes.
• Only one developer could have access to a
  particular file at a time other developers had to
  wait until the file being modified was released. This
  kind of solo, mutually exclusive access requires
  considerable coordination.
CVS: A Brief History of Concurrent Versioning

More Related Content

What's hot

Session: Git Basics & GitFlow Workflow
Session: Git Basics & GitFlow WorkflowSession: Git Basics & GitFlow Workflow
Session: Git Basics & GitFlow WorkflowMidhun Mohanan
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersMartin Jinoch
 
Software Carpentry - Version control slides
Software Carpentry - Version control slidesSoftware Carpentry - Version control slides
Software Carpentry - Version control slidesanpawlik
 
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Sauce Labs
 
Continuous integration ( jen kins travis ci)
Continuous integration ( jen kins  travis ci)Continuous integration ( jen kins  travis ci)
Continuous integration ( jen kins travis ci)Sadani Rodrigo
 
Git talk
Git talkGit talk
Git talksamtho
 
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with MylynIntegrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with MylynSascha Scholz
 
Version control system and Git
Version control system and GitVersion control system and Git
Version control system and Gitramubonkuri
 
Codefresh CICD New Features Launch! May 2019
Codefresh CICD New Features Launch! May 2019Codefresh CICD New Features Launch! May 2019
Codefresh CICD New Features Launch! May 2019Codefresh
 
Dealing with large code bases. cd ams meetup
Dealing with large code bases. cd ams meetupDealing with large code bases. cd ams meetup
Dealing with large code bases. cd ams meetupViktor Sadovnikov
 
Continuous Integration and Deployment with Jenkins for PCF
Continuous Integration and Deployment with Jenkins for PCFContinuous Integration and Deployment with Jenkins for PCF
Continuous Integration and Deployment with Jenkins for PCFVMware Tanzu
 
SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic Aman Patial
 
SBG Infrastructure Tools
SBG Infrastructure ToolsSBG Infrastructure Tools
SBG Infrastructure Tools🤘Ivan Vandot
 
Dev ops cd tool chains
Dev ops cd tool chainsDev ops cd tool chains
Dev ops cd tool chainsIgor Moochnick
 
OpenNfv Talk On Kubernetes and Network Function Virtualization
OpenNfv Talk On Kubernetes and Network Function VirtualizationOpenNfv Talk On Kubernetes and Network Function Virtualization
OpenNfv Talk On Kubernetes and Network Function VirtualizationGlenn West
 

What's hot (20)

Session: Git Basics & GitFlow Workflow
Session: Git Basics & GitFlow WorkflowSession: Git Basics & GitFlow Workflow
Session: Git Basics & GitFlow Workflow
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes Developers
 
Software Carpentry - Version control slides
Software Carpentry - Version control slidesSoftware Carpentry - Version control slides
Software Carpentry - Version control slides
 
Jenkins pipeline as code
Jenkins pipeline as codeJenkins pipeline as code
Jenkins pipeline as code
 
git Versioning
git Versioninggit Versioning
git Versioning
 
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
Slow, Flaky and Legacy Tests: FTFY - Our New Testing Strategy at Net-A-Porter...
 
Source Code management System
Source Code management SystemSource Code management System
Source Code management System
 
Continuous integration ( jen kins travis ci)
Continuous integration ( jen kins  travis ci)Continuous integration ( jen kins  travis ci)
Continuous integration ( jen kins travis ci)
 
Git talk
Git talkGit talk
Git talk
 
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with MylynIntegrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
 
Version control system and Git
Version control system and GitVersion control system and Git
Version control system and Git
 
Codefresh CICD New Features Launch! May 2019
Codefresh CICD New Features Launch! May 2019Codefresh CICD New Features Launch! May 2019
Codefresh CICD New Features Launch! May 2019
 
Dealing with large code bases. cd ams meetup
Dealing with large code bases. cd ams meetupDealing with large code bases. cd ams meetup
Dealing with large code bases. cd ams meetup
 
Continuous Integration and Deployment with Jenkins for PCF
Continuous Integration and Deployment with Jenkins for PCFContinuous Integration and Deployment with Jenkins for PCF
Continuous Integration and Deployment with Jenkins for PCF
 
SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic
 
XP Days Ukraine 2019
XP Days Ukraine 2019XP Days Ukraine 2019
XP Days Ukraine 2019
 
Git Tutorial
Git Tutorial Git Tutorial
Git Tutorial
 
SBG Infrastructure Tools
SBG Infrastructure ToolsSBG Infrastructure Tools
SBG Infrastructure Tools
 
Dev ops cd tool chains
Dev ops cd tool chainsDev ops cd tool chains
Dev ops cd tool chains
 
OpenNfv Talk On Kubernetes and Network Function Virtualization
OpenNfv Talk On Kubernetes and Network Function VirtualizationOpenNfv Talk On Kubernetes and Network Function Virtualization
OpenNfv Talk On Kubernetes and Network Function Virtualization
 

Viewers also liked

Viewers also liked (20)

Lucas
LucasLucas
Lucas
 
P U B L I C I T Y D R
P U B L I C I T Y  D RP U B L I C I T Y  D R
P U B L I C I T Y D R
 
Yankee doodle
Yankee doodleYankee doodle
Yankee doodle
 
Michele
MicheleMichele
Michele
 
Vaykra dimanche
Vaykra dimancheVaykra dimanche
Vaykra dimanche
 
Social giving
Social givingSocial giving
Social giving
 
AsburyAgile-Final
AsburyAgile-FinalAsburyAgile-Final
AsburyAgile-Final
 
Marketing
MarketingMarketing
Marketing
 
Porposal 2 sheet set sheet - a103 - first floor
Porposal 2 sheet set   sheet - a103 - first floorPorposal 2 sheet set   sheet - a103 - first floor
Porposal 2 sheet set sheet - a103 - first floor
 
Mequias
MequiasMequias
Mequias
 
Ingles
InglesIngles
Ingles
 
Deber anatomia músculos
Deber anatomia músculosDeber anatomia músculos
Deber anatomia músculos
 
Presentasi kasus askes
Presentasi kasus askesPresentasi kasus askes
Presentasi kasus askes
 
Flavia
FlaviaFlavia
Flavia
 
React & ES6 Intro
React & ES6 IntroReact & ES6 Intro
React & ES6 Intro
 
Superávit y déficit
Superávit y déficitSuperávit y déficit
Superávit y déficit
 
Tipos de familias
Tipos de familias Tipos de familias
Tipos de familias
 
Periodico virtual
Periodico virtualPeriodico virtual
Periodico virtual
 
Importance Of Nutrition In Diabetes
Importance Of Nutrition In DiabetesImportance Of Nutrition In Diabetes
Importance Of Nutrition In Diabetes
 
Fundamentos, entorno y edicion
Fundamentos, entorno y edicionFundamentos, entorno y edicion
Fundamentos, entorno y edicion
 

Similar to CVS: A Brief History of Concurrent Versioning

UNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptxUNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptxPandiya Rajan
 
UNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptxUNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptxPandiya Rajan
 
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementIntroduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementPhilip Johnson
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version ControlWei-Tsung Su
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With SubversionSamnang Chhun
 
An Introduction to Open Source Software and Web Application Development
An Introduction to Open Source Software and Web Application DevelopmentAn Introduction to Open Source Software and Web Application Development
An Introduction to Open Source Software and Web Application Developmenttrevorthornton
 
Red Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptxRed Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptxssuser18b1c6
 
Linux13 concurrent versions system
Linux13 concurrent versions systemLinux13 concurrent versions system
Linux13 concurrent versions systemJainul Musani
 
Azure DevOps Training in Ameerpet | Azure DevOps Course Online
Azure DevOps Training in Ameerpet  | Azure DevOps Course Online Azure DevOps Training in Ameerpet  | Azure DevOps Course Online
Azure DevOps Training in Ameerpet | Azure DevOps Course Online TalluriRenuka
 
Hands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestrationHands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestrationAmir Hossein Sorouri
 
IRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
IRJET-Evolution of Version Control Systems and a Study on TortoisesvnIRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
IRJET-Evolution of Version Control Systems and a Study on TortoisesvnIRJET Journal
 
How to use CVS applied to SOLab
How to use CVS applied to SOLabHow to use CVS applied to SOLab
How to use CVS applied to SOLabPablo Arriazu
 
Overview on Open Source Technology.pptx
Overview on Open Source Technology.pptxOverview on Open Source Technology.pptx
Overview on Open Source Technology.pptxDrRShaliniVISTAS
 

Similar to CVS: A Brief History of Concurrent Versioning (20)

UNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptxUNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptx
 
UNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptxUNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptx
 
SVN
SVNSVN
SVN
 
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementIntroduction to Version Control and Configuration Management
Introduction to Version Control and Configuration Management
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
 
Version Control With Subversion
Version Control With SubversionVersion Control With Subversion
Version Control With Subversion
 
Git and GitHub.pptx
Git and GitHub.pptxGit and GitHub.pptx
Git and GitHub.pptx
 
Jenkins
JenkinsJenkins
Jenkins
 
Mcroservices with docker kubernetes, goang and grpc, overview
Mcroservices with docker kubernetes, goang and grpc, overviewMcroservices with docker kubernetes, goang and grpc, overview
Mcroservices with docker kubernetes, goang and grpc, overview
 
Jenkins.pdf
Jenkins.pdfJenkins.pdf
Jenkins.pdf
 
An Introduction to Open Source Software and Web Application Development
An Introduction to Open Source Software and Web Application DevelopmentAn Introduction to Open Source Software and Web Application Development
An Introduction to Open Source Software and Web Application Development
 
Evolution of version control in opensource - fossa2010
Evolution of version control in opensource - fossa2010Evolution of version control in opensource - fossa2010
Evolution of version control in opensource - fossa2010
 
Red Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptxRed Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptx
 
Linux13 concurrent versions system
Linux13 concurrent versions systemLinux13 concurrent versions system
Linux13 concurrent versions system
 
Azure DevOps Training in Ameerpet | Azure DevOps Course Online
Azure DevOps Training in Ameerpet  | Azure DevOps Course Online Azure DevOps Training in Ameerpet  | Azure DevOps Course Online
Azure DevOps Training in Ameerpet | Azure DevOps Course Online
 
Hands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestrationHands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestration
 
IRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
IRJET-Evolution of Version Control Systems and a Study on TortoisesvnIRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
IRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
 
Evolution ofversioncontrolinopensource
Evolution ofversioncontrolinopensourceEvolution ofversioncontrolinopensource
Evolution ofversioncontrolinopensource
 
How to use CVS applied to SOLab
How to use CVS applied to SOLabHow to use CVS applied to SOLab
How to use CVS applied to SOLab
 
Overview on Open Source Technology.pptx
Overview on Open Source Technology.pptxOverview on Open Source Technology.pptx
Overview on Open Source Technology.pptx
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

CVS: A Brief History of Concurrent Versioning

  • 1.
  • 2. CVS • Versioning systems are software tools that allow multiple developers to work on projects concurrently and keep track of changes made to the code. • The first such system was the Revision Control System (RCS) written in the early 1980s by Walter Tichy of Purdue
  • 3. • It used diffs to keep track of changes just like later systems, but was limited to single files. • The first system that could handle entire projects was written by Dick Grune in 1986 with a modest objective in mind. He simply wanted to be able to work asynchronously with his students on a compiler project. • Grune implemented his system using shell scripts that interacted with RCS and eventually it evolved into the most widely used versioning system, the open source Concurrent Versions System, commonly known as CVS.
  • 4. • Brian Berliner initiated the C implementation of CVS in mid-1989 by translating the original shell scripts into C. • Later contributors improved the system, noteworthy being Jim Kingdom’s remote CVS implementation in 1993 that “enabled real use of CVS by the open source community”.
  • 5. Overview of CVS • CVS has been crucial to open source development because it lets distributed software developers access a shared repository of the source code for a project and permits concurrent changes to the code base. • It also allows merging the changes into an updated version of the project on the repository and monitoring for potential conflicts that may occur because of the concurrent accesses.
  • 6. • Remarkably, at any point during a project development, any previous version of the project can be easily accessed, so CVS also serves as a complete record of the history of all earlier versions of the project and that of all the changes to the project’s code. It thus acts like what has been metaphorically called a time machine. • CVS, which is available for download from www.nongnu.org/cvs, is the most widely used version control tool.
  • 7. • As Fogel and Bar observe, “CVS became the free software world’s first choice for revision control because there’s a close match . . . between the way CVS encourages a project to be run and the way free projects actually do run. • CVS serves two basic functions. • On the one hand it keeps a complete historical digest of all actions (patches) against a project and on the other hand it facilitates distributed developer collaboration.
  • 8. • CVS is a client-server system under which software projects are stored in a so-called repository on a central server that serves content to possibly remote clients. • Its client-side manifestations let multiple developers remotely and concurrently check out the latest version of a project from the repository. • They can then modify the source code on the client(s) as they see fit, and thereafter commit any changes they have made to their working copy back to the central repository in a coordinated manner, assuming they have the write privileges to do so. This is called a copy-modify-merge development cycle.
  • 9. • CVS, versioning tools followed a lock-modify-unlock model for file changes. • Only one developer could have access to a particular file at a time other developers had to wait until the file being modified was released. This kind of solo, mutually exclusive access requires considerable coordination.