Download presentation
Presentation is loading. Please wait.
1
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo guolin@cs.cornell.edu
2
CS 501 : An Introduction to SCM and GForge 2 Roadmap What is SCM Why do we need SCM Interesting SCM features SCM tools GForge Conclusion
3
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 9 Locking Only one person can modify certain source files. Works fairly well if developers work on different areas of the project and don’t 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
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 11 Roadmap What is SCM Why do we need SCM Interesting SCM features Source control vocabulary Code Sharing Branching SCM tools GForge Conclusion
12
CS 501 : An Introduction to SCM and GForge 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.12.0
13
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 15 Roadmap What is SCM Why do we need SCM Interesting SCM features SCM tools GForge Conclusion
16
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 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. Don’t overwrite someone else’s code
18
CS 501 : An Introduction to SCM and GForge 18 Roadmap What is SCM Why do we need SCM Interesting SCM features SCM tools GForge Conclusion
19
CS 501 : An Introduction to SCM & GForge GForge
20
CS 501 : An Introduction to SCM and 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
CS 501 : An Introduction to SCM and GForge 21 GForge
22
CS 501 : An Introduction to SCM and GForge 22 GForge
23
CS 501 : An Introduction to SCM and GForge 23 GForge
24
CS 501 : An Introduction to SCM and GForge 24 GForge
25
CS 501 : An Introduction to SCM and GForge 25 GForge
26
CS 501 : An Introduction to SCM and GForge 26 GForge
27
CS 501 : An Introduction to SCM and GForge 27 Conclusion SCM tools are Very Helpful GForge is a Good Project Tools Available at CIS
28
CS 501 : An Introduction to SCM and GForge 28 RCS File management only Transaction model –check out and lock –edit –check in and unlock Little support for binaries
29
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 30 SourceSafe Microsoft’s entry into the field Project-based Checkout-edit-checkin model Built-in web site creation tools Integrates with MSDEV
31
CS 501 : An Introduction to SCM and GForge 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
CS 501 : An Introduction to SCM and GForge 32 SourceForge On-line Version Control System Projects are available for public discovery and development A very good environment for open source projects
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.