Using Source Code Control Effectively

Slides:



Advertisements
Similar presentations
Introduction To GIT Rob Di Marco Philly Linux Users Group July 14, 2008.
Advertisements

1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Dedi Rahmawan Putra  Shared Document  Conventional Ways  Common Problems  What is TortoiseSVN  Advantages over another tools  Basic Concepts.
Version Control using Subversion Albert Young-Sun Kim November 2 nd, 2005 Available at entations/ subversion/
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?
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
SubVersioN – the new Central Service at DESY by Marian Gawron.
By Steven Campbell and Erik Boone.  Sharing projects by putting them into a central repository.  Checking out copies of projects from the repository.
Source Code Revision Control Software CVS and Subversion (svn)
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 Code Management with CVS Kurt Wiersma December 2004.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
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.
Version Control with Subversion Quick Reference of Subversion.
1 Lecture 19 Configuration Management Software Engineering.
Version control Using Git Version control, using Git1.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Chris Onions Getting started with CVS in ATLAS 11 Getting started with CVS in ATLAS Chris Onions (Tutorial based on that of Raúl Ramos Pollán CERN / IT.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
ClearCase Basics XML presentation.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
SENG 403 Tutorial 1 1SENG 403 – Winter Agenda Version Control Basics Subversion Basic actions in Subversion Some examples 2SENG 403 – Winter 2012.
DireXions – Your Tool Box just got Bigger PxPlus Version Control System Using TortoiseSVN Presented by: Jane Raymond.
CSE 219 Computer Science III CVS
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
1 CSE306 Operating Systems Projects CVS/SSH tutorial.
WinCvs. WinCVS WinCvs is a window based version control system. Use WinCvs when  You want to save every version of your file you have ever created. CVS.
CVS: Concurrent Version System Lecturer: Prof. Andrzej (AJ) Bieszczad Phone: “UNIX for Programmers and Users” Third.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
2136 Gallows Road, Suite F, Dunn Loring, VA Phone: Fax: Business Analyst Training 1 Module 5.2 Rational ClearCase.
WinCVS Training è Basic Concepts è Download & Setup è Importing a new module into CVS Repository è Getting new module from CVS è Getting Latest version.
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Version Control Jose Caraballo. What is version Control?
Anjana & Shankar September,2010 Introduction to Programming Tools.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Revision Control for Sysadmins
Version Control Systems
Source Control Systems
Software Configuration Management CSC-532
Version Control with Subversion
SVN intro (review).
LECTURE 2: Software Configuration Management
Source Control Dr. Scott Schaefer.
Version Control with Subversion (SVN)
An Intro to Concurrent Versions System (CVS)
Version control, using Git
Introduction to Configuration Management With RCS
CSE 303 Concepts and Tools for Software Development
CVS revisions UML diagram
Version Control Systems
Concurrent Version Control
Version Control System
LECTURE 3: Software Configuration Management
Revision Control Daniel Daugherty
Source Code Control Systems
Microsoft Visual Source Safe How & Why
CVS Concurrent Versioning System
Subversion Basics Guide
Version Control with Git
Concurrent Versions System
Systems Analysis and Design I
Version Control 101 with Subversion
Presentation transcript:

Using Source Code Control Effectively Gang Cheng gacheng@syr.edu

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

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

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

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

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

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/ssafe

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

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”

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

CVS General CVSNT (CVS Window Server) WinCVS (CVS Window Client) 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/~u86216121/InstallCVSNT.html WinCVS (CVS Window Client) WinCVS Homepage http://www.wincvs.org/index.html Installation & Config Guide http://www.cmcrossroads.com/ubbthreads/showflat.php?Cat=0&Number=31083&page=0&view=collapsed&sb=2&o=&fpart=1

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 http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/rcs/ SharpCVSLib (CVS Client Library) A Client API for the CVS protocol, written in C# SCVSLib Homepage http://sharpcvslib.sourceforge.net/

CVS CVSNT Running

CVS WinCVS Login

CVS WinCVS: User Gang Import module

CVS WinCVS: User Charlie checkout module

CVS WinCVS: User Charlie Edit a file

CVS WinCVS: User Charlie commits the file

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

CVS WinCVS: User Gang checks version tree

CVS WinCVS: User Gang retrieves the old version

RCS File head 1.3; access; symbols arelease:1.1.1.1 avendor:1.1.1; locks; strict; comment @# @; 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 @Please read me.txt@; 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 @Please read me.txt@; ……

End of Presentation