CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo

Slides:



Advertisements
Similar presentations
Software engineering tools for web development Jim Briggs 1CASE.
Advertisements

Warren Jones, Fluke Co., Eugene Kramer, Remedy Co. Introduction to CVS 1999 Concurrent Versions System Overview of CVS architecture. Repository structure.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview.
Revision Control Systems Amin Tootoonchian Kian Mirjalali.
Concepts of Version Control A Technology-Independent View.
CVS Selim Çıracı Ahmet Kara Metin Tekkalmaz. CVS – Open Source Version Control System Outline What are Version Control Systems? And why do we need them?
GForge: A collaborative development environment Presentation by: Geoff Gerfin.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Microsoft Visual Source Safe 6.01 Microsoft Visual Source Safe (MVSS) Presented By: Rachel Espinoza.
Damien Guard (BSc, MBCS) Guernsey Software Developer Forum Change management with Subversion.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
1 CMPT 275 Software Engineering Revision Control.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
SubVersioN – the new Central Service at DESY by Marian Gawron.
Version Control. What is Version Control? Manages file sharing for Concurrent Development Keeps track of changes with Version Control SubVersion (SVN)
Source Code Revision Control Software CVS and Subversion (svn)
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
Software Configuration Management (SCM)
Version control Using Git 1Version control, using Git.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
Source Control Repositories for Team Collaboration: SVN, TFS, Git Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training.
1 Topics for this Lecture Software maintenance in general Source control systems (intro to svn)
Software Engineering Modern Approaches
Source Code Management with CVS Kurt Wiersma December 2004.
Software Configuration Management
Introduction to Version Control
Source Control Repositories for Team Collaboration: SVN, TFS, Git.
The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion.
Subversion, an Open Source Version Control System An Introduction.
1 Lecture 19 Configuration Management Software Engineering.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Chapter 4: Software Configuration Management (SCM)
Version control Using Git Version control, using Git1.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Introduction to Version Control SE-2030 Dr. Rob Hasker 1 Based on material at and slides written.
Software Quality Assurance
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
1 Brief Introduction to Revision Control Ric Holt.
ClearCase Concepts and Terminology
An Overview of Tools Available in CS 501 Ken Hopkinson
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
Management of Software Project CSM Software Configuration Management (SCM)
Version Control System
2136 Gallows Road, Suite F, Dunn Loring, VA Phone: Fax: Business Analyst Training 1 Module 5.2 Rational ClearCase.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Warren Jones, Fluke Co., Eugene Kramer, Remedy Co. Introduction to CVS 1999 Revised by David Svoboda 2003 Concurrent Versions System Overview of CVS architecture.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
CS520 Web Programming Version Control with Subversion Chengyu Sun California State University, Los Angeles.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Source Control Systems
Software Project Configuration Management
Open Source Software Development Environment
LECTURE 2: Software Configuration Management
Source Control Dr. Scott Schaefer.
Version control, using Git
LECTURE 3: Software Configuration Management
Revision Control Daniel Daugherty
Design and Programming
Concurrent Versions System
Presentation transcript:

CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo

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

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

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

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

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

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

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)

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.

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

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

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

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

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.

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

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  / ( )

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

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

CS 501 : An Introduction to SCM & GForge GForge

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 

CS 501 : An Introduction to SCM and GForge 21 GForge

CS 501 : An Introduction to SCM and GForge 22 GForge

CS 501 : An Introduction to SCM and GForge 23 GForge

CS 501 : An Introduction to SCM and GForge 24 GForge

CS 501 : An Introduction to SCM and GForge 25 GForge

CS 501 : An Introduction to SCM and GForge 26 GForge

CS 501 : An Introduction to SCM and GForge 27 Conclusion  SCM tools are Very Helpful  GForge is a Good Project Tools Available at CIS

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

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

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

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

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