Damien Guard (BSc, MBCS) Guernsey Software Developer Forum Change management with Subversion.

Slides:



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

Intro to Version Control Have you ever …? Had an application crash and lose ALL of your work Made changes to a file for the worse and wished you could.
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Let Use SVN(Subversion) Interaction Lab. Hyo-Geun Ahn
Made in USA Software Development Services Ayoka, L.L.C. 202 E. Border Street, Ste 334 Arlington, TX By Steven Ledford.
Summer of Code (SOC) Presentation Fred R McClurg Girish H Mhatre Version Control Overview.
Version Control System Sui Huang, McMaster University Version Control SystemSui Huang, McMaster University Version Control System -- base on Subversion.
Revision Control Systems Amin Tootoonchian Kian Mirjalali.
Dedi Rahmawan Putra  Shared Document  Conventional Ways  Common Problems  What is TortoiseSVN  Advantages over another tools  Basic Concepts.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
Subversion Takes Back the Night How Version Control makes web development better.
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.
Version Control at UCB Version control with Subversion and Subclipse.
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.
European Organization for Nuclear Research Source Control Management Service (Subversion) Brice Copy, Michel Bornand EN-ICE 13 May 2009.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
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.
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.
Programming in Teams And how to manage your code.
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
Introduction to Version Control
Source Control Repositories for Team Collaboration: SVN, TFS, Git.
The Design Workshop Introduction to Version Control 1.
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 how to set it up, use it, and save your sanity.
Version Control with Subversion Quick Reference of Subversion.
1 Lecture 19 Configuration Management Software Engineering.
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University
Version control Using Git Version control, using Git1.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Subversion (SVN) Tutorial Source:
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
Version Control Systems with Subversion (SVN) and Tortoise.
Version Control Menggunakan TortoiseSVN
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?
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.
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
Version Control with SVN Images from TortoiseSVN documentation
Version Control Reducing risk with version control Jon Austin
1 MSTE Visual SourceSafe For more information, see:
Sabriansyah R.A Version Control. The Repository Subversion adalah sistem tersentralisasi untuk informasi sharing Repository adalah pusat penyimpanan data.
Version Control and SVN ECE 297. Why Do We Need Version Control?
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
(1) Introduction to Subversion (SVN) and Google Project Hosting Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences.
(1) Introduction to Subversion (SVN) and Google Project Hosting Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
NALINI S. NAUTIYAL SYSTEM SOFTWARE DIVISION Subversion.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
CS491A Software Design Lab Version Control with CVS and Subversion Chengyu Sun California State University, Los Angeles.
Anjana & Shankar September,2010 Introduction to Programming Tools.
Software Configuration Management -Subversion- RTLAB YuJin Park.
Source Control Systems
Subversion for administrators
Version control, using Git
Concurrent Version Control
Version Control System
slides borrowed and adapted from Alex Mariakis and CSE 390a
Version Control 101 with Subversion
Presentation transcript:

Damien Guard (BSc, MBCS) Guernsey Software Developer Forum Change management with Subversion

Why manage change?

Know and control what goes into a release Develop versions in parallel Work with any previous code-base Apply change where it is needed Version control

Why manage change? Function as a team without losing work Merge automatically where possible Resolve conflicts interactively Autonomous off-line or distance working Collaboration

Why manage change? Audit log of what was changed by whom Legal due diligence & professional conduct Standards & certification compliance Individual responsibility for contributions Responsibility

Why manage change? Automated build & deployment Continuous integration testing Gateway to...

Why Subversion? Open source, cross platform Stable, widely used Unobtrusive copy-modify-merge model Integration via additional tools

Technical benefits Transactional commit mechanism Metadata support per file & directory Off-line support Efficient use of network & disk

Terminology

Repository Central store located on a server e.g. svn://myserver/ Updated through commits Recommended path structure Single projectMultiple project /trunk/ /tags/ /branches/ /project2/trunk/ /project2/branches/ /project2/tags/

Commit Set of related changes Receives unique sequential number n Revision n refers to the repository after commit n is applied Commit early and often

Trunk Primary path used for development Active and potentially unstable Should still compile ideally...and pass automated tests

Branch Copy of trunk, a branch or tag for isolation When preparing for a release...and trunk needs to carry on When change is too disruptive...and will hinder other developers Merge changes back to trunk later

Tag Copy of trunk or a branch for information Each tag represents a specific release Easier than remembering revision & path No further commits...so control /tags/ with security

Working copy Partial or full checkout of the repository Local copy for a single developer Native file formats - edit as usual Subversion client data in.svn directories

Server options Hosted open - Google Code, SourceForge Hosted private - CVSDude $7-$30/month Svnserve dedicated - Simple set-up Apache mod - HTTP, SSL, SSPI

Clients Command-line, cross platform & scriptable TortoiseSVN for Windows Explorer AnkhSVN for Visual Studio Subclipse for Eclipse

Getting started Setup repository folders Checkout Import files Commit

Typical process Make changes Update working copy Resolve any conflicts Test Commit

Other operations Revert Patches Branch & switch Blame Lock & unlock

Additional tools Trac ticket & milestone tracking, wiki CruiseControl continuous integration ViewVC web interface

Conclusion Subversion can work for you Simple & inexpensive to get started Address release, audit and collaboration headaches

More information Official web site Version Control with Subversion Bruce Perens: Subversion Version Control

Questions?

Developer buy-in Commitment Developers must be on-board Unobtrusive Stay out of the way until needed Enabling Make bold changes & remove dead code

Disadvantages Apache installation process Large file handling via Apache > 15MB Management of security Tracking of merge

Alternatives ProductPointsPer user Perforce ✔ large file support ✔ merge & branch tracking ✘ IDE integration $800 ClearCase ✔ comprehensive $1,770 Team Services ✔ Visual Studio integration ✔ bug-tracking & testing ✘ Interoperability $3,300 SourceSafe ✘ Unreliable ✘ Obtrusive lock/unlock cycle $0