Jump to first page (C) 1998, Arun Lakhotia 1 Software Configuration Management: Version Control Arun Lakhotia University of Southwestern Louisiana Po Box.

Slides:



Advertisements
Similar presentations
1 IST 410/420 Software Version Control 2 DevelopmentIntegration Test System Test User Acceptance Testing ProductionArchive DEVELOPMENTUSERS - Developers.
Advertisements

Configuration Management
1 GOES-R AWG Products Processing Framework Configuration Management Yunhui Zhao.
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
Version Control, Revision Control Software Configuration Management.
Concepts of Version Control A Technology-Independent View.
Version Control using Subversion Albert Young-Sun Kim November 2 nd, 2005 Available at entations/ subversion/
1 Software Configuration Management METU Computer Engineering CEng 492 Spring'2004.
CVS II: Parallelizing Software Development Author: Brian Berliner John Tully.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Version Control and Subversion Chris Coakley. Outline What is Version Control? Why use it? Using Subversion (SVN)
Configuration Management and RCS CPS470 Fall 1999.
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.
1 Copyright © 2014 Tata Consultancy Services Limited Source Code Management using Rational Team Concert IBM Rational, Alliance & Technology Unit 2 July.
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.
Software Configuration Management (SCM)
Source Code Revision Control Software CVS and Subversion (svn)
Software Configuration Management (SCM)
Software Configuration Management
Introduction to Version Control
1 Lecture 19 Configuration Management Software Engineering.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
CVS 簡介 數位芝麻網路公司蔡志展 2001/8/18 大綱 • CVS 簡介 • CVS 安裝 • CVS 設定 (Linux/Windows) • CVS 指令簡介 • CVS 多人環境的應用.
Jump to first page (C) 1998, Arun Lakhotia 1 Software Configuration Management: Build Control Arun Lakhotia University of Southwestern Louisiana Po Box.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Software Quality Assurance
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
- Ahmad Al-Ghoul Data design. 2 learning Objectives Explain data design concepts and data structures Explain data design concepts and data structures.
CSE 219 Computer Science III CVS
Concurrency Server accesses data on behalf of client – series of operations is a transaction – transactions are atomic Several clients may invoke transactions.
ClearCase Concepts and Terminology
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
Software Project Management
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
CPSC 871 John D. McGregor Change management Module 2 Session 3.
Management of Software Project CSM Software Configuration Management (SCM)
12 Copyright © 2009, Oracle. All rights reserved. Managing Backups, Development Changes, and Security.
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Version Control System
Software Configuration Management SEII-Lecture 21
WinCVS Training è Basic Concepts è Download & Setup è Importing a new module into CVS Repository è Getting new module from CVS è Getting Latest version.
22 Copyright © 2008, Oracle. All rights reserved. Multi-User Development.
Project management Topic 8 Configuration Management.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
1 Week 9 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
1 Subversion Kate Hedstrom April Version Control Software System for managing source files –For groups of people working on the same code –When.
Version Control Systems CS222 Baris Aktemur. Software Development Software development is done in teams Team members are in separate physical locations.
Software Configuration Management (SCM)
Software Configuration Management CSC-532
Software Project Configuration Management
LECTURE 2: Software Configuration Management
RTC – Source Control Management
Concurrent Version Control
Configuration Management (managing change)
Software Configuration Management
LECTURE 3: Software Configuration Management
Revision Control Daniel Daugherty
Design and Programming
Baseline – IEEE definition
Systems Analysis and Design I
Presentation transcript:

Jump to first page (C) 1998, Arun Lakhotia 1 Software Configuration Management: Version Control Arun Lakhotia University of Southwestern Louisiana Po Box Lafayette, LA 70504, USA

Jump to first page (C) 1998, Arun Lakhotia 2 Software Configuration Management n Practice of handling changes systematically n Three components u Build control u Version control u Change control

Jump to first page (C) 1998, Arun Lakhotia 3 Traditional Version Control n Common methods of maintaining versons u Copy versions into separate directories F backup F old F old/old F backup.Feb u Copy versions onto separate disks/diskettes and label the disk

Jump to first page (C) 1998, Arun Lakhotia 4 Problems with traditional approach n Inefficient use of storage n Inefficient for storage and retrieval n Inefficient for comparing changes across versions

Jump to first page (C) 1998, Arun Lakhotia 5 Common approaches for working in teams n Each person maintains a copy of the system n Every one works on the same copy of the system n A combination of the two

Jump to first page (C) 1998, Arun Lakhotia 6 Conflicts when working in teams n Multiple programmers may simultaneously modify u different copies of the same files u same file u inconsistent versions of the files

Jump to first page (C) 1998, Arun Lakhotia 7 Version Control Requirements n Provide methods to save the state of a “configuration” at various snapshots in time n Provide methods to revert configuration to an earlier state

Jump to first page (C) 1998, Arun Lakhotia 8 Version Control Capabilities n Version control procedure or tool should provide capabilities to: u identify (name) u time/date stamp u store and retrieve u compare multiple versions of u individual components, or u complete configuration, or u some combination thereof

Jump to first page (C) 1998, Arun Lakhotia 9 Version control tools n Individual file level control u SCCS u RCS n Directory level control u CVS u Razor

Jump to first page (C) 1998, Arun Lakhotia 10 Configuration Repository n A version control tool is essentially a database manager n The database of versions of one or more programs is called a Repository n Process of depositing an item in the repository is called checkin n Process of retrieving an item from the repository is called checkout

Jump to first page (C) 1998, Arun Lakhotia 11 Configuration identification n Configuration item u Primitive components whose versions need be controlled n Baseline u State of all configuration items at some particular time u Baselines are typically defined at completion of certain phases F Functional baseline F Design baseline F Product baseline n All changes made after a baseline has been defined must be controlled (I.e., approved, recorded, etc.)

Jump to first page (C) 1998, Arun Lakhotia 12 Identifying versions: Numbering n Convention for naming versions. n Numbering convention: u Associate two numbers RR.VV F RR is major release F VV is version F Such as 1.0, 1.1, 1.2, 2.0, n Each configuration item has its own version number n Different configuration item within a configuration may have different version number

Jump to first page (C) 1998, Arun Lakhotia 13 Identifying versions: Symbolic n A symbolic name may be assigned to a version number u 2.2 = design-baseline u 3.0 = fully-tested n The “current state” of all configuration items may be given the same symbolic name n Symbolic names may be used to identify the state of the whole system at a given time

Jump to first page (C) 1998, Arun Lakhotia 14 Access control n VC tools control the access of configuration items to prevent conflicts when working in team n Common Access Control mechanisms u Lock at check-out u Complain at check-in

Jump to first page (C) 1998, Arun Lakhotia 15 Lock at checkout n At any time there can be only one checked out copy of an item n Arbitrary number of copies may be taken to peek n A copy may be checked in only if it has been checked out earlier n When an item is added to a repository it is unlocked

Jump to first page (C) 1998, Arun Lakhotia 16 Lock at checkout: State diagram Not in repository lockedunlocked Add to repository Checkout Checkin Peek

Jump to first page (C) 1998, Arun Lakhotia 17 Lock at checkout: Example F1.c F1.h F2.c Baseline: Rel-1 Programmer A Programmer B Checkout: F1.c, F1.h Checkout: F2.c Peek: F2.cPeek: F1.c, F1.h Time: T0 Time: T1 Checkin: F1.c Checkin: F2.c Time: T2 Checkout: F2.c Sorry! Not allowed Time: T3 Time: T4 System inconsistent

Jump to first page (C) 1998, Arun Lakhotia 18 Complain at checkin n There are NO locks n Anyone may retrieve and modify an item n The first one to checkin a modification is allowed n Subsequent checkins are disallowed. To do so the modifications must be merged with the most recent checkout version

Jump to first page (C) 1998, Arun Lakhotia 19 Lock at checkout: Example F1.c F1.h F2.c Baseline: Rel-1 Programmer A Programmer B Checkout ALL Time: T0 Time: T1 Modify: F1.cModify: F2.c Time: T2 Update F1.c Time: T3 Time: T4 Complain! F1.c changed Checkin ALL

Jump to first page (C) 1998, Arun Lakhotia 20 Lock at checkout: Analysis n Benefits u Ensures that there are no simultaneous modifications to the same item. n Drawback u Hampers parallel development u Potential for deadlock: two people waiting on each other to release a locked item

Jump to first page (C) 1998, Arun Lakhotia 21 Complain at checkin: Analysis n Benefits u Supports parallel development u Enables directory level operations n Drawbacks u Requires sophisticated tools for merging changes u Prolonged delays in checkin may make people out of sync

Jump to first page (C) 1998, Arun Lakhotia 22 Summary: Version Control n VC encompasses the tasks involved in managing multiple versions of a (multi- component) system being developed by multiple programmers n There are several tools available that can automate various VC tasks n The VC tools place the source code in a “repository” and provide mechanisms to add, checkin, and checkout items from the repository