An Introduction to SCM - PowerPoint PPT Presentation

About This Presentation
Title:

An Introduction to SCM

Description:

An Introduction to SCM & GForge Lin Guo guolin_at_cs.cornell.edu Roadmap What is SCM Why do we need SCM Interesting SCM features SCM tools GForge Conclusion What is SCM ... – PowerPoint PPT presentation

Number of Views:7
Avg rating:3.0/5.0
Slides: 33
Provided by: Hongzh3
Category:
Tags: scm | introduction

less

Transcript and Presenter's Notes

Title: An Introduction to SCM


1
An Introduction to SCM GForge
  • Lin Guo
  • guolin_at_cs.cornell.edu

2
Roadmap
  • What is SCM
  • Why do we need SCM
  • Interesting SCM features
  • SCM tools
  • GForge
  • Conclusion

3
What is SCM
  • Source Control Management
  • Maintain a repository of source files
  • Track all changes
  • Control changes
  • Software Configuration Management
  • More than source control
  • Manage source repositories

4
Why we need SCM
  • Source Control
  • Sharing supports concurrent development
  • Versioning provide version number and dates
  • Change tracking find details of a change
  • Archival reproduce any file from any point
  • Documentation, drawing, etc.
  • Configuration Management
  • Branch release version vs. develop version
  • Snapshot of the whole system
  • Prohibit further check-in before release

5
Roadmap
  • What is SCM
  • Why do we need SCM
  • Interesting SCM features
  • Source control vocabulary
  • Code Sharing
  • Branch
  • Label
  • SCM tools
  • GForge
  • Conclusion

6
Source Control Vocabulary
  • Update obtain the latest versions of the code
  • Check-out obtain the writable version of files
  • Check-in commit the changes to files
  • Lock/unlock one only person may modify a file
  • Integrate combines the changes with others
  • Add/delete add/remove files to repositories
  • Top-of-trunk most updated

7
Roadmap
  • What is SCM
  • Why do we need SCM
  • Interesting SCM features
  • Source control vocabulary
  • Code Sharing
  • Lock
  • Sharing
  • SCM tools
  • GForge
  • Conclusion

8
Code Sharing
  • Multiple people can work on the same source base
    without colliding ---
  • (1) Lock locks individual files so only one
    person at a time can modify it or
  • (2) Merge Allows multiple people to modify a
    source file and the system will automatically
    merge the changes (usually)

9
Locking
  • Only one person can modify certain source files.
  • Works fairly well if developers work on different
    areas of the project and dont conflict often
  • Problem 1 People forget to unlock files when
    they are done
  • Problem 2 People work around locking by editing
    a private copy and checking in when the file is
    finally unlocked - easy to lose changes.

10
Merging
  • Several people can work on a file at once
  • Before committing changes, each user merges their
    copy with the latest copy in the database
  • This is normally done automatically by the system
    and usually works, but you should not blindly
    accept the result of the merge

11
Roadmap
  • What is SCM
  • Why do we need SCM
  • Interesting SCM features
  • Source control vocabulary
  • Code Sharing
  • Branching
  • SCM tools
  • GForge
  • Conclusion

12
Branching
  • Brach sources for different purposes
  • When a new version ships, typically create a
    branch for maintenance
  • Companies ship several products from the same
    source base
  • Branching repository fork and branch off the
    base repository.
  • Double update (manually) merge back changes in
    the branching repository

1.0
1.0.1
2.0
13
Roadmap
  • What is SCM
  • Why do we need SCM
  • Interesting SCM features
  • Source control vocabulary
  • Code Sharing
  • Branching
  • Labeling
  • SCM tools
  • GForge
  • Conclusion

14
Labeling
  • Label all the files in the source base that make
    up a product at each milestone
  • Just before and just after a major change (eg.
    changing several interfaces)
  • When a new version ships, want to fix fatal bugs
    in the original version.

15
Roadmap
  • What is SCM
  • Why do we need SCM
  • Interesting SCM features
  • SCM tools
  • GForge
  • Conclusion

16
CSM Tools
  • RCS revision control system
  • In most Unix system, only source control
  • CVS concurrent versions system
  • Free in linux, also support configuration
    management
  • SourceSafe
  • well-integrated into other Microsoft developer
    products, but not on other platforms
  • ClearCase
  • commercial CSM tool
  • SourceGorge (Gforge)
  • Projects are available for public discovery and
    development
  • http//gforge.cis.cornell.edu/ (http//gforge.org)

17
Helpful Rules
  • Archived Files Should Always Compile
  • Update to get your codes top-of-chunk
  • Code review
  • Compile and run latest archived files as a set
    before Check-in
  • No Cheating (even simple bug fixes)
  • Release a lock after you are done.
  • Dont overwrite someone elses code

18
Roadmap
  • What is SCM
  • Why do we need SCM
  • Interesting SCM features
  • SCM tools
  • GForge
  • Conclusion

19
GForge
20
GForge
  • GForge is an online SCM system
  • SCM tools create and control access to CVS and
    Subversion
  • Collaborating tool forums and mailing lists
  • Access control over the automatically created
    repository depending on the role settings of the
    project
  • File release, document management, news
    announcements, surveys, task managements, etc.
  • Gforge in Cornell CIS
  • https//gforge.cis.cornell.edu/

21
GForge
22
GForge
23
GForge
24
GForge
25
GForge
26
GForge
27
Conclusion
  • SCM tools are Very Helpful
  • GForge is a Good Project Tools Available at CIS

28
RCS
  • File management only
  • Transaction model
  • check out and lock
  • edit
  • check in and unlock
  • Little support for binaries

29
CVS
  • Built on top of RCS
  • Therefore little support for binaries
  • Database can be remote
  • No locking merge before commit
  • Fast
  • Integrates with emacs

30
SourceSafe
  • Microsofts entry into the field
  • Project-based
  • Checkout-edit-checkin model
  • Built-in web site creation tools
  • Integrates with MSDEV

31
Clearcase
  • Clearcase is configuration management on steroids
  • You create a view of the database with a config
    spec, which describes how to select files from
    the database.
  • When you set a view, Clearcase creates a virtual
    filesystem containing only those versions of the
    files selected by the config spec

32
SourceForge
  • On-line Version Control System
  • Projects are available for public discovery and
    development
  • A very good environment for open source projects
Write a Comment
User Comments (0)
About PowerShow.com