1 Topics for this Lecture Software maintenance in general Source control systems (intro to svn)

Slides:



Advertisements
Similar presentations
Week 2 DUE This Week: Safety Form and Model Release DUE Next Week: Project Timelines and Website Notebooks Lab Access SharePoint Usage Subversion Software.
Advertisements

Version Control System (Sub)Version Control (SVN).
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Version Control What it is and why you want it. What is Version Control? A system that manages changes to documents, files, or any other stored information.
Source Control in MATLAB A tool for tracking changes in software development projects. Stuart Nelis & Rachel Sheldon.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
Concepts of Version Control A Technology-Independent View.
2/6/2008Prof. Hilfinger CS164 Lecture 71 Version Control Lecture 7.
Using subversion COMP 2400 Prof. Chris GauthierDickey.
Version Control Systems Phil Pratt-Szeliga Fall 2010.
CS311 – Lecture 08 Outline Subversion (SVN) *All information taken from “SVN Book” O’Reilly Lecture 081CS Operating Systems I.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Version Control and Subversion Chris Coakley. Outline What is Version Control? Why use it? Using Subversion (SVN)
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
SubVersioN – the new Central Service at DESY by Marian Gawron.
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.
By: Taylor Helsper.  Introduction  Bug Tracking  Progress Tracking  Version Control  Conclusion  Questions.
1 CSE 390 “Lecture 11” Version control with Git slides created by Ruth Anderson, images from
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from
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.
Chapter - 2 What is “GIT” VERSION CONTROL AND GIT BASICS.
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
Software Engineering Modern Approaches
Introduction to Version Control
Revision Control and Issue Tracking Andrew Watkins.
Version Control with Subversion Quick Reference of Subversion.
Software Engineering CS3003
1 Lecture 19 Configuration Management Software Engineering.
Git – versioning and managing your software L. Grewe.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
…using Git/Tortoise Git
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Version Control with SVN Images from TortoiseSVN documentation
By: Anuj Sharma. Topics covered:  GIT Introduction  GIT Benefits over different tools  GIT workflow  GIT server creation  How to use GIT for first.
11 Version Control Systems Mauro Jaskelioff (originally by Gail Hopkins)
CPSC 871 John D. McGregor Change management Module 2 Session 3.
L.T.E :: Learning Through Experimenting Using google-svn for MtM Docs Development Denis Thibault Version 3.2 Mar 12 th, 2009.
P51UST: Unix and SoftwareTools Unix and Software Tools (P51UST) Version Control Systems Ruibin Bai (Room AB326) Division of Computer Science The University.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Version Control System
Version Control and SVN ECE 297. Why Do We Need Version Control?
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
(1) Introduction to Subversion (SVN) and Google Project Hosting Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
CS520 Web Programming Version Control with Subversion Chengyu Sun California State University, Los Angeles.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
1 Subversion Kate Hedstrom April Version Control Software System for managing source files –For groups of people working on the same code –When.
BIT 285: ( Web) Application Programming Lecture 07 : Tuesday, January 27, 2015 Git.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Subversion (svn) Basics Department of Computer Science Kent State University Prof. Jonathan I. Maletic.
Subversion Subversion is a brand of version control software that is frequently used to store the code and documentation of a project so as to permit.
Version Control CS These slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Version Control with Subversion
Source Control Dr. Scott Schaefer.
Version Control CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Version Control overview
5.0 : Windows Operating System
Development and Deployment
Subversion.
Design and Programming
Git CS Fall 2018.
Prof. Hilfinger CS164 Lecture 4
Presentation transcript:

1 Topics for this Lecture Software maintenance in general Source control systems (intro to svn)

2 Topic 1: Software Maintenance This is not how software engineering works: First, design happens, Second, implementation happens, Third, testing confirms implementation and design were successful Fourth, the entire thing is frozen in carbonite forever and released to customers

3 Software Maintenance A second false idea is that the process of generating a working syst em is much more complicated than that, but At some point “the working version” is complete, and after that most changes are (small) bug fixes. This is the “software maintenance is like an oil change” theory: once in a while you have to make a small corrective action, but that’s it

4 Software Maintenance In fact, up to 80% of maintenance efforts are not bug fixes Software systems that are not used simply die Software systems that are used evolve to match their user environment Adding features Adding features adds complexity Adding complexity requires occasional re-factoring unless you want to end up with code that requires a “software archaeologist” to understand

5 Topic 2: Source Control How do we manage all these changes? Real-world projects are not a set of three.java files, or two.c files and two.h files Real-world systems are complicated trees of source files, support files, documentation, test cases, and configuration files Multiple developers work on the tree and make changes to it May want to go back to an old version May want to work on a file when you don’t have access to a shared network location Dropbox/copying around a zipped version is clumsy and prone to disaster

6 Source Control Systems Use source control systems (also known as revision control or version control) Common examples: rcs cvs svn (subversion) git We’re going to use a small subset of svn, which I will introduce on the next few slides svn is widely available and has a simple model svn is what OSU’s beaversource website (a repository for hosting software projects) uses

7 Intro to svn All source control systems: Track changes made to a software system Allow merging of changes to a part of a system Allow the development of multiple versions of a system We’re going to look at just three operations: Checking out a project Checking changes into a project Updating a project to get the latest changes made by others Also look at the web interface to svn provided by beaversource

8 Intro to svn

9 Getting Started with svn Log in to beaversource at (use your ONID account) Go to a command prompt (cygwin or unix/linux) Navigate till your current directory is a location you want to store your class code repository svn co --username A new directory will be created below your current directory location, containing all the cs362 material This is the contents of the repository

10 Creating Your Own Project Space Navigate into the cs362class directory projects section cd cs362class/projects Create your own directory for your code and tests: mkdir Is your code in the repository where everyone can see it now? We can check by going to wser wser Navigate in your web browser to the projects directory

11 Making Your Work Visible to Others How do you add your directory to the repository? svn add Is your code in the repository now? wser wser Why not?? Adding a directory or file doesn’t actually put it in the repository, it just tells svn you will eventually check it in I’ve personally held up a Mars mission by forgetting this fact! One more step: svn ci -m “Initial checkin”

12 Failed Permissions? If this didn’t work, you probably don’t have permission to add things to the class repository Need to contact someone else who does, and knows how to add permissions on beaversource

13 Seeing the Work of Other People Other people may change their files, add files, etc. How do you get the latest version of everything? Navigate to the top of the repository (or where ever you want to update everything below) and try: svn update

14 SVN REMINDERS You can look on beaversource to see if your code is actually checked in, and what version it is You need to add every file and directory you want other people to be able to look at If you add a directory svn will automatically try to add all the files in that directory Just adding things doesn’t actually put it in the repository You have to check in your changes