{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

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 Document Right 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 Document Right 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.
  • Winter '10
  • YEDDULADODDI
  • Revision control, Comparison of revision control software, Concurrent Versions System, C. Michael Pilato

{[ snackBarMessage ]}