Presentation is loading. Please wait.

Presentation is loading. Please wait.

Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview.

Similar presentations


Presentation on theme: "Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview."— Presentation transcript:

1 Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview

2 History of Version Control Original paper: Marc Rochkind (1975)Marc Rochkind (1975)

3 Need for Version Control (Problem) From Version Control with Subversion: http://svnbook.red-bean.com

4 Advantages Back Up and Restore Synchronization Short Term Undo Long Term Undo Track Changes Track Ownership Sandboxing Branching and Merging

5 Types of Version Control First Generation –e.g. RCS, SCCS Second Generation : Centralized e.g. CVS, Subversion, Team Foundation Server, SourceSafe, ClearCase Third Generation : Distributed e.g. Git, Bazaar, Mercurial

6 Versioning Models  Lock-Modify-Unlock Model  Copy-Modify-Merge Model

7 Lock-Modify-Unlock Model Illustrated From Version Control with Subversion: http://svnbook.red-bean.com

8 Lock-Modify-Unlock Discussion Attributes:  First person to check-out a file locks the file from being modified by everyone else.  Checking out a file is similar to checking out a book. Only one patron at a time. Advantages:  Ideal for binary files (e.g. images, Microsoft Word, PowerPoint, etc.)  Less complexity for the user Disadvantages: A file checked-out by someone on vacation is an obstacle. Locked files can only be unlocked by lock owner or by an admin. A change to the client’s operating system may be necessary to support locking. User may be prevented from accessing any local files if server is down. Does not work well outside of an internal network. Tends to promote file hoarding.

9 Copy-Modify-Merge Model Illustrated From Version Control with Subversion: http://svnbook.red-bean.com

10 Copy-Modify-Merge Model Illustrated (cont.) From Version Control with Subversion: http://svnbook.red-bean.com

11 Copy-Modify-Merge Discussion Attributes:  Multiple individuals can check-out and modify the same file at the same time.  The last person to check-in the file has to perform a merge.  If the changes between the two files were made on different lines, the merge is performed automatically.  If the changes were made on the same line, the conflict must be resolved by a human. Advantages: Improves turn-around (advantage to checking in first and frequently). No waiting queue for the people accessing the same file. Tends to promote file sharing. Disadvantages:  Automatic merges could result in undesired results.

12 Centralized Version Control Works in Server and Client Relationship Repository located in one place and provides access to many clients All Changes, commits and information must be sent and received from central repository Advantages: Easy to understand and simple to get started. More control over uses and access. More GI and IDE clients are available. Disadvantages: Dependent on access to the server and can be slower. Branching and merging tools are difficult to use.

13 Distributed Version Control Each user has its own copy for the repository. Works as network of individual repository Advantages: More powerful. Less conflicts No server necessary. All actions except sharing are local Branching and merging are more reliable. Disadvantages: Harder to understand. Revision numbers are not incremental so might be confusing

14 Subversion Eclipse Plugins Description: Eclipse plugins give you the capability to perform Subversion operations via the GUI and is integrated into the interface.  Subclipse (uses native SVN client via JavaHL):  Update Site: http://subclipse.tigris.org/update_1.6.x  Eclipse Marketplace  Subversive (uses JavaHL or Java SVN Kit, built-in SVN implementation):  Update Site: Standard Update Site E.g.: http://download.eclipse.org/releases/juno|indigo|helios|kepler  Eclipse Marketplace

15 Subversion Eclipse Plugin: Subversive Available via right click on every file

16 EGit Eclipse Plugins Description: Eclipse plugins give you the capability to perform Git operations via the GUI and is integrated into the interface.  EGit (UI that depends upon JGit):  Update Site: Standard Update Site E.g.: http://download.eclipse.org/releases/juno|indigo|helios|kepler  Eclipse Marketplace  JGit (Java implementation of Git):  Update Site: Standard Update Site E.g.: http://download.eclipse.org/releases/juno|indigo|helios|kepler  Eclipse Marketplace

17 Version Control @ IntMed Apache Subversion TortoiseSVN client as Windows shell client

18 Questions?


Download ppt "Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview."

Similar presentations


Ads by Google