際際滷

際際滷Share a Scribd company logo
Version Control Tools K脹van巽 Kant端rk
What is Version Control System ? A  version control system (VCS)  is a repository of files, often the files for the source code of computer programs, with monitored access.
How  VCS  Work ? Every  change  made to the source is  tracked , along with  who made the change ,  why  they made it, and  references to problems fixed , by the change.
History of VCS Version control systems originate from tools that were for software development management. The software was not originally designed for general use in a variety of tasks.
History of VCS (cont) The best known of the old-time revision control tools is SCCS (Source Code Control System), which Marc Rochkind wrote at Bell Labs, in the early 1970s.
Why VCS is needed ? To  track the history and evolution of your project . To ease collaborating in a project. To recover from mistakes .   To work simultaneously on, and manage the drift between, multiple versions of your project.
Advantages of VCS Data Integrity Accountability Rapid Development Distribution of Work Development Branching Ease for program development Productivity & Time Efficiency Record Keeping & Backup Files Software Engineering Process Support To return an older version of software when needed
Disadvantages of VCS Unnecessary back-up Only one person can work on a file at a time (on some tools)
Common Properties of Version Control Tools A  database-like storage system U se version numbers while storing projects S imilar functions(merge which is being used widely in projects) C ompare the differences between two codes by highlighting or using an information  window K eep a back-up file for the project S ystem locks the file to prevent concurrent access problems. L ogs to current changes during a project Branching
Differences Between Version Control Tools Repository difference(Client/Server or Distributed model) Concurrency model(Locking, Merging, Hybrid) Platforms Supported Cost
The Elements of Version Control Systems Logs Tagging Revisions Branching Locking versus Merging The Repository and Working Directory
Effects of VCS Effects on software development Effects on coding Effects on programming market
Most Commonly Used VCS tools SCCS(Source Code Control System) RCS (Revision Control System) CVS (Concurrent Version System) Subversion ClearCase Bitkeeper
(SCCS)Source Code Control System Store text files. Retrieve specific versions of files.  Control updating access to files. Identify the version of a retrieved file. Record when, why and by whom changes are made to a file.
(SCCS)Source Code Control System
(RCS) Revision Control System Walter Tichy developed a free alternative to SCCS in the early 1980s RCS required developers to work in a single shared workspace, and to lock files to prevent multiple people from modifying them simultaneously.  In single-user scenarios, such as server configuration files or scripts, RCS may still be the best choice between other revision control tools
(CVS) Concurrent Version System Later in the 1980s, Dick Grune used RCS as a building block for a set of shell scripts he initially called CMT, but then renamed to CVS (Concurrent Versions System) Each developer had a copy of every project file, and could modify their copies independently. They had to merge their edits prior to committing changes to the central repository.
(CVS) Concurrent Version System
Subversion In 2001, Jim Blandy and Karl Fogel, two developers who had worked on CVS, started a project to replace it with a tool that would have a better architecture and cleaner code. It adds multi-file atomic commits, better namespace management, and a number of other features that make it a generally better tool than CVS SVN uses branching
Subversion
Subversion
Differences between VCS tools Repository model Concurrency model Cost Platforms supported
Tools and Properties Software油油 Maintainer油油 Repository model油油 Concurrency model油油 Platforms supported油油 Cost油油 AccuRev   AccuRev, Inc. Client-server Merge or lock Unix-like, Windows, Mac OS X $1495 for each licence/Free 2-user 30 day trial licenses available Aldon   Aldon Client-server Merge or lock Linux, Windows, OS/400 Unspecified Alienbrain   Avid Technology, Inc. Client-server Merge or lock Linux, Windows, Mac OS X $495/$895/$1,495 for each licence(programmer/artits/advance)/free for up to two users. AllFusion Harvest Change Manager CA, Inc. Client-server Merge or Lock Unix-like, Windows $1595 for each licence. Bazaar   Canonical Ltd. Distributed Merge Unix-like, Windows, Mac OS X Free BitKeeper   BitMover Inc. Distributed Merge Unix-like, Windows, Mac OS X Quoted on an individual basis. ClearCase  IBM Rational Client-server and Distributed Merge or lock Unix-like, Windows, i5/OS, z/OS $4250 per concurrent user plus tax (includes 12 months support) Code Co-op   Reliable Software Distributed Merge Windows $150 per seat Codeville   Ross Cohen Distributed Merge Unix-like, Windows, Mac OS X Free CVS   The CVS Team Client-server Merge Unix-like, Windows, Mac OS X Free
Tools and Properties CVSNT   March Hare Software and community members. Client-server Merge or Lock Unix-like, Windows, Mac OS X, OS/400 Free or commercial Darcs   David Roundy Distributed Merge Unix-like, Windows, Mac OS X Free DesignSync   MatrixOne 油 ? Merge or Lock Unix-like, Windows Commercial Git Junio C Hamano Distributed Merge POSIX, Windows, Mac OS X Free GNU arch  Andy Tai Distributed Merge Unix-like, Windows, Mac OS X Free LibreSource Synchronizer   Artenum Client-server Merge Unix-like, Windows, Mac OS X Free Mercurial   Matt Mackall Distributed Merge Unix-like, Windows, Mac OS X Free Monotone   Nathaniel Smith, Graydon Hoare Distributed Merge Unix-like, Windows, Mac OS X Free Perforce   Perforce Software Inc. Client-server Merge or Lock Unix-like ,  Windows ,  Mac OS X Free for up to 2 users, and for OSS development; else $800 per seat, with volume discounts  [21] PlasticSCM   Codice Software Client-server Merge Unix-like ,  Windows ,  Mac OS X $621 per seat, with volume discounts  [23]
Tools and Properties PureCM   PureCM.com Ltd Client-server Merge or Lock Unix-like ,  Windows ,  Mac OS X Free for up to 2 users. $1,000 for 5 users  [24] Razor  Visible Systems Client-server Merge or lock Unix ,  Linux , Windows , Mac OS X $800-$1,000 for each concurrent licence/Free unlimited users 21 day trial licenses available SourceAnywhere Hosted Dynamsoft Client-server Merge or Lock A  SaaS  application; Clients:  Windows  and Cross-platform via Java based client Has Free Plan and other Plans  [27] SourceHaven   Veterisoft, Inc. Client-server 油 ? Unix-like ,  Windows ,  Mac OS X $295 per seat with volume discounts StarTeam   Borland Client-server Merge or lock Windows  and Cross-platform via Java based client Contact Borland  [29] Subversion (SVN)   CollabNet, Inc. Client-server Merge or lock [4] Unix-like ,  Windows ,  Mac OS X Free (Commercial support/services available) Surround SCM   Seapine Software Client-server Merge or lock Unix-like ,  Windows ,  Mac OS X Commercial SVK   Best Practical Distributed Merge Unix-like ,  Windows ,  Mac OS X Free Team Foundation Server   Microsoft Client-server Lock or merge Server:  Windows  Server 2003; Clients: Windows and Web included; Java client (for Eclipse IDE, MacOS, Unix) available Licensed through MSDN subscription or through direct buy  [33] Telelogic Synergy  Telelogic AB Client-server and Distributed Merge or Lock Linux, Windows, Unix-like Contact Telelogic  [34]
Tools and Properties Vault SourceGear LLC Client-server Lock or Merge Unix-like, Linux, Windows $249 per user Visual SourceSafe Microsoft Client-server Lock or merge Windows Bundled with Visual Studio, $549.00 per full version
Ad

Recommended

Git for beginners
Git for beginners
Arulmurugan Rajaraman
Pr辿sentation de git
Julien Blin
Git training v10
Git training v10
Skander Hamza
Starting with Git & GitHub
Starting with Git & GitHub
Nicol叩s Tourn辿
Version Control System - Git
Version Control System - Git
Carlo Bernaschina
Version control system
Version control system
Andrew Liu
Learning git
Learning git
Sid Anand
Introduction to Git
Introduction to Git
Yan Vugenfirer
Source control
Source control
Sachithra Gayan
Version Control System
Version Control System
guptaanil
Introduction to Version Control
Introduction to Version Control
Jeremy Coates
Git - An Introduction
Git - An Introduction
Behzad Altaf
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...
際際滷Team
Git - Basic Crash Course
Git - Basic Crash Course
Nilay Binjola
Intro to git and git hub
Intro to git and git hub
Venkat Malladi
Git Version Control System
Git Version Control System
KMS Technology
Version control system and Git
Version control system and Git
ramubonkuri
Git One Day Training Notes
Git One Day Training Notes
glen_a_smith
Git basics
Git basics
GHARSALLAH Mohamed
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
John Stevenson
Git and github 101
Git and github 101
Senthilkumar Gopal
Intro to Git and GitHub
Intro to Git and GitHub
Panagiotis Papadopoulos
Github - Git Training 際際滷s: Foundations
Github - Git Training 際際滷s: Foundations
Lee Hanxue
Git 101
Git 101
jayrparro
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
Git & GitHub WorkShop
Git & GitHub WorkShop
SheilaJimenezMorejon
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Simplilearn
GIT AND GITHUB (1).pptx
GIT AND GITHUB (1).pptx
GDSCCVRGUPoweredbyGo
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration Management
Philip Johnson
際際滷 set 7 (Source Code Management History Overview) - Copy.pptx
際際滷 set 7 (Source Code Management History Overview) - Copy.pptx
UTKARSHBHARDWAJ71

More Related Content

What's hot (20)

Source control
Source control
Sachithra Gayan
Version Control System
Version Control System
guptaanil
Introduction to Version Control
Introduction to Version Control
Jeremy Coates
Git - An Introduction
Git - An Introduction
Behzad Altaf
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...
際際滷Team
Git - Basic Crash Course
Git - Basic Crash Course
Nilay Binjola
Intro to git and git hub
Intro to git and git hub
Venkat Malladi
Git Version Control System
Git Version Control System
KMS Technology
Version control system and Git
Version control system and Git
ramubonkuri
Git One Day Training Notes
Git One Day Training Notes
glen_a_smith
Git basics
Git basics
GHARSALLAH Mohamed
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
John Stevenson
Git and github 101
Git and github 101
Senthilkumar Gopal
Intro to Git and GitHub
Intro to Git and GitHub
Panagiotis Papadopoulos
Github - Git Training 際際滷s: Foundations
Github - Git Training 際際滷s: Foundations
Lee Hanxue
Git 101
Git 101
jayrparro
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
Git & GitHub WorkShop
Git & GitHub WorkShop
SheilaJimenezMorejon
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Simplilearn
GIT AND GITHUB (1).pptx
GIT AND GITHUB (1).pptx
GDSCCVRGUPoweredbyGo
Version Control System
Version Control System
guptaanil
Introduction to Version Control
Introduction to Version Control
Jeremy Coates
Git - An Introduction
Git - An Introduction
Behzad Altaf
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...
際際滷Team
Git - Basic Crash Course
Git - Basic Crash Course
Nilay Binjola
Intro to git and git hub
Intro to git and git hub
Venkat Malladi
Git Version Control System
Git Version Control System
KMS Technology
Version control system and Git
Version control system and Git
ramubonkuri
Git One Day Training Notes
Git One Day Training Notes
glen_a_smith
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
John Stevenson
Github - Git Training 際際滷s: Foundations
Github - Git Training 際際滷s: Foundations
Lee Hanxue
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Simplilearn

Similar to Version Control (20)

Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration Management
Philip Johnson
際際滷 set 7 (Source Code Management History Overview) - Copy.pptx
際際滷 set 7 (Source Code Management History Overview) - Copy.pptx
UTKARSHBHARDWAJ71
01 - Introduction to Version Control
01 - Introduction to Version Control
Sergii Shmarkatiuk
UNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptx
Pandiya Rajan
UNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptx
Pandiya Rajan
Version Control System - for Agile Software Project Management.
Version Control System - for Agile Software Project Management.
Bhavya Chawla
L06 a versioning_system_overview
L06 a versioning_system_overview
M. Shahzad Mughal
IRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
IRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
IRJET Journal
Source Code management System
Source Code management System
Karthikeyan Annamalai
Version Control and Continuous Integration
Version Control and Continuous Integration
Geff Henderson Chang
Linux13 concurrent versions system
Linux13 concurrent versions system
Jainul Musani
Version Control Lassosoft 2009 Lasso Developers Conference
Version Control Lassosoft 2009 Lasso Developers Conference
Brian Loomis
FlashInTO SVN Presentation
FlashInTO SVN Presentation
Matthew Fabb
Subversion and bug tracking
Subversion and bug tracking
Amira Elsayed Ismail
Source control system SVN, QLIKVIEW & GIT
Source control system SVN, QLIKVIEW & GIT
Satish C Ayappan
VCS. Three letters that can change your life
VCS. Three letters that can change your life
Oleksandr Kovalchuk
Distributed Version Control (DVCS) With Mercurial
Distributed Version Control (DVCS) With Mercurial
Ted Naleid
JavaEdge 2008: Your next version control system
JavaEdge 2008: Your next version control system
Gilad Garon
Evolution of GIT - Linus Torvald's magic
Evolution of GIT - Linus Torvald's magic
anand devanathan
Git&subversion
Git&subversion
Ahmed Shawky El-faky
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration Management
Philip Johnson
際際滷 set 7 (Source Code Management History Overview) - Copy.pptx
際際滷 set 7 (Source Code Management History Overview) - Copy.pptx
UTKARSHBHARDWAJ71
01 - Introduction to Version Control
01 - Introduction to Version Control
Sergii Shmarkatiuk
UNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptx
Pandiya Rajan
UNIT-I Introduction to CICD.pptx
UNIT-I Introduction to CICD.pptx
Pandiya Rajan
Version Control System - for Agile Software Project Management.
Version Control System - for Agile Software Project Management.
Bhavya Chawla
L06 a versioning_system_overview
L06 a versioning_system_overview
M. Shahzad Mughal
IRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
IRJET-Evolution of Version Control Systems and a Study on Tortoisesvn
IRJET Journal
Version Control and Continuous Integration
Version Control and Continuous Integration
Geff Henderson Chang
Linux13 concurrent versions system
Linux13 concurrent versions system
Jainul Musani
Version Control Lassosoft 2009 Lasso Developers Conference
Version Control Lassosoft 2009 Lasso Developers Conference
Brian Loomis
FlashInTO SVN Presentation
FlashInTO SVN Presentation
Matthew Fabb
Source control system SVN, QLIKVIEW & GIT
Source control system SVN, QLIKVIEW & GIT
Satish C Ayappan
VCS. Three letters that can change your life
VCS. Three letters that can change your life
Oleksandr Kovalchuk
Distributed Version Control (DVCS) With Mercurial
Distributed Version Control (DVCS) With Mercurial
Ted Naleid
JavaEdge 2008: Your next version control system
JavaEdge 2008: Your next version control system
Gilad Garon
Evolution of GIT - Linus Torvald's magic
Evolution of GIT - Linus Torvald's magic
anand devanathan
Ad

Version Control

  • 1. Version Control Tools K脹van巽 Kant端rk
  • 2. What is Version Control System ? A version control system (VCS) is a repository of files, often the files for the source code of computer programs, with monitored access.
  • 3. How VCS Work ? Every change made to the source is tracked , along with who made the change , why they made it, and references to problems fixed , by the change.
  • 4. History of VCS Version control systems originate from tools that were for software development management. The software was not originally designed for general use in a variety of tasks.
  • 5. History of VCS (cont) The best known of the old-time revision control tools is SCCS (Source Code Control System), which Marc Rochkind wrote at Bell Labs, in the early 1970s.
  • 6. Why VCS is needed ? To track the history and evolution of your project . To ease collaborating in a project. To recover from mistakes . To work simultaneously on, and manage the drift between, multiple versions of your project.
  • 7. Advantages of VCS Data Integrity Accountability Rapid Development Distribution of Work Development Branching Ease for program development Productivity & Time Efficiency Record Keeping & Backup Files Software Engineering Process Support To return an older version of software when needed
  • 8. Disadvantages of VCS Unnecessary back-up Only one person can work on a file at a time (on some tools)
  • 9. Common Properties of Version Control Tools A database-like storage system U se version numbers while storing projects S imilar functions(merge which is being used widely in projects) C ompare the differences between two codes by highlighting or using an information window K eep a back-up file for the project S ystem locks the file to prevent concurrent access problems. L ogs to current changes during a project Branching
  • 10. Differences Between Version Control Tools Repository difference(Client/Server or Distributed model) Concurrency model(Locking, Merging, Hybrid) Platforms Supported Cost
  • 11. The Elements of Version Control Systems Logs Tagging Revisions Branching Locking versus Merging The Repository and Working Directory
  • 12. Effects of VCS Effects on software development Effects on coding Effects on programming market
  • 13. Most Commonly Used VCS tools SCCS(Source Code Control System) RCS (Revision Control System) CVS (Concurrent Version System) Subversion ClearCase Bitkeeper
  • 14. (SCCS)Source Code Control System Store text files. Retrieve specific versions of files. Control updating access to files. Identify the version of a retrieved file. Record when, why and by whom changes are made to a file.
  • 16. (RCS) Revision Control System Walter Tichy developed a free alternative to SCCS in the early 1980s RCS required developers to work in a single shared workspace, and to lock files to prevent multiple people from modifying them simultaneously. In single-user scenarios, such as server configuration files or scripts, RCS may still be the best choice between other revision control tools
  • 17. (CVS) Concurrent Version System Later in the 1980s, Dick Grune used RCS as a building block for a set of shell scripts he initially called CMT, but then renamed to CVS (Concurrent Versions System) Each developer had a copy of every project file, and could modify their copies independently. They had to merge their edits prior to committing changes to the central repository.
  • 19. Subversion In 2001, Jim Blandy and Karl Fogel, two developers who had worked on CVS, started a project to replace it with a tool that would have a better architecture and cleaner code. It adds multi-file atomic commits, better namespace management, and a number of other features that make it a generally better tool than CVS SVN uses branching
  • 22. Differences between VCS tools Repository model Concurrency model Cost Platforms supported
  • 23. Tools and Properties Software油油 Maintainer油油 Repository model油油 Concurrency model油油 Platforms supported油油 Cost油油 AccuRev AccuRev, Inc. Client-server Merge or lock Unix-like, Windows, Mac OS X $1495 for each licence/Free 2-user 30 day trial licenses available Aldon Aldon Client-server Merge or lock Linux, Windows, OS/400 Unspecified Alienbrain Avid Technology, Inc. Client-server Merge or lock Linux, Windows, Mac OS X $495/$895/$1,495 for each licence(programmer/artits/advance)/free for up to two users. AllFusion Harvest Change Manager CA, Inc. Client-server Merge or Lock Unix-like, Windows $1595 for each licence. Bazaar Canonical Ltd. Distributed Merge Unix-like, Windows, Mac OS X Free BitKeeper BitMover Inc. Distributed Merge Unix-like, Windows, Mac OS X Quoted on an individual basis. ClearCase IBM Rational Client-server and Distributed Merge or lock Unix-like, Windows, i5/OS, z/OS $4250 per concurrent user plus tax (includes 12 months support) Code Co-op Reliable Software Distributed Merge Windows $150 per seat Codeville Ross Cohen Distributed Merge Unix-like, Windows, Mac OS X Free CVS The CVS Team Client-server Merge Unix-like, Windows, Mac OS X Free
  • 24. Tools and Properties CVSNT March Hare Software and community members. Client-server Merge or Lock Unix-like, Windows, Mac OS X, OS/400 Free or commercial Darcs David Roundy Distributed Merge Unix-like, Windows, Mac OS X Free DesignSync MatrixOne 油 ? Merge or Lock Unix-like, Windows Commercial Git Junio C Hamano Distributed Merge POSIX, Windows, Mac OS X Free GNU arch Andy Tai Distributed Merge Unix-like, Windows, Mac OS X Free LibreSource Synchronizer Artenum Client-server Merge Unix-like, Windows, Mac OS X Free Mercurial Matt Mackall Distributed Merge Unix-like, Windows, Mac OS X Free Monotone Nathaniel Smith, Graydon Hoare Distributed Merge Unix-like, Windows, Mac OS X Free Perforce Perforce Software Inc. Client-server Merge or Lock Unix-like , Windows , Mac OS X Free for up to 2 users, and for OSS development; else $800 per seat, with volume discounts [21] PlasticSCM Codice Software Client-server Merge Unix-like , Windows , Mac OS X $621 per seat, with volume discounts [23]
  • 25. Tools and Properties PureCM PureCM.com Ltd Client-server Merge or Lock Unix-like , Windows , Mac OS X Free for up to 2 users. $1,000 for 5 users [24] Razor Visible Systems Client-server Merge or lock Unix , Linux , Windows , Mac OS X $800-$1,000 for each concurrent licence/Free unlimited users 21 day trial licenses available SourceAnywhere Hosted Dynamsoft Client-server Merge or Lock A SaaS application; Clients: Windows and Cross-platform via Java based client Has Free Plan and other Plans [27] SourceHaven Veterisoft, Inc. Client-server 油 ? Unix-like , Windows , Mac OS X $295 per seat with volume discounts StarTeam Borland Client-server Merge or lock Windows and Cross-platform via Java based client Contact Borland [29] Subversion (SVN) CollabNet, Inc. Client-server Merge or lock [4] Unix-like , Windows , Mac OS X Free (Commercial support/services available) Surround SCM Seapine Software Client-server Merge or lock Unix-like , Windows , Mac OS X Commercial SVK Best Practical Distributed Merge Unix-like , Windows , Mac OS X Free Team Foundation Server Microsoft Client-server Lock or merge Server: Windows Server 2003; Clients: Windows and Web included; Java client (for Eclipse IDE, MacOS, Unix) available Licensed through MSDN subscription or through direct buy [33] Telelogic Synergy Telelogic AB Client-server and Distributed Merge or Lock Linux, Windows, Unix-like Contact Telelogic [34]
  • 26. Tools and Properties Vault SourceGear LLC Client-server Lock or Merge Unix-like, Linux, Windows $249 per user Visual SourceSafe Microsoft Client-server Lock or merge Windows Bundled with Visual Studio, $549.00 per full version