Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using Source Code Control Effectively

Similar presentations


Presentation on theme: "Using Source Code Control Effectively"— Presentation transcript:

1 Using Source Code Control Effectively
Gang Cheng

2 Why we need source code control?
Keep track of code changes Prevent code loss Retrieve older versions of software that customers are currently using to examine problems they are having

3 Three Levels Level 1: Opening Your Eyes Level 2: The SCC Journeyman
Level 3: Experts Only

4 Level 1 Opening Your Eyes Create: creates a new area in the repository
Add: adds a file to the repository Get: gets the current version of a file from the repository Checkout: works on a particular file actively Undo Checkout: throws away any changes and unlocks the file Checkin: puts the current version of the file back to the repository

5 Level 2 The SCC Journeyman
Label: assigns a name to a specific version of a file Share: allows a file to appear in more than one project Branch: lets development diverge Merge: takes changes from one branch and applies them to another branch

6 Level 3 Experts Only Cloak: hides a project in the repository
Delete: removes a file from the repository Move: relocates a file or subproject to a new parent project Pin: freezes a shared file at a particular version Rename: rename a file or project Rollback: reverts a file to an earlier version

7 SCC Alternatives Some Representative SCC AccuRev www.accurev.com
BitKeeper ClearCase CVS Perforce StarTeam Subversion Vault Visual Source Safe

8 Choose? Price Concurrent Development Style The repository
Checkout/edit/checkin (VSS) Edit/merge/commit (CVS) The repository Internet Friendliness IDE Integration Advanced Commands Cross-Platform Support

9 Discussion SCC Etiquette Proper use of Label (Tags)
Work with as few files as possible at one time Two styles compare Proper use of Label (Tags) Easy to remember and find At significant points Branching Discipline When different developers in the same project follows different rules Create only when needed Handles branching by actually creating branches Miscellaneous Rules Use the integration Chapter 9 “Tracking and Squashing Bugs”

10 SCC Checklist Use it Use command efficiently Choose your SCC
Place all dev. Artifacts to SCC Checkout only when you need it Comment changes when checkin Label at significant points Create a branch whenever the rules change Use SCC with bug tracking

11 CVS General CVSNT (CVS Window Server) WinCVS (CVS Window Client)
CVS Homepage Introducton ppt CVS Book CVS Commmand CVSNT (CVS Window Server) CVSNT Homepage Installation Guide WinCVS (CVS Window Client) WinCVS Homepage Installation & Config Guide

12 CVS RCS (Revision Control System) SharpCVSLib (CVS Client Library)
By Walter Tichy, Purdue University software tool for UNIX systems which lets people work on system control Reference SharpCVSLib (CVS Client Library) A Client API for the CVS protocol, written in C# SCVSLib Homepage

13 CVS CVSNT Running

14 CVS WinCVS Login

15 CVS WinCVS: User Gang Import module

16 CVS WinCVS: User Charlie checkout module

17 CVS WinCVS: User Charlie Edit a file

18 CVS WinCVS: User Charlie commits the file

19 CVS WinCVS: User Gang edits the same file, commits his version and causes a conflict

20 CVS WinCVS: User Gang checks version tree

21 CVS WinCVS: User Gang retrieves the old version

22 RCS File head 1.3; access; symbols arelease:1.1.1.1 avendor:1.1.1;
locks; strict; @; 1.3 date ; author Gang; state Exp; branches; next 1.2; deltatype text; permissions 644; commitid af041659b940c05; kopt kv; read 1.2 date ; author Charlie; state Exp; branches; next 1.1; deltatype text; permissions 644; commitid d ; kopt kv; read ……

23 End of Presentation


Download ppt "Using Source Code Control Effectively"

Similar presentations


Ads by Google