SWIM Project Meeting, Bloomington, IN1 125-27 September 2006 Working with the SWIM Code Repository David E. Bernholdt Oak Ridge National Laboratory

Slides:



Advertisements
Similar presentations
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.
Advertisements

1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Simple Git Steve Pieper. Topics Git considerations and Slicer Git as if it were svn Git the way it is meant to be.
Version Control, Revision Control Software Configuration Management.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
2/6/2008Prof. Hilfinger CS164 Lecture 71 Version Control Lecture 7.
Using subversion COMP 2400 Prof. Chris GauthierDickey.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
SubVersioN – the new Central Service at DESY by Marian Gawron.
Version Control Systems and the Subversion Kloimstein Dominik.
Source Code Revision Control Software CVS and Subversion (svn)
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.
1 CSE 390 “Lecture 11” Version control with Git slides created by Ruth Anderson, images 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.
Source Control Repositories for Team Collaboration: SVN, TFS, Git Svetlin Nakov Telerik Software Academy academy.telerik.com Manager Technical Training.
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
Source Control Repositories for Team Collaboration: SVN, TFS, Git.
Version Control with Subversion Quick Reference of Subversion.
Subversion Code Deployment LifeCycle August 2011.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Subversion (SVN) Tutorial Source:
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.
(Sub)Version Control. 2 Keep large teams working on the same code Back up your work so you don't lose it all Compare changes to previous versions Revert.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
SENG 403 Tutorial 1 1SENG 403 – Winter Agenda Version Control Basics Subversion Basic actions in Subversion Some examples 2SENG 403 – Winter 2012.
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
Subversion is a free/open-source version control system. It manages files and directories, and the changes made to them, over time. This allows you to.
Version Control with SVN Images from TortoiseSVN documentation
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Stephen Childs Trinity College Dublin &
Version Control Reducing risk with version control Jon Austin
Part 4: FCM and the UM University of Reading, December 2015.
Slide 1 Running NEMO at ECMWF Slide 1 NEMO under Perforce at ECMWF Kristian S. Mogensen Last revised:
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.
(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
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
CS520 Web Programming Version Control with Subversion Chengyu Sun California State University, Los Angeles.
1 Subversion Kate Hedstrom April Version Control Software System for managing source files –For groups of people working on the same code –When.
CS491A Software Design Lab Version Control with CVS and Subversion Chengyu Sun California State University, Los Angeles.
Introduction to Subversion Getting started with svn Matteo Vescovi 19/02/2010.
Version Control Using Subversion Tom Hilinski Natural Resource Ecology Laboratory Colorado State University October 2007
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Software Configuration Management -Subversion- RTLAB YuJin Park.
Information Systems and Network Engineering Laboratory II
Version Control Systems
Version Control with Subversion
SVN intro (review).
LECTURE 2: Software Configuration Management
Source Control Dr. Scott Schaefer.
Discussion 11 Final Project / Git.
Subversion Reasons to use How it works Subversion important commands
Version Control with Subversion (SVN)
Development and Deployment
Subversion.
Storing, Sending, and Tracking Files Recitation 2
Concurrent Version Control
Version Control System
LECTURE 3: Software Configuration Management
Revision Control Daniel Daugherty
Concurrent Version System (CVS)
CVS Concurrent Versioning System
Prof. Hilfinger CS164 Lecture 4
Concurrent Versions System
Version Control with Git and GitHub
Systems Analysis and Design I
Git Introduction.
Presentation transcript:

SWIM Project Meeting, Bloomington, IN September 2006 Working with the SWIM Code Repository David E. Bernholdt Oak Ridge National Laboratory

SWIM Project Meeting, Bloomington, IN September 2006 Why Use Centralized Version Control? A centralized repository makes it possible for any (authorized) person to obtain the code –No waiting on someone to send it to you –No question of which is canonical version Systematic version control gives you a complete history of changes to the code Centralized version control allows joint development without forking code

SWIM Project Meeting, Bloomington, IN September 2006 Subversion Version Control System Subversion (SVN) is the successor to CVS Extends CVS functionality modestly Similar command set to CVS –svn checkout repositoryURL [path] –svn status, svn update –svn commit --message message [files] –svn revert file –svn add, svn delete, svn mkdir, svn move –svn import Commits are atomic Version number increments with each commit See cswim.org  Guides  Subversion Howto for more info and pointers

SWIM Project Meeting, Bloomington, IN September 2006 Subversion Supports Multiple “Repositories” SWIM philosophy is to use separate repositories for separate items –ips – integrated plasma simulator –doc – project documents (papers, talks, posters, reports, etc.) –LinSysAnalyzer – Randy’s Linear System Analyzer See cswim.org  Guides  SWIM Code Repositories for list of repositories and locations Some codes already have repositories on other hosts –Moving to cswim.org is an option, but not a requirement –We may eventually mirror them on cswim.org

SWIM Project Meeting, Bloomington, IN September 2006 SVN Terminology and Conventions The top level of any SVN repository contains three subdirectories Trunk (e.g. ips/trunk/ ) –Tree where primary development takes place Tags (e.g. ips/tags/ ) –Specific (fixed) versions, marked for separate checkout –For example, mark public releases of code, or versions known to work correctly Branches (e.g. ips/branches/ ) –Places where private development can take place –Merging of changes between trunk and branch are controlled by user

SWIM Project Meeting, Bloomington, IN September 2006 A Tour of the IPS Repository IPSDev/ STATE_batchelor/ mod/ src/ obj/ doc/ 2006/ design/ Example_PS_and_PS_rf/ papers/ presentations/ reports/ workshops/ DOE/ framework/ components/ src/ utilities/ src/ IPSDev/components/ state/ batchelor/ src/ mccune/ mod/ src/ obj/ rf/ toric/ aorsa/ legacy/ src/ shared/ src/ framework/ utils/ lsa_scripts/ svn checkout IPSDev

SWIM Project Meeting, Bloomington, IN September 2006 Key Points of IPS Repository Structure (1) Organize components by class, then instance (specific code they wrap) Documentation of components should parallel actual components It is better to capture is somewhere rather than nowhere! –If you’re unsure where something belongs, ask Randy or David –Things can be moved within an SVN repository –Polite to announce the move, in case others are working on the same part of the tree

SWIM Project Meeting, Bloomington, IN September 2006 Key Points of Repository Structure (2) Directories shown are where source code (for component wrappers) & documentation should be developed and built Most actual physics codes will live outside the IPS tree –Come from other version control repositories –For Fast MHD campaign should not need to be modified MyIPS/ IPSDev/ aorsa cql3d/ m3d/ …

SWIM Project Meeting, Bloomington, IN September 2006 IPS “Installation” Directories IPS tree also encompasses directories that hold the scripts/binaries/libraries as they are installed for use IPSDev/ bin/ etc/ lib/ libexec/ man/ share/ These directories should NEVER have anything check into them directly (in SVN), only installed from the place where they are built!

SWIM Project Meeting, Bloomington, IN September 2006 IPS Development Workflow Develop components in IPS tree Modify physics codes in their own trees Install all codes into IPSDev/bin, … Put IPSDev/bin in path (or copy) to run See cswim.org  Guides  IPS Development Workflow for more detailed explanation

SWIM Project Meeting, Bloomington, IN September 2006 Integrating a Large System is an Evolutionary Process These guidelines draw on experience developing large, integrated, simulation software Organizing large codes of this type is a “research” question, not a textbook question Flexibility to change and adjust as we gain experience If you don’t understand something (or the motivation for it) just ask If you don’t think something is “working” and you have a better approach – speak up!

SWIM Project Meeting, Bloomington, IN September 2006 Guides on SWIM Web Site Subversion Howto SWIM Code Repositories IPS Development Workflow All can be found at cswim.org  Guides Please suggest improvements –Or make them yourself!