CM_Subversion_Intro

CM_Subversion_Intro - Version Control Systems Motivation...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Version Control Systems Motivation Members of a software development group need to: • have access to the group source code (file sharing) • work at the same time on the same files (concurrent editing) • keep track of different versions of the same file (history) A Version Control System is a special file server, designed for concurrent editing and to store history information.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Concurrent Editing Why is concurrent editing difficult? A normal file server (eg. NFS) can provide file sharing, but would keep only one version of each file (the most recent one). diagram by Brian W. Fitzpatrick, C. Michael Pilato, Copyright © 2000, 2001, 2002, 2003, 2004 CollabNet, Inc. Lock-Modify-Unlock A simple mechanism to support concurrent editing: The same mechanism can be used to implement multi-threaded access to shared resources. diagram by Brian W. Fitzpatrick, C. Michael Pilato, Copyright © 2000, 2001, 2002, 2003, 2004 CollabNet, Inc.
Background image of page 2
3 Lock-Modify-Unlock Disadvantages of this scheme: delays: locking a file prevents concurrent editing administrative overhead: if a user forgets to release the files he has locked, an administrator has to manually remove the lock before another user can edit the files. false sense of security: locking a single file is not sufficient if there are other files depending on it Copy-Modify-Merge A better mechanism: diagram by Brian W. Fitzpatrick, C. Michael Pilato, Copyright © 2000, 2001, 2002, 2003, 2004 CollabNet, Inc.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 Copy-Modify-Merge When merging, two types of changes to a file can occur changes that do not overlap : in this case merging is trivial - just take the sum of changes changes that overlap : in this case there is a conflict and merging can be difficult - users must communicate to decide which changes to propagate to the new version. Merging is a manual process by the user (No AI available yet to decide which changes to take).
Background image of page 4
Image of page 5
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 05/06/2010 for the course SE 4010-361 taught by Professor Yedduladoddi during the Winter '10 term at RIT.

Page1 / 13

CM_Subversion_Intro - Version Control Systems Motivation...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online