Version Control Flashcards
(39 cards)
Types of Version Control Systems
Local
Centralized
Distributed
Local database keeps
track of file versions
Local VCS
RCS (Revision Control System) is an example of a
Local VCS
VC systems either keep:
● actual copies of file versions; or
● patch sets, which are the set of additions /subtractions to a file.
A single server contains the file versions
Centralized VCS
Clients check out
individual files/folders
from the central server
Centralized VCS
Advantages of Centralized VCS
Collaboration with others is possible
Easy to administer file permissions
Disadvantage of Centralized VCS
✘ Single point of failure
Concurrent Versions System (CVS), Subversion and Perforce is an example of what kind VCS
Centralized VCS
In this type of VCS, the Machines fully mirror the repository, including the
history of changes
Distributed VCS
Peer-to-peer approach
Distributed VCS
Each peer is a valid
repository
Distributed VCS
TRUE or FALSE:
Distributed VCS addresses the single point failure issue of Centralized VCS
TRUE. Since in Distributed VCS, multiple users can have a copy of the repository
Disadvantage of Distributed VCS
✘ Large repositories may be impractical to mirror (either due to large files, or very long histories)
Give examples of Distributed VCS
Git, Mercurial, Bazaar, Darcs
Advantages of VCS
Backup & Restore
Short-term / Long-term undo
Synchronization
Track Changes
Track Ownership
Branching/Merging
Save all your changes and jump to any
version at any time.
Backup & Restore
No fear of experimental changes, whether short or long term.
Short-term / Long-term undo
Stay up to date with teammates’ work.
Synchronization
Track the development of each file, and
explain why the changes happened.
Track Changes
Find out who made a particular change.
Track Ownership
Make a copy of your code that you can modify in isolation. You can delete, or merge this copy back to the ‘main’ version.
Branching/Merging
Where the files are stored
Repository
Repositories can be ________ or _________
remote, local