GLIMMER, Version Control and Build Systems

Size: px
Start display at page:

Download "GLIMMER, Version Control and Build Systems"

Transcription

1 Outlines GLIMMER, Version Control and Build Systems Magnus Hagdorn School of GeoSciences University of Edinburgh December 5, 2005

2 Outlines Outline of Part I Unix Directory Structure Installing GLIMMER from CVS Version Control Introduction Short Detour: ssh CVS subversion NeSCForge Release Management

3 Outlines Outline of Part II Makefiles GNU autotools autoconf automake GLIMMER Specifics Configuration File Parser Python Code Generator

4 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management Unix Directory Structure $PREFIX The parent directory of the directory tree. Typically something like /usr or /usr/local bin directory where binaries live lib directory where libraries live include directory where header files and module files live share directory where machine independent files live src where source code lives

5 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management Why use this structure? easy to use more than one tree, e.g. a development tree and a stable tree easy to get rid of an entire lot easy to use more than one architecture

6 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management Downloading GLIMMER from CVS Have a look at id=26 Log into the cvs server cvs -d:pserver:anonymous@forge.nesc.ac.uk:/cvsroot/glimmer login Checkout the sources for GLIMMER cvs -z3 -d:pserver:anonymous@forge.nesc.ac.uk:/cvsroot/glimmer co glimmer and optionally its friends glimmer-test glimmer-example PyCF PyGMT

7 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management Building GLIMMER Preparing the build system./bootstrap Configuring GLIMMER./configure [options] --help help --prefix where to install it to --with-netcdf where netcdf is installed Build and install it make && make install and various others check help or README

8 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management Introduction Why Version Control? you get a history of what has been done allows you to colaborate with other manage different versions it stops you from making terrible mistakes it stops you from making terrible mistakes 2 different systems CVS Concurrent Versions System subversion

9 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management Introduction revision number a unique number specifying a particular revision, usually have a life of their own tag a name for a particular set of revision numbers branch a new line of development branching off at a particular revision HEAD the main branch/trunk

10 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management Short Detour: ssh Setting up ssh keys little howto, e.g. pkeck/ssh/ ssh-keygen -t dsa and also for rsa and rsa1 append the.pub keys to your.ssh/authorized keys file run ssh-add and enter passphrase works because ssh-agent is started during session init add public keys to your NeSCForge account

11 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management CVS commands I cvs update without any options update to latest version -d build directories, -P prune empty dirs -r revision update to specific revision -j revision merge in changes between current and revision cvs commit commit changes to CVS, will fire up editor -m "message" commit message

12 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management CVS commands II cvs add/remove add/remove a file or directory cvs tag tag or branch project cvs diff create a diff between current version and head -j specify which revision you want -up produce more readable diffs if you want changes added to GLIMMER send someone a patch produced using cvs diff -up

13 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management Creating and populating a repository svnadmin create /path/to/repos create a repository various methods of accessing repository, will use ssh sort out permissions I: chmod -R a+r /path/to/repos sort out permissions II: find /path/to/repos -perm + u=x -exec chmod a+x svn import /tmp/project svn+ssh://host/path/to/repos start a new project (with name project) should have subdirectories trunk, branches and tags

14 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management subversion commands are essentially like CVS commands svn checkout check out a particular version svn update update to current revision svn commit commit changes to repository svn add/remove add/remove file svn diff produce a diff svn copy copies a file or directory, used for tagging and branching

15 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management NeSCForge GLIMMER home page: CVS front end: id=26 Feature Requests and Bug Tracker: id=26 Documentation: id=26 Use It!

16 Unix Directory Structure Installing GLIMMER from CVS Version Control Release Management Release Management Current <major-version>.<minor-version>.<micro-version> major: not used, still heavy development minor: currently 5, gives some indication of major features micro: odd development version, even stable version Future? <major-version>.<minor-version>.<micro-version> major: major features are working as expected minor: odd development version, even stable version micro: minor changes, bug fixes for stable versions

17 Makefiles GNU autotools GLIMMER Specifics Build System Are good for automating repetative tasks putting things together making it work on a whole bunch of systems the more automatic the better

18 Makefiles GNU autotools GLIMMER Specifics Makefiles Transform one file into another given a rule Check if the target is older than the source Example F90 = f95 FCFLAGS = -C -g example.o: example.f90 f95 -o example.o -c example.f90.f90.o: f95 -o $@ -c $< $(F95) $(FCFLA %.o: %.f90 f95 -o $@ -c $< $(F95) $(FCFLA

19 Makefiles GNU autotools GLIMMER Specifics GNU autotools The Problem lots of special cases to take care of different architectures different compilers different software/versions installed want to handle different compile time options want to enable/disable certain features need to handle usual tasks such as building/installing/distributing software

20 Makefiles GNU autotools GLIMMER Specifics GNU autotools The Solution GNU autotools autoconf automake libtool for building share libraries Also worth checking out

21 Makefiles GNU autotools GLIMMER Specifics configure.in autoconf dnl a comment dnl another comment AC_INIT([NAME],[version],[bugreports@some.where]) AM_INIT_AUTOMAKE AC_PROG_RANLIB AC_PROG_FC AC_CONFIG_FILES([Makefile]) AC_OUTPUT

22 Makefiles GNU autotools GLIMMER Specifics automake Makefile.am bin_programs = hello_world lib_libraries = libhello.a libhello_a_sources = hello1.f90 hello2.f90 hello_world_sources = hello_world.f90 hello_world_ldadd = libhello.a

23 Makefiles GNU autotools GLIMMER Specifics Configuration File Parser Fortran code to read configuration files File Format # a comment [a_section] key1 = -20 key2 = 2.41 [section2] key3 = 1 2 3

24 Makefiles GNU autotools GLIMMER Specifics Configuration File Parser How does it work? file is read into memory each section is stored as an element in a linked list each key-value pair is stored as an element in a linked list attached to section element API to search for sections API to extract value given section and keyword

25 Makefiles GNU autotools GLIMMER Specifics Example Configuration File Parser type(configsection), pointer :: config type(configsection), pointer :: section integer :: val1 = 1 real :: val2 3.14! read configuration call ConfigRead(fname,config)! find section call GetSection(config,section, a_section ) if (associated(section)) then call GetValue(section, key1,val1) call GetValue(section, key2,val2) end if

26 Makefiles GNU autotools GLIMMER Specifics Python Code Generator What does it do? generates f95 code for handling netcdf output generates L A TEX code listing available variable names in documentation Why? it s incredibly tedious and error prone otherwise turns 788 lines of code into 4080 it s easy to add more variables for output

27 Makefiles GNU autotools GLIMMER Specifics Python Code Generator How? have a look at src/fortran/glide vars.def for the variable definition src/fortran/ncdf template.f90.in for the f95 template src/python/generate ncvars.py for the code generator

Version Control. Kyungbaek Kim. Chonnam National University School of Electronics and Computer Engineering. Original slides from James Brucker

Version Control. Kyungbaek Kim. Chonnam National University School of Electronics and Computer Engineering. Original slides from James Brucker Version Control Chonnam National University School of Electronics and Computer Engineering Kyungbaek Kim Original slides from James Brucker What is version control Manage documents over time Keep a history

More information

How To Create a GNU Autoconf / Automake Based Configure Script for Your Application Under Construction

How To Create a GNU Autoconf / Automake Based Configure Script for Your Application Under Construction How To Create a GNU Autoconf / Automake Based Configure Script for Your Application Under Construction by Prof.Dr. University of Applied Science Suedwestfalen, Germany 1 Table of Contents 1 Typography...

More information

These steps may include:

These steps may include: Build Tools 1 Build Tools Building a program for a large project is usually managed by a build tool that controls the various steps involved. These steps may include: 1. Compiling source code to binaries

More information

Subversion Repository Layout

Subversion Repository Layout Subversion Subversion Control manages documents over time keeps a history of all changes - multiple versions of every file coordinates work of multiple authors avoids conflicts...and helps to resolve them

More information

The Makefile utility. (Extract from the slides by Terrance E. Boult

The Makefile utility. (Extract from the slides by Terrance E. Boult The Makefile utility (Extract from the slides by Terrance E. Boult http://vast.uccs.edu/~tboult/) Motivation Small programs single file Not so small programs : Many lines of code Multiple components More

More information

Source Control. Comp-206 : Introduction to Software Systems Lecture 21. Alexandre Denault Computer Science McGill University Fall 2006

Source Control. Comp-206 : Introduction to Software Systems Lecture 21. Alexandre Denault Computer Science McGill University Fall 2006 Source Control Comp-206 : Introduction to Software Systems Lecture 21 Alexandre Denault Computer Science McGill University Fall 2006 Source Revision / Control Source Control is about the management of

More information

Chapter 3. Revision Control

Chapter 3. Revision Control Chapter 3 Revision Control We begin our journey into software engineering before we write a single line of code. Revision control systems (RCSes) such as Subversion or CVS are astoundingly useful for single-developer

More information

Autotools Tutorial. Mengke HU. ASPITRG Group Meeting. ECE Department Drexel University

Autotools Tutorial. Mengke HU. ASPITRG Group Meeting. ECE Department Drexel University Autotools Tutorial Mengke HU ECE Department Drexel University ASPITRG Group Meeting Outline 1 Introduction 2 GNU Coding standards 3 Autoconf 4 Automake 5 Libtools 6 Demonstration The Basics of Autotools

More information

Common Configuration Management Tasks: How to Do Them with Subversion

Common Configuration Management Tasks: How to Do Them with Subversion Common Configuration Management Tasks: How to Do Them with Subversion Tom Verhoeff October 2007 Contents 1 The Big Picture 2 2 Subversion Help 2 3 Create New Empty Repository 2 4 Obtain Access to Repository

More information

July 8, 2007 Jim Huang (jserv)

July 8, 2007 Jim Huang (jserv) Introduction to Autotools July 8, 2007 Jim Huang (jserv) Overview Autoconf, Automake, and libtool working together Address portability, configuration needs Support GNU Coding Standards

More information

Source Code Management

Source Code Management SCM Source Code Management Fabien Spindler http://www.irisa.fr/lagadic June 26, 2008 Overview 1. Application and interest 2. Centralized source code control Bases CVS Subversion (SVN) 3. Getting started

More information

1/20/13 Git tutorial. Git tutorial. Mike Nolta. file:///users/nolta/github/reveal.js/git.html?print-paper#/ 1/31

1/20/13 Git tutorial. Git tutorial. Mike Nolta. file:///users/nolta/github/reveal.js/git.html?print-paper#/ 1/31 Git tutorial Mike Nolta file:///users/nolta/github/reveal.js/git.html?print-paper#/ 1/31 1. Basics file:///users/nolta/github/reveal.js/git.html?print-paper#/ 2/31 Tell git who you are $ git config --global

More information

Introduction to distributed version control with git

Introduction to distributed version control with git Institut für theoretische Physik TU Clausthal 04.03.2013 Inhalt 1 Basics Differences to Subversion Translation of commands 2 Config Create and clone States and workflow Remote repos Branching and merging

More information

About CVS. 1 Version Control - what is it? why is it useful?

About CVS. 1 Version Control - what is it? why is it useful? About CVS CVS stands for Concurrent Version Control. It s free, open-source software used by multiple developers to share code, keep track of changes, and keep different versions of a project. it can be

More information

Revision control systems (RCS) and. Subversion

Revision control systems (RCS) and. Subversion Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer

More information

NetCDF Build and Test System. Ed Hartnett, 1/25/8

NetCDF Build and Test System. Ed Hartnett, 1/25/8 NetCDF Build and Test System Ed Hartnett, 1/25/8 Outline NetCDF Repository Building NetCDF Testing NetCDF NetCDF Code Repository We use cvs for netcdf code repository. The cvs repository module is called

More information

ESTABLISHED Paul Kunz SLAC. Overview. Examples. Expose the downsides. Benefits. Risks and Costs. Building with Automake 1 Paul F.

ESTABLISHED Paul Kunz SLAC. Overview. Examples. Expose the downsides. Benefits. Risks and Costs. Building with Automake 1 Paul F. Building with Automake Paul Kunz SLAC Overview Examples Expose the downsides Benefits Risks and Costs Building with Automake 1 Paul F. Kunz Overview Primary targets build in developer s working directory

More information

FCM and the UM Reading 9th November 2012

FCM and the UM Reading 9th November 2012 FCM and the UM What is FCM? Flexible Configuration Management system Written by the Met Office. A set of tools for managing and building source code. Uses subversion for code management Defines a common

More information

CVS. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 21

CVS. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 21 CVS Computer Science and Engineering College of Engineering The Ohio State University Lecture 21 CVS: Concurrent Version System Classic tool for tracking changes to a project and allowing team access Can

More information

TDDC88 Lab 4 Software Configuration Management

TDDC88 Lab 4 Software Configuration Management TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists

More information

Revision Control II. - svn

Revision Control II. - svn Revision Control II. - svn Tomáš Kalibera, Peter Libič Department of Distributed and Dependable Systems http://d3s.mff.cuni.cz CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Subversion Whole

More information

Revision Control. An Introduction Using Git 1/15

Revision Control. An Introduction Using Git 1/15 Revision Control An Introduction Using Git 1/15 Overview 1. What is revision control? 2. 30,000 foot view 3. Software - git and gitk 4. Setting up your own repository on onyx 2/15 What is version control?

More information

Introduction to CVS. Sivan Toledo Tel-Aviv University

Introduction to CVS. Sivan Toledo Tel-Aviv University Introduction to CVS Sivan Toledo Tel-Aviv University Goals of Source Management Ability to roll a project back if a bug was introduced Release tagging Multiple developers Locking Or concurrent updates

More information

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control

More information

Revision Control and GIT

Revision Control and GIT Revision Control and GIT On UD HPC Community Clusters William Totten Network & Systems Services Why use revision control You can go back in time It makes it easy to try things out which might not work

More information

Beyond Makefiles: Autotools and the GNU Build System

Beyond Makefiles: Autotools and the GNU Build System SEA : Autotools and the GNU Build System Patrick Nichols Software Engineer CISL Consulting Group UCAR SEA December 10, 2015 Why do we need more tools? Diversity! 1. Compilers, programming languages and

More information

Development tools: Version control, build tools, and integrated development environments 1

Development tools: Version control, build tools, and integrated development environments 1 Development tools: Version control, build tools, and integrated development environments 1 HFOSS 2010 Faculy Workshop 18 May 2010 1 CC by-nc-sa 3.0 Development tools Why do we need version control? With

More information

GNU Autotools Tutorial

GNU Autotools Tutorial GNU Autotools Tutorial Copyright c 2010 Nils Turner Chapter 1: Introduction 1 1 Introduction Those of us that have installed software from source code at some time in our career have no doubt become familiar

More information

CSCI 4152/6509 Natural Language Processing. Lab 1: FCS Computing Environment

CSCI 4152/6509 Natural Language Processing. Lab 1: FCS Computing Environment CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment http://web.cs.dal.ca/ vlado/csci6509 Lab Instructor: Dijana Kosmajac, Dhivya Jayaraman Slides copyright: Mike McAllister, Vlado

More information

Home Page. Title Page. Contents. Page 1 of 17. Version Control. Go Back. Ken Bloom. Full Screen. Linux User Group of Davis March 1, Close.

Home Page. Title Page. Contents. Page 1 of 17. Version Control. Go Back. Ken Bloom. Full Screen. Linux User Group of Davis March 1, Close. Page 1 of 17 Version Control Ken Bloom Linux User Group of Davis March 1, 2005 Page 2 of 17 1. Version Control Systems CVS BitKeeper Arch Subversion SVK 2. CVS 2.1. History started in 1986 as a bunch of

More information

Introduction to Revision Control

Introduction to Revision Control Introduction to Revision Control Henrik Thostrup Jensen September 19 th 2007 Last updated: September 19, 2007 1 Todays Agenda Revision Control Why is it good for? What is it? Exercises I will show the

More information

VSO. Configuration Management

VSO. Configuration Management VSO Configuration Management Timo Wolf Copyright 2005 Bernd Brügge & Timo Wolf VSO General Meeting, 3.Nov 2005 1 Outline Mapping the IEEE Standard to Subversion (SVN) Introduction to Subversion Subversion

More information

Revision Control. Software Engineering SS 2007

Revision Control. Software Engineering SS 2007 Revision Control Software Engineering SS 2007 Agenda Revision Control 1. Motivation 2. Overview 3. Tools 4. First Steps 5. Links Objectives - Use revision control system for collaboration Software Engineering,

More information

Concurrent Versions System (cvs( cvs) Adviser Date August 31, 2004

Concurrent Versions System (cvs( cvs) Adviser Date August 31, 2004 Concurrent Versions System (cvs( cvs) Speaker 李 Adviser 老 Date August 31, 2004 Outline Introduction Features of CVS Basic problem Step by step for WinCvs Q&A CVS setting Why CVS Has one of your project

More information

WinCvs Version 1.1. Users Guide. Don Harper

WinCvs Version 1.1. Users Guide. Don Harper WinCvs Version 1.1 Users Guide Don Harper June 1, 1999 Copyright 1999 Don Harper Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission

More information

Introduction to version control. David Rey DREAM

Introduction to version control. David Rey DREAM 1 Introduction to version control David Rey DREAM 2 Overview Collaborative work and version control CVS vs. SVN Main CVS/SVN user commands Advanced use of CVS/SVN 3 Overview Collaborative work and version

More information

Using Subversion with LeMANS and MONACO

Using Subversion with LeMANS and MONACO Using with LeMANS and MONACO Timothy R. Deschenes and Alexandre Martin Department of Aerospace Engineering, University of Michigan September 15, 2008 Outline 1 Why Use Version Control Provides one method

More information

Department of Computer Science College of Engineering Boise State University

Department of Computer Science College of Engineering Boise State University Department of Computer Science College of Engineering Boise State University 1/18 Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control

More information

Construction: version control and system building

Construction: version control and system building Construction: version control and system building Paul Jackson School of Informatics University of Edinburgh The problem of systems changing Systems are constantly changing through development and use

More information

Portions adapted from A Visual Guide to Version Control. Introduction to CVS

Portions adapted from A Visual Guide to Version Control. Introduction to CVS Portions adapted from A Visual Guide to Version Control Introduction to CVS Outline Introduction to Source Code Management & CVS CVS Terminology & Setup Basic commands Checkout, Add, Commit, Diff, Update,

More information

Versioning. Terms. Configuration item (CI) Version Configuration Management aggregate Configuration Baseline

Versioning. Terms. Configuration item (CI) Version Configuration Management aggregate Configuration Baseline Versioning Terms Configuration item (CI) Version Configuration Management aggregate Configuration Baseline 1 Versioning No history Different names Tool capable of keeping track of versions Same name Different

More information

Draft: MLDesigner and LinCVS

Draft: MLDesigner and LinCVS Draft: MLDesigner and LinCVS 17th April 2003 Daniel Zinn zinn@mldesigner.com MLDesign Technologies, Inc. 2230 St. Francis Drive Palo Alto, CA 94303 support : www.mldesigner.com/support http : www.mldesigner.com

More information

Version control with RCS and CVS An introduction. Markus Bjartveit Krüger

Version control with RCS and CVS An introduction. Markus Bjartveit Krüger Version control with RCS and CVS An introduction Markus Bjartveit Krüger markusk@pvv.org 1 RCS Revision Control System, written by Walter F. Tichy in 1982 and further developed by Paul Eggert. RCS is mostly

More information

Version Control. Version Control

Version Control. Version Control Version Control CS440 Introduction to Software Engineering John Bell Based on slides prepared by Jason Leigh for CS 340 University of Illinois at Chicago Version Control Incredibly important when working

More information

Source Code Management wih git

Source Code Management wih git Source Code Management wih git Matthieu Herrb December 22 http://homepages.laas.fr/matthieu/cours/git.pdf Licence This work is licensed under a Creative Commons Attribution-ShareAlike 3. Unported License.

More information

Version Control Systems

Version Control Systems Nothing to see here. Everything is under control! September 16, 2015 Change tracking File moving Teamwork Undo! Undo! UNDO!!! What strategies do you use for tracking changes to files? Change tracking File

More information

FEEG Applied Programming 3 - Version Control and Git II

FEEG Applied Programming 3 - Version Control and Git II FEEG6002 - Applied Programming 3 - Version Control and Git II Richard Boardman, Sam Sinayoko 2016-10-19 Outline Learning outcomes Working with a single repository (review) Working with multiple versions

More information

2/9/2013 LAB OUTLINE INTRODUCTION TO VCS WHY VERSION CONTROL SYSTEM(VCS)? II SENG 371 SOFTWARE EVOLUTION VERSION CONTROL SYSTEMS

2/9/2013 LAB OUTLINE INTRODUCTION TO VCS WHY VERSION CONTROL SYSTEM(VCS)? II SENG 371 SOFTWARE EVOLUTION VERSION CONTROL SYSTEMS SENG 371 SOFTWARE EVOLUTION LAB OUTLINE Introduction to Version Control Systems VERSION CONTROL SYSTEMS Subversion Git and Github 1 Prepared by Pratik Jain 2 INTRODUCTION TO VCS A version control system

More information

Systems Programming Advanced Software Development

Systems Programming Advanced Software Development Systems Programming Advanced Software Development School of Information and Communication Technology Griffith University Semester 1, 2012 Outline 1 Administrative Matters Course Organisation Questions?

More information

Subversion. CS 490MT/5555, Fall 2015, Yongjie Zheng

Subversion. CS 490MT/5555, Fall 2015, Yongjie Zheng Subversion CS 490MT/5555, Fall 2015, Yongjie Zheng About Subversion } Subversion } A free/open source version control system } A typical client-server model } Uses the copy-modify-merge strategy } History

More information

CSE 390 Lecture 9. Version control and Subversion (svn)

CSE 390 Lecture 9. Version control and Subversion (svn) CSE 390 Lecture 9 Version control and Subversion (svn) slides created by Marty Stepp, modified by Jessica Miller and Ruth Anderson http://www.cs.washington.edu/390a/ 1 Working Alone Ever done one of the

More information

Submitting your Work using GIT

Submitting your Work using GIT Submitting your Work using GIT You will be using the git distributed source control system in order to manage and submit your assignments. Why? allows you to take snapshots of your project at safe points

More information

CS480. Compilers Eclipse, SVN, Makefile examples

CS480. Compilers Eclipse, SVN, Makefile examples CS480 Compilers Eclipse, SVN, Makefile examples January 26, 2015 New Project New Project C/C++ Project Create a New C Project Choose Makefile Project EmptyProject Toolchain: Linux GCC Next Advanced C/C++

More information

Version Control: Gitting Started

Version Control: Gitting Started ting Started Cai Li October 2014 What is Version Control? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Local Version

More information

Software Building (Sestavování aplikací)

Software Building (Sestavování aplikací) Software Building (Sestavování aplikací) http://d3s.mff.cuni.cz Pavel Parízek parizek@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Outline Maven NuGet Gradle GNU build

More information

Construction: version control and system building

Construction: version control and system building Construction: version control and system building Paul Jackson School of Informatics University of Edinburgh The problem of systems changing Systems are constantly changing through development and use

More information

USPAS Simulation of Beam and Plasma Systems Steven M. Lund, Jean-Luc Vay, Remi Lehe, Daniel Winklehner and David L. Bruhwiler Lecture: Software Version Control Instructor: David L. Bruhwiler Contributors:

More information

CS3210: Operating Systems

CS3210: Operating Systems CS3210: Operating Systems Lab 1 Tutorial 1 / 39 Lab session general structure Session A - overview presentation (30 min) Concepts, tutorial, and demo Session B - group activity (30 min) Each student will

More information

2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM)

2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM) Overview Project Management How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 What is Project Management? Effective

More information

Common Git Commands. Git Crash Course. Teon Banek April 7, Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18

Common Git Commands. Git Crash Course. Teon Banek April 7, Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18 Common Git Commands Git Crash Course Teon Banek theongugl@gmail.com April 7, 2016 Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18 Outline 1 Introduction About Git Setup 2 Basic Usage Trees Branches

More information

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France

[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France [Software Development] Development Tools Davide Balzarotti Eurecom Sophia Antipolis, France Version Control Version (revision) control is the process of tracking and recording changes to files Most commonly

More information

Project Management. Overview

Project Management. Overview Project Management Overview How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 1 What is Project Management? Effective

More information

What is Subversion and what does it do?

What is Subversion and what does it do? What is Subversion and what does it do? A version control system Manages files and directories and any changes made to those files and directories Can be used across networks to promote remote collaboration

More information

CS354R: Game Technology

CS354R: Game Technology CS354R: Game Technology DevOps and Quality Assurance Fall 2018 What is DevOps? Development Operations Backend facilitation of development Handles local and remote hardware Maintains build infrastructure

More information

OpenVL User Manual. Sarang Lakare 1. Jan 15, 2003 Revision :

OpenVL User Manual. Sarang Lakare 1. Jan 15, 2003 Revision : OpenVL User Manual Sarang Lakare 1 Jan 15, 2003 Revision : 1.8 1 lsarang@cs.sunysb.edu 2 Contents 1 Obtaining OpenVL 5 1.1 Understanding the version numbers............................ 5 1.2 Downloading........................................

More information

Software Tools Subversion

Software Tools Subversion Software Tools Subversion Part II Lecture 4 1 Today s Outline Subversion (SVN) TortoiseSVN Client SVN Tips 2 Subversion (SVN) 3 Subversion (SVN) Centralized open-source VCS; started in 2000 Developed as

More information

CVS for Moodle Developers

CVS for Moodle Developers Using the CVS CVS for Moodle Developers CVS is the Concurrent Versioning System, a commonly-used way of managing source code for large software projects. CVS keeps all versions of all files so that nothing

More information

Embedded Systems Programming

Embedded Systems Programming Embedded Systems Programming OS Linux - Toolchain Iwona Kochańska Gdansk University of Technology Embedded software Toolchain compiler and tools for hardwaredependent software developement Bootloader initializes

More information

Introduction to Supercomputing

Introduction to Supercomputing Introduction to Supercomputing TMA4280 Introduction to development tools 0.1 Development tools During this course, only the make tool, compilers, and the GIT tool will be used for the sake of simplicity:

More information

CSC 2700: Scientific Computing

CSC 2700: Scientific Computing CSC 2700: Scientific Computing Record and share your work: revision control systems Dr Frank Löffler Center for Computation and Technology Louisiana State University, Baton Rouge, LA Feb 13 2014 Overview

More information

Version Control. Version Control

Version Control. Version Control Version Control Prepared for CS 342 - Software Design by John Bell Based on slides prepared by Jason Leigh for CS 340 University of Illinois at Chicago Version Control Incredibly important when working

More information

Tools for software development:

Tools for software development: Tools for software development: Version Control System Source Control Management Repository commit An introduction push Data Processing Course, V. Lafage, IPN Orsay V. Lafage @ Data Processing Course 2019

More information

Git. A Distributed Version Control System. Carlos García Campos

Git. A Distributed Version Control System. Carlos García Campos Git A Distributed Version Control System Carlos García Campos carlosgc@gnome.org Carlos García Campos carlosgc@gnome.org - Git 1 A couple of Quotes For the first 10 years of kernel maintenance, we literally

More information

CS 390 Software Engineering Lecture 5 More Git

CS 390 Software Engineering Lecture 5 More Git CS 390 Software Engineering Lecture 5 More Git Reference: Scott Chacon and Ben Straub, Pro Git, published by Apress, available at https://git-scm.com/book/en/v2. Outline Finish local repository Remote

More information

Introduction to Version Control

Introduction to Version Control Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Outline 1 2 3 Outline 1 2 3 Old Style Files are in a directory lots of backup files ordered by manual version number

More information

Revision control. INF5750/ Lecture 2 (Part I)

Revision control. INF5750/ Lecture 2 (Part I) Revision control INF5750/9750 - Lecture 2 (Part I) Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same

More information

Computer Labs: Version Control with Subversion

Computer Labs: Version Control with Subversion Computer Labs: Version Control with Subversion 2 o MIEIC Pedro F. Souto (pfs@fe.up.pt) November 21, 2010 The Problem $edit foo.c, make, run, edit, make, run,... OK! Now that it enters in graphic mode,

More information

CSE 391 Lecture 9. Version control with Git

CSE 391 Lecture 9. Version control with Git CSE 391 Lecture 9 Version control with Git slides created by Ruth Anderson & Marty Stepp, images from http://git-scm.com/book/en/ http://www.cs.washington.edu/391/ 1 Problems Working Alone Ever done one

More information

Autotools and GNU Build system

Autotools and GNU Build system Autotools and GNU Build system YAKA 2008 EPITA 12/12/2006 YAKA 2008 (EPITA) Autotools and GNU Build system Page 1 / 13 Licence Copying is allowed Copyright c 2006 Benoit Sigoure Copyright c 2006 Alexandre

More information

python-anyvcs Documentation

python-anyvcs Documentation python-anyvcs Documentation Release 1.4.0 Scott Duckworth Sep 27, 2017 Contents 1 Getting Started 3 2 Contents 5 2.1 The primary API............................................. 5 2.2 Git-specific functionality.........................................

More information

Version control system (VCS)

Version control system (VCS) Version control system (VCS) Remember that you are required to keep a process-log-book of the whole development solutions with just one commit or with incomplete process-log-book (where it is not possible

More information

An Introduction to Subversion

An Introduction to Subversion 1 An Introduction to Subversion Flavio Stanchi August 15, 2017 2 Table of Contents 1. Introduction What is Subversion? How to get Subversion? 2. Concepts Centralized version control Repository structure

More information

CSE 374 Programming Concepts & Tools. Hal Perkins Winter 2012 Lecture 16 Version control and svn

CSE 374 Programming Concepts & Tools. Hal Perkins Winter 2012 Lecture 16 Version control and svn CSE 374 Programming Concepts & Tools Hal Perkins Winter 2012 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person, multi-platform, multi-month

More information

GIT TUTORIAL. Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson

GIT TUTORIAL. Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson GIT TUTORIAL Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson SCM SOFTWARE CONFIGURATION MANAGEMENT SOURCE CODE MANAGEMENT Generic term for the ability to manage multiple

More information

at Rocket Software Mainframe CVS z/os Unix System Services CVS client Extending the functionality of the Lisa Bates

at Rocket Software Mainframe CVS z/os Unix System Services CVS client Extending the functionality of the Lisa Bates Mainframe CVS at Rocket Software Extending the functionality of the z/os Unix System Services CVS client Lisa Bates lbates@rs.com April, 2006 Background Rocket wanted to standardize on one source code

More information

Configuration. Monday, November 30, :28 AM. Configuration

Configuration. Monday, November 30, :28 AM. Configuration Configuration 11:28 AM Configuration refers to the overall set of elements that comprise a software product ("configuration items") software components modules internal logical files test stubs and scaffoldings

More information

9 and 11-Jan CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment, SVN Tutorial. FCS Computing Environment, SVN Tutorial

9 and 11-Jan CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment, SVN Tutorial. FCS Computing Environment, SVN Tutorial Lecture 1 p.1 Faculty of Computer Science, Dalhousie University CSCI 4152/6509 Natural Language Processing Lab 1: FCS Computing Environment, SVN Tutorial 9 and 11-Jan-2019 Lab Instructor: Dijana Kosmajac,

More information

Working with CVS in Eclipse

Working with CVS in Eclipse Working with CVS in Eclipse Hoang Huu Hanh Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstrasse 9-11/188 1040 Vienna, Austria hhhanh@ifs.tuwien.ac.at

More information

Using CVS 1 of 18. Using CVS. C oncurrent V ersions System - Jeremy Mates

Using CVS 1 of 18. Using CVS. C oncurrent V ersions System -   Jeremy Mates Using CVS 1 of 18 Using CVS C oncurrent V ersions System - http://www.cvshome.org/ Jeremy Mates Using CVS 2 of 18 The Road Map 1. What is CVS? 2. Anatomy of a Repository 3. Getting the

More information

Agenda. Several projects are using GIT Developer(s) Junio Hamano, Linus Torvalds. Qt Stable release (January 31, 2011)

Agenda. Several projects are using GIT Developer(s) Junio Hamano, Linus Torvalds. Qt Stable release (January 31, 2011) Basic Agenda 1 Project information Who is ussing 2 14 Oct 2011 3 Basic Data Transport Work ow 4 Con gure 5 Basic Project information Who is ussing Project information Who is ussing Project information

More information

Compiling SA_MESH (r965)

Compiling SA_MESH (r965) Compiling SA_MESH (r965) Instructions: https://wiki.usask.ca/display/mesh/compiling+standalone+mesh Code availability: Copy code from giws_research : Modelling_Code/SA_MESH/MESH_Code r965 is the most recent

More information

Introduction to GIT. Jordi Blasco 14 Oct 2011

Introduction to GIT. Jordi Blasco 14 Oct 2011 Jordi Blasco (jblasco@xrqtc.com) 14 Oct 2011 Agenda 1 Project information Who is ussing GIT 2 Branch Tag Data Transport Workow 3 Congure 4 Working with remotes 5 Project information Who is ussing GIT Project

More information

Laboratorio di Programmazione. Prof. Marco Bertini

Laboratorio di Programmazione. Prof. Marco Bertini Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Code versioning: techniques and tools Software versions All software has multiple versions: Each

More information

Red Hat Enterprise Linux 6

Red Hat Enterprise Linux 6 Red Hat Enterprise Linux 6 Developer Guide An introduction to application development tools in Red Hat Enterprise Linux 6 Last Updated: 2017-10-20 Red Hat Enterprise Linux 6 Developer Guide An introduction

More information

Manage quality processes with Bugzilla

Manage quality processes with Bugzilla Manage quality processes with Bugzilla Birth Certificate of a Bug: Bugzilla in a Nutshell An open-source bugtracker and testing tool initially developed by Mozilla. Initially released by Netscape in 1998.

More information

Version Control. CSC207 Fall 2014

Version Control. CSC207 Fall 2014 Version Control CSC207 Fall 2014 Problem 1: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope you can remember what changes

More information

Getting the Source Code

Getting the Source Code Getting the Source Code The CORD source code is available from our Gerrit system at gerrit.opencord.org. Setting up a Gerrit account and ssh access will also enable you to submit your own changes to CORD

More information

AMath 483/583 Lecture 7. Notes: Notes: Changes in uwhpsc repository. AMath 483/583 Lecture 7. Notes:

AMath 483/583 Lecture 7. Notes: Notes: Changes in uwhpsc repository. AMath 483/583 Lecture 7. Notes: AMath 483/583 Lecture 7 This lecture: Python debugging demo Compiled langauges Introduction to Fortran 90 syntax Declaring variables, loops, booleans Reading: class notes: Python debugging class notes:

More information

Introduction to Version Control

Introduction to Version Control Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria 21-Nov-2013 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline General

More information

Git tutorial. Katie Osterried C2SM. October 22, 2015

Git tutorial. Katie Osterried C2SM. October 22, 2015 Git tutorial Katie Osterried C2SM October 22, 2015 Outline 1 What is Git and why are we switching? 2 Working with Git 3 Branching and Merging 4 Working with remote repositories 5 Recommendations Outline

More information