2-May-15 Version Control. 2 Why version control? Scenario 1: Your program is working You change “just one thing” Your program breaks You change it back.

Slides:



Advertisements
Similar presentations
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Advertisements

Warren Jones, Fluke Co., Eugene Kramer, Remedy Co. Introduction to CVS 1999 Concurrent Versions System Overview of CVS architecture. Repository structure.
Warren Jones, Fluke Co., Eugene Kramer, Remedy Co. Introduction to CVS 1999 Concurrent Versions System Overview of CVS architecture. Repository structure.
Version Control System (Sub)Version Control (SVN).
Version Control. Why version control? zScenario 1: yYour program is working yYou change "just one thing" yYour program breaks yYou change it back yYour.
Version Control 1.  Version control (or revision control) is the term for the management of source files, and all of the intermediate stages as development.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview.
Dedi Rahmawan Putra  Shared Document  Conventional Ways  Common Problems  What is TortoiseSVN  Advantages over another tools  Basic Concepts.
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?
1 SVN – Tool for Version Control Talal Ahmed ( ) Ali Ahsan ( ) Adil Zia Khan ( ) Farid Ullah ( )
Version Control Systems Phil Pratt-Szeliga Fall 2010.
CVS II: Parallelizing Software Development Author: Brian Berliner John Tully.
The iiuf Java Package Part II Simon Schubiger and Oliver Hitz DIUF, University of Fribourg.
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.
1 CMPT 275 Software Engineering Revision Control.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
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.
By Steven Campbell and Erik Boone.  Sharing projects by putting them into a central repository.  Checking out copies of projects from the repository.
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)
Git A distributed version control system 23-Aug-15.
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.
1 Topics for this Lecture Software maintenance in general Source control systems (intro to svn)
Source Code Management with CVS Kurt Wiersma December 2004.
Article: Source Code Review Systems Author: Jason Remillard Presenter: Joe Borosky Class: Principles and Applications of Software Design Date: 11/2/2005.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
Development tools cvs, tkdiff, JBuilder, building GATE from the sources.
Version Control with Subversion Quick Reference of Subversion.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Warmup A programmer’s wife tells him, “Would you mind going to the store and picking up a loaf of bread? Also, if they have eggs, get a dozen.” The programmer.
Object-Oriented Software Engineering Using UNIX groups and Subversion Estimated Time: minutes “Unix is user-friendly. It's just very selective about.
Object-Oriented Software Engineering Using UNIX groups and CVS Estimated Time: minutes.
Version control Using Git Version control, using Git1.
SharePoint document libraries I: Introduction to sharing files Sharjah Higher Colleges of Technology presents:
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Version Control.
An Intro to Concurrent Versions System (CVS) ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
Introduction to Version Control SE-2030 Dr. Rob Hasker 1 Based on material at and slides written.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
CSE 219 Computer Science III CVS
Configuring Sourceforge’s CVS to work with Forte (3.0 or later) on WindowsNT and Windows 2000 Specific for MAExplorer.sourceforge.net Written by Eric Shen,
RCS The Revision Control System. To Be Covered… An RCS overview The RCS command set Some useful things Where it can be used Alternatives to RCS.
Version Control with SVN Images from TortoiseSVN documentation
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
After Spring Break 2014 March 18, After Spring Break 2014 Airplane missing (gone missing, still missing) Malaysia MH 370 (news people don’t know.
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.
Week 3 January 22, 2004 Adrienne Noble. Today CVS – a great tool to use with your groups Threads – basic thread operations Intro to synchronization Hand.
Version Control System Lisa Palathingal 03/04/2015.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Version Control System
Introduction to Text Based Coding. We’re learning to explore how text based programming works You will display and enter text into a window You will use.
Version Control and SVN ECE 297. Why Do We Need Version Control?
WinCVS Training è Basic Concepts è Download & Setup è Importing a new module into CVS Repository è Getting new module from CVS è Getting Latest version.
11/14/2006Christine Hennig1 Revision Control at W7-X CVS (Subversion) XDV: Christine Hennig.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Warren Jones, Fluke Co., Eugene Kramer, Remedy Co. Introduction to CVS 1999 Revised by David Svoboda 2003 Concurrent Versions System Overview of CVS architecture.
1 Subversion Kate Hedstrom April Version Control Software System for managing source files –For groups of people working on the same code –When.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 28-Jun-16.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Version Control with Subversion
SVN intro (review).
Source Control Dr. Scott Schaefer.
Version control, using Git
Concurrent Versions System
Systems Analysis and Design I
Version Control 101 with Subversion
Presentation transcript:

2-May-15 Version Control

2 Why version control? Scenario 1: Your program is working You change “just one thing” Your program breaks You change it back Your program is still broken--why? Has this ever happened to you?

3 Why version control? (part 2) Your program worked well enough yesterday You made a lot of improvements last night......but you haven't gotten them to work yet You need to turn in your program now Has this ever happened to you?

4 Version control for teams Scenario: You change one part of a program--it works Your co-worker changes another part--it works You put them together--it doesn’t work Some change in one part must have broken something in the other part What were all the changes?

5 Teams (part 2) Scenario: You make a number of improvements to a class Your co-worker makes a number of different improvements to the same class How can you merge these changes?

6 diff tools There are a number of tools that help you spot changes (differences) between two files Tools include diff, rcsdiff, jDiff, etc. Of course, they won't help unless you kept a copy of the older version Differencing tools are useful for finding a small number of differences in a few files

7 jDiff jDiff is a plugin for the jEdit editor Advantages: Everything is color coded Uses synchronized scrolling It's inside an editor--you can make changes directly Disadvantages: Not stand-alone, but must be used within jDiff Just a diff tool, not a complete solution

8 jDiff

9 Version control systems A version control system (often called a source code control system) does these things: Keeps multiple (older and newer) versions of everything (not just source code) Requests comments regarding every change Allows “check in” and “check out” of files so you know which files someone else is working on Displays differences between versions

10 sccs sccs is Source Code Control System (UNIX) sccs keeps multiple versions of a complete directory Storage requirements are small, because sccs : keeps the original documents keeps the changes needed to go from one version to the next generates any version when you ask for it

11 rcs rcs is Revision Control System (also UNIX) rcs is like sccs, and does the same things, but sccs keeps the originals, and applies changes to get to newer versions rcs keeps the current versions, and applies changes to get back to older versions (Opinion) You usually want to work with the newer versions, so rcs is usually the better choice

12 rcs commands Create a directory for your rcs files co -l file -- check out a file and lock it Locking means you can check the file back in ci file -- check in a revision (put file under rcs control) rcs -l file -- lock a file you already checked out (Needed when you checked it out and forgot the -l ) rcsdiff files -- report differences between files merge files -- merges two files into original file Not magic--you have to check the results

13 Who cares about UNIX? CVS (Concurrent Versions System) is the most popular version control system on Windows CVS is built on top of rcs CVS is built into JBuilder and Eclipse “There are two ways to run CVS on Windows 95/NT. The first is as a client, talking to a CVS server on a Unix box. This is the recommended setup and is commonly used.” --

14 CVS commands cvs checkout file cvs commit file cvs diff file These are CVS commands under UNIXPopular GUIs on Windows: tkCVS jCVS WinCVS

15 CVS home page

16 The End