CVS repositories, and how to set them up for using CCPN.

Slides:



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

 Please sit next to your partner.  If you don’t have a partner, please find one now.
1. What is Subversion? Why do we need CM? Basic concepts Repositories Options Setup Clients Options Setup Operation Troubleshooting Slide 2.
Version Control System (Sub)Version Control (SVN).
Version Control CS440 – Introduction to Software Engineering © 2014 – John Bell Based on slides prepared by Jason Leigh for CS 340 University.
1 Using Subversion: Nirav Dave Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology.
Version Control System Sui Huang, McMaster University Version Control SystemSui Huang, McMaster University Version Control System -- base on Subversion.
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.
2/6/2008Prof. Hilfinger CS164 Lecture 71 Version Control Lecture 7.
Version Control and Subversion Chris Coakley. Outline What is Version Control? Why use it? Using Subversion (SVN)
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.
SubVersioN – the new Central Service at DESY by Marian Gawron.
Source Code Revision Control Software CVS and Subversion (svn)
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
1 Topics for this Lecture Software maintenance in general Source control systems (intro to svn)
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
Introduction to Hall-D Software February 27, 2009 David Lawrence - JLab.
Git – versioning and managing your software L. Grewe.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
Subversion (SVN) Tutorial Source:
Drexel University Software Engineering Research Group Git for SE101 1.
…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.
SWEN 302: AGILE METHODS Roma Klapaukh & Alex Potanin.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
An Intro to Concurrent Versions System (CVS) ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
(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 in the Sur lab A tool for organizing and sharing analysis code.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
Progress with migration to SVN Part3: How to work with g4svn and geant4tags tools. Geant4.
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
CSE 219 Computer Science III CVS
Microsoft Visual SourceSafe “(VSS) does not eliminate the need for discipline and coordination. It only makes discipline and coordination easier to live.
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 &
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
1 CSE306 Operating Systems Projects CVS/SSH tutorial.
Source Control Saves Lives. Lorna Mitchell Source Control Saves Lives BarCamp Leeds What is Source Control? Central filestore Change history Audit trail.
Developer Best Practices R.SANTHANA GOPALAN. Developer Best Practices What is Workspace ? The directory where the developer edit the source files, compile,
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Version Control System
Presentation OLOMOLA,Afolabi( ). Update Changes in CSV/SVN.
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
Unified Noah LSM Code Management Using CVS Mukul Tewari 1, Mike Ek 2, Kevin Manning 1, Fei Chen 1 and Ken Mitchell 2 1 NCAR, Boulder, CO 2 NCEP/EMC, Camp.
Recitation 2: Abhijit Warkhedi2/25/20161 Today’s Agenda u CVS u GDB.
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.
Subversion (SVN) Tutorial for CS421 Dan Fleck Spring 2010.
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.
GIT Version control. Version Control Sharing code via a centralized DB Also provides for Backtracking (going back to a previous version of code), Branching.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
Source Code Control For CSE 3902 By: Matt Boggus.
Discussion #11 11/21/16.
CVS – concurrent versions system
SVN intro (review).
Source Control Dr. Scott Schaefer.
Discussion 11 Final Project / Git.
Subversion Reasons to use How it works Subversion important commands
Version Control overview
Subversion.
Concurrent Version Control
Version Control System
CVS Concurrent Versioning System
Git CS Fall 2018.
Git Introduction.
Carthage ios 8 onwards Dependency manager that streamlines the process of integrating the libraries into the project.
Presentation transcript:

CVS repositories, and how to set them up for using CCPN.

Introduction  Problem of people in different locations working on same code Solutions in ‘version management’ code like CVS, SVN The code is stored in one central place  CCPN works with several of these ‘repositories’ How can you use and best combine them?  See also link at bottom of slides for more details

Directory structure repository_name/ c/c/ data/java/python/ ccpnmr/ ccp/ ccpnmr/ccp/memops/ ccpnmr/ccp/memops/ analysis/ chemElement/chemComp/ clouds/analysis/format/

New code slots in…  Even if in different location, retaining the same directory structure makes integration much easier later on  Only have to make sure that everyone agrees on organisation and that directory name combinations are unique

Repositories  Central CVS repositories Code is developed locally Users ‘commit’ changes to their code when required Central repository stores efforts from all partners Partners ‘check out’ changes made by other partners from central repository to their local directory Allows sharing of all code with minimal effort

Repositories  CCPN currently uses two repositories: ccpn/  ‘Lives’ at SourceForge - all LGPL open source code. ccpn_int/  ‘Lives’ at computer in Laue lab, stores code that is not LGPL (e.g. ccpNmr Analysis) Project specific: recoord/, extendNmr/. All have exactly the same directory structure and can be merged easily

Merging ccpn/ python/ ccpnmr/ccp/memops/ format/ ccpn_int/ c/c/ python/ ccpnmr/ analysis/clouds/analysis/

Merging work/ c/c/python/ ccpnmr/ ccp/memops/ analysis/clouds/analysis/format/

Simple CVS  Making our own local repository: mkdir testCvs cd testCvs mkdir -p dummy/python mkdir dummy/java mkdir dummy/data cvs -d /testCvs/repository/ init cd dummy cvs -d /testCvs/repository import -m “My repository” myProject vendor tag

Simple CVS  Checking out the local repository: cd.. ls repository cvs -d /testCvs/repository checkout myProject ls myProject

Simple CVS  At this stage: dummy/ is redundant repository/ contains the central repository files myProject/ contains the local copy of the repository

Simple CVS  Adding files to the local copy of the repository: cd myProject/python mkdir myProgram cvs -d /testCvs/repository add myProgram cd myProgram myFile.py cvs -d /testCvs/repository add myFile.py cvs -d /testCvs/repository commit -m “my comments here” myFile.py

Simple CVS  Can now check what has changed in repository/  Other developers (with access) can make changes to repository/ as well  Need to ‘update’ your local copy so you can ‘get’ the changes made by other developers

Simple CVS  Updating your local copy of the repository: cd /myProject cvs update -dP cvs update -dP python/ cvs update -dP python/myProgram/myFile.py

Merging repositories  Often have: Local files  E.g. some test scripts that are only relevant for you, Python.pyc files, C.o files, … Actual repository files  Good practice to keep these separate Avoids accidentally checking in ‘local’ files Clear separation between what is ‘public’ and what is not.

Merging repositories  Create a workspace: mkdir workspace cd workspace cvs -d :pserver:ccpn.cvs.sourceforge.net/cvsroot/ccpn checkout -r branch4 ccpn cvs -d /testCvs/repository checkout myProject mkdir all

Merging repositories  Download the ‘copyFromRep.py’ script repositories/copyfromrep.py  Sets up and maintains your working directory: Will recreate the directory structure found in the repositories Makes symbolic links to the repository files

Merging repositories  Have to change the directory names at the top! ccpnRepDirs = (’ /workspace/ccpn', ’ /workspace/myProject') destDir = ’ /workspace/all’

Merging repositories  Merge the directories: To see what’s going to happen: python copyFromRep.py test To make the changes: python copyFromRep.py copy

Setting up CCPN  To start using the code: setenv CCPNMR_TOP_DIR /workspace/all setenv PYTHONPATH $CCPNMR_TOP_DIR/python:$PYTHONPATH cd /workspace/all/python/memops/scripts_v2/ python makePython.py

Examples and documentation  Examples (Python)  Documentation $CCPNMR_TOP_DIR/python/doc/api.html $CCPNMR_TOP_DIR/python/ccp/examples $CCPNMR_TOP_DIR/python/ccpnmr/format/examples