NEEDS Berkeley Workshop 2014 NEEDS Compact Model Development Process Michael McLennan Director, HUBzero® Platform for Scientific Collaboration Purdue University.

Slides:



Advertisements
Similar presentations
Introduction To GIT Rob Di Marco Philly Linux Users Group July 14, 2008.
Advertisements

1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Using Subversion for Source Code Control Michael McLennan Software Architect Network for Computational Nanotechnology.
Version Control CS440 – Introduction to Software Engineering © 2014 – John Bell Based on slides prepared by Jason Leigh for CS 340 University.
Simple Git Steve Pieper. Topics Git considerations and Slicer Git as if it were svn Git the way it is meant to be.
Using workspaces on nanoHUB.org Michael McLennan Software Architect Network for Computational Nanotechnology.
Version Control System Sui Huang, McMaster University Version Control SystemSui Huang, McMaster University Version Control System -- base on Subversion.
Practical software engineering: Revision control & make Spring 2010, Recitation #2.
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.
2/6/2008Prof. Hilfinger CS164 Lecture 71 Version Control Lecture 7.
Using subversion COMP 2400 Prof. Chris GauthierDickey.
Version Control using Subversion Albert Young-Sun Kim November 2 nd, 2005 Available at entations/ subversion/
Source Code Revision Control with Subversion Christophe Dupré May 13, 2005 Update KEJ May 10, 2006 Scientific Computation Research Center Rensselaer Polytechnic.
CS311 – Lecture 08 Outline Subversion (SVN) *All information taken from “SVN Book” O’Reilly Lecture 081CS Operating Systems I.
1 Using Workspaces to Develop Simulation Tools Michael McLennan Software Architect HUBzero™ Platform for Scientific Collaboration This work licensed under.
SubVersioN – the new Central Service at DESY by Marian Gawron.
Version Control Systems and the Subversion Kloimstein Dominik.
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)
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 Uploading and Publishing New Tools Michael McLennan Software Architect HUBzero™ Platform for Scientific Collaboration This work licensed under Creative.
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.
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
علیرضا فراهانی استاد درس: جعفری نژاد مهر Version Control ▪Version control is a system that records changes to a file or set of files over time so.
Bags, foreign keys, selects, joins, and yes, btw, SVN 2/18/2014.
Version Control with Subversion Quick Reference of Subversion.
Introduction to Versioning
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.
Version Control Systems academy.zariba.com 1. Lecture Content 1.What is Software Configuration Management? 2.Version Control Systems (VCS) 3.Basic 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.
(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.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
System Programming - LAB 1 Programming Environments.
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
By: Anuj Sharma. Topics covered:  GIT Introduction  GIT Benefits over different tools  GIT workflow  GIT server creation  How to use GIT for first.
Git overview for RoboCup Andre Pool, September 2015.
Version Control Systems. Version Control Manage changes to software code – Preserve history – Facilitate multiple users / versions.
Copyright © Curt Hill Tortoise SVN A Subversion Client.
Version Control System Lisa Palathingal 03/04/2015.
L.T.E :: Learning Through Experimenting Using google-svn for MtM Docs Development Denis Thibault Version 3.2 Mar 12 th, 2009.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Using Simulation Workspaces Michael McLennan HUBzero® Platform for Scientific Collaboration Purdue University 1 This work licensed under Creative Commons.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 16 – Version control and git.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Introduction to Git - Chirag Dani. Objectives Basics of Git Understanding different “Mindset of Git” Demo - Git with Visual Studio.
© CGI Group Inc. User Guide Subversion client TortoiseSVN.
NALINI S. NAUTIYAL SYSTEM SOFTWARE DIVISION Subversion.
Using Subversion for Source Code Control Michael McLennan HUBzero® Platform for Scientific Collaboration Purdue University This work licensed under Creative.
Software Testing and Maintenance 1 Subversion  Fundamental Concepts  Basic Usage.
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.
Git A distributed version control system Powerpoint credited to University of PA And modified by Pepper 28-Jun-16.
Collaborative Git An introduction to Git with others
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
CS1010: Intro Workshop.
Version Control with Subversion
A Simple Introduction to Git: a distributed version-control system
Source Control Dr. Scott Schaefer.
Subversion Reasons to use How it works Subversion important commands
CSE 303 Concepts and Tools for Software Development
Concurrent Version Control
Compilers, Make and SubVersion
User Guide Subversion client TortoiseSVN
Subclipse CSCI 3130 Summer 2016.
Subversion Basics Guide
Prof. Hilfinger CS164 Lecture 4
Presentation transcript:

NEEDS Berkeley Workshop 2014 NEEDS Compact Model Development Process Michael McLennan Director, HUBzero® Platform for Scientific Collaboration Purdue University West Lafayette, IN

Compact Model Development 2 1.Create a project area 2.Access the Model Development Environment (MDE) 3.Work on your compact model code 4.Questions, Wishes, Tickets 5.Model publication process

1. Create a project area 3 Start the “upload” process

1. Create a project area 4 Choose “Tools” as the resource type

1. Create a project area 5 Short Tool Name: needsqsmmc Title: Quantum Singularity Device Version: 0.1a At a glance: Generates power from a localized distortion of space and time Start all names with “needs”

1. Create a project area 6 nanoHUB logins for people who are writing the model code

1. Create a project area – done! 7

Coming back later… 8

2. Access the Model Dev Env (MDE) 9

2. Access the Model Dev Env (MDE) 10 system(‘svn checkout needsqsmmc’) Your model name goes here

Client/Server model: Subversion repository Server (nanoHUB.org) Clients Using Subversion to Manage Code svn = Subversion Created by developers at CollabNet In development since 2000 Open source (Apache/BSD-style license) Unix/Linux, Win32, MacOS X Upload: add/commit Download: checkout 11

working x1 x2 Why bother with Subversion? Does this sound familiar? NCSA carter test CPU: 420sCPU: 340s v1 = v2 = v1 = v2 = x2 output v1 = v2 = v1 = v2 = x3.1a output x2 x2.1 x2.2 x2 x3 x3.1 ? 12

Top 5: Why you should use Subversion It’s easy to learn A little simpler than Git You’ll feel more secure SSL transport between client/server; repository is backed up Where did I put that… It’s in the repository Who broke the build? Look at the revision history Your hard drive just died No problem, your code is in the repository Subversion repository SSL carter NCSA 13

A few simple commands 14 svn checkout needsqsmmc/svn/trunk needsqsmmc cd needsqsmmc svn delete middleware svn delete rappture cp mymodel.m src svn add src/mymodel.m svn commit

Whoever checks in first has no problem Next “svn update” integrates compatible changes Merging changes CC=gcc all: $(CC) -O hello.c CC=gcc all: $(CC) -O hello.c svn commit edit: Makefile all: gcc –O hello.c clean: rm –f *.o a.out all: gcc –O hello.c clean: rm –f *.o a.out 15

Merging changes Whoever checks in first has no problem Next “svn update” integrates compatible changes Use “svn commit” to commit the merged changes svn update edit: Makefile all: gcc –O hello.c clean: rm –f *.o a.out all: gcc –O hello.c clean: rm –f *.o a.out CC=gcc all: $(CC) -O hello.c clean: rm –f *.o a.out CC=gcc all: $(CC) -O hello.c clean: rm –f *.o a.out svn commit 16

Resolving merge conflicts Whoever checks in first has no problem Next “svn update” integrates changes CC=gcc all: $(CC) -O hello.c CC=gcc all: $(CC) -O hello.c svn commit edit: Makefile all: gcc –O hello.c –o hello clean: rm –f *.o a.out all: gcc –O hello.c –o hello clean: rm –f *.o a.out gcc –O hello.c –o hello $(CC) -O hello.c Problem here: both change the same line 17

Resolving merge conflicts svn update C Makefile Updated to revision 6. svn commit svn: Commit failed (details follow): svn: Aborting commit: 'Makefile' remains in conflict svn status ? Makefile.r5 ? Makefile.r6 ? Makefile.mine C Makefile svn update C Makefile Updated to revision 6. svn commit svn: Commit failed (details follow): svn: Aborting commit: 'Makefile' remains in conflict svn status ? Makefile.r5 ? Makefile.r6 ? Makefile.mine C Makefile conflict! best guess at integrated changes 18

Resolving merge conflicts vi Makefile CC=gcc all: <<<<<<<.mine $(CC) -O hello.c ======= gcc -O hello.c -o hello clean: rm -f *.o a.out >>>>>>>.r6 19

Resolving merge conflicts vi Makefile CC=gcc all: <<<<<<<.mine $(CC) -O hello.c ======= gcc -O hello.c -o hello clean: rm -f *.o a.out >>>>>>>.r6 20

Resolving merge conflicts vi Makefile svn resolved Makefile Resolved conflicted state of 'Makefile' svn commit Sending src/Makefile Transmitting file data. Committed revision 7. vi Makefile svn resolved Makefile Resolved conflicted state of 'Makefile' svn commit Sending src/Makefile Transmitting file data. Committed revision 7. CC=gcc all: $(CC) -O hello.c -o hello clean: rm -f *.o a.out 21

3. Work on your compact model code 22 help MDE !importfile !svn add newfile.m …edit, test… !xterm –e svn commit help MDE !importfile !svn add newfile.m …edit, test… !xterm –e svn commit Start with ! for Unix commands

4. Problems? Questions? 23 Do this from the page with the live tool

Keep an eye on support tickets 24

Other ways to get help 25 How does this work? Would be better if…

5. Model publication process 26

Not automated yet 27 Your NEEDS model status page Don’t follow the usual “tool” process Instead, contact:

Coming Soon 28 New project areas Automated publication process Checklists for required items