Using Source Code Control Effectively - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Using Source Code Control Effectively

Description:

Retrieve older versions of software that customers are currently using to ... StarTeam www.borland.com/starteam/ Subversion http://subversion.tigris.org ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 24
Provided by: Jim4178
Category:

less

Transcript and Presenter's Notes

Title: Using Source Code Control Effectively


1
Using Source Code Control Effectively
  • Gang Cheng
  • gacheng_at_syr.edu

2
Why?
  • 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 www.bitkeeper.com
  • ClearCase www.rational.com/products/clearcase
  • CVS www.cvshome.org
  • Perforce www.perforce.com
  • StarTeam www.borland.com/starteam/
  • Subversion http//subversion.tigris.org/
  • Vault www.sourcegear.com/vault/index.asp
  • Visual Source Safe http//msdn.microsoft.com/ssaf
    e

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

9
Discussion
  • SCC Etiquette
  • 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
  • CVS Homepage https//www.cvshome.org/
  • Introducton ppt http//www.geocities.com/durairaj_
    77/wincvs.ppt
  • CVS Book http//cvsbook.red-bean.com/cvsbook.html
  • CVS Commmand http//www.cvsnt.org/wiki/CvsCommand
  • CVSNT (CVS Window Server)
  • CVSNT Homepage http//www.cvsnt.org
  • Installation Guide http//w1.862.telia.com/u86216
    121/InstallCVSNT.html
  • WinCVS (CVS Window Client)
  • WinCVS Homepage http//www.wincvs.org/index.html
  • Installation Config Guide http//www.cmcrossroad
    s.com/ubbthreads/showflat.php?Cat0Number31083p
    age0viewcollapsedsb2ofpart1

12
CVS
  • RCS (Revision Control System)
  • By Walter Tichy, Purdue University
  • software tool for UNIX systems which lets people
    work on system control
  • Reference http//www.csc.calpoly.edu/dbutler/tuto
    rials/winter96/rcs/
  • SharpCVSLib (CVS Client Library)
  • A Client API for the CVS protocol, written in C
  • SCVSLib Homepage http//sharpcvslib.sourceforge.ne
    t/

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
  • arelease1.1.1.1
  • avendor1.1.1
  • locks strict
  • comment _at_ _at_
  • 1.3
  • date 2004.10.07.19.40.04 author Gang state Exp
  • branches
  • next 1.2
  • deltatype text
  • permissions 644
  • commitid af041659b940c05
  • kopt kv
  • filename _at_Please read me.txt_at_
  • 1.2
  • date 2004.10.07.19.14.13 author Charlie state
    Exp
  • branches
  • next 1.1
  • deltatype text
  • permissions 644
  • commitid d0416595847838
  • kopt kv
  • filename _at_Please read me.txt_at_

23
End of Presentation
Write a Comment
User Comments (0)
About PowerShow.com