Title: Information Systems Concepts Version Control
1Information Systems ConceptsVersion Control
- Dell Zhang
- Birkbeck, University of London
- Spring 2009
2Version Control
- A Version Control System (VCS) lets you track
your files over time - Also known as
- Revision Control
- Source Control
- (Source) Code Management
3Version Control
- Why do you care?
- Have you ever saved a file, and then wanted to
revert the changes you made? Have you ever wished
you could see what a file looked like some time
ago? - Do you work in a team? Has it ever happened that
you were working on a file, and someone else was
working on the same file at the same time? Did
you lose your changes to that file because of
that? - Have you ever found a bug in your project and
wanted to know when (and how) that bug got into
your files?
--- Version Control with Subversion.
4Version Control
- You have probably cooked up your own VCS. Got any
files like these? - report-old.pdf
- logo_v3.png
- logo_v4.png
- ResumeOct2006.doc
- ResumeMar2007.doc
Thats why we use Save As.
5Version Control
- A Poor Mans VCS
- Make a single backup copy (Document.old.txt).
- If were clever, we add a version number or date
Document_V1.txt, DocumentMarch2007.txt - We may even use a shared folder so other people
can see and edit files without sending them over
email. Hopefully they re-label the file after
they save it. - Does this work for a large-scale development
project (such as Microsoft Windows)? - Not a chance.
6Version Control
- Central (Client/Server) Model
- CVS
- Subversion (SVN)
-
- Distributed Model
- Mercurial
- Git
7A Typical Central (Client/Server) Version Control
System
--- Version Control with Subversion.
8The Problem to Avoid
--- Version Control with Subversion.
9The Lock-Modify-Unlock Solution
--- Version Control with Subversion.
10The Copy-Modify-Merge Solution
--- Version Control with Subversion.
11The Copy-Modify-Merge Solution
--- Version Control with Subversion.
12--- A Visual Guide to Version Control.
13--- A Visual Guide to Version Control.
14Most VCS store diffs rather than full copies of
the file.
Whats the diff from r1 to r4?
--- A Visual Guide to Version Control.
15Branches of Development
--- Version Control with Subversion.
16The Branching of One Files History
--- Version Control with Subversion.
17--- A Visual Guide to Version Control.
18--- A Visual Guide to Version Control.
19--- A Visual Guide to Version Control.
20--- A Visual Guide to Version Control.
21A real-life example
Reverse Integration (RI) and Forward Integration
(FI)
--- A Visual Guide to Version Control.
22(No Transcript)
23(No Transcript)