Version Control What it is and why you want it
What is Version Control? A system that manages changes to documents, files, or any other stored information. Also known as source control or revision control
Why is Version Control useful? Provides a systematic approach to managing changes and updates to files that are shared amongst a development team. Vast improvement over old methods ( , file upload services, etc)
What does Version Control do? Tracks an update “Tree” – Revision Numbers Creates ‘fallback’ points! – Branches Want to add a new feature? – Tags Releases!
Types of Version Control Centralized Server to Client model - everyone connects to the server to get the source All Operations are server- side Collisions? – File locking – File merging Distributed Peer to Peer model - everyone has a ‘working copy’ of the repository Most operations are done on the ‘working copy’ Collisions? – Patch merging
Some Examples Centralized Source Control CVS – OLD! SVN – Very popular Distributed Source Control Git – Good all around Mercurial – Fast and scalable Bazaar – Easy of use Monotone – Integrity