Pieter van den Hombergh. September 9, 2015

Size: px
Start display at page:

Download "Pieter van den Hombergh. September 9, 2015"

Transcription

1 Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek September 9, 2015 /FHTenL September 9, /27

2 My Helpers, Tobias Derksen (DE) and me, Pieter van den Hombergh You will see the students as student helpers during practicum hours on some subject. /FHTenL September 9, /27

3 Table of contents fontys venlo(.org) /FHTenL September 9, /27

4 Playing in a sandbox /FHTenL September 9, /27

5 Subversion is a version control system Version control is: Managing different versions of (source code) documents without keeping multiple copies or using silly names. Being able to choose any earlier version. Pick a set of files with the same version. Select versions by date-time stamp. Keep development and production properly separated. Share documents (source code) with team members (and teachers). Peaceful cooperation; working in a sandbox. History cannot be changed. Backup. Logging of actions and authorship. /FHTenL September 9, /27

6 Subversion is the tool of choice to Hand in work during exams. (USB stick). Hand work in practicum with e.g. Java, DBS1. Share work with peer students in project, e.g. Project 1. /FHTenL September 9, /27

7 Subversion is not the only version control system around and not even the best, if there is such thing. However: It is (relatively) easy to use, both for students and teachers. Supports partial checkout (as in part of the project to a web dir). Is well supported with tools: analysis of contribution of members (student projects!). The teachers at SEBI Venlo manage and control it which is important for validity. It is easy to get your own personal repo, to play with or other study related work. Google Drive, Sky Drive, One Drive, DropBox and alike are not Systems 1. They are useful for sharing but not for serious software development work. 1 They do some limited versioning, but e.g. no tagging or branching. /FHTenL September 9, /27

8 Creating your repository Know your host, e.g. Can be localhost too. We use the ssl/https protocol to access the server. The url has the form You can create your personal using peerweb. Visit isubversionrepos.php demo /FHTenL September 9, /27

9 SVN Urls When using svn on fontys venlo you will use several repositories, each with their won url. project or module The url start with as in personal The url starts with as in /FHTenL September 9, /27

10 Configure your repository Know your host url: plus url-tail. Have a plan 2 : Your project needs documents for analysis, design a directory for source code and for the user documentation. doc/analysis Here you would store all analysis artefacts doc/design Here you would store all your design stuff sources Sources code (.java), html, pictures etc. all used in the software product. doc/usermanual The documentation that goes with the software to the user. How to install and use your wonderful product. 2 The proposed subdirs are for a tiny project only. /FHTenL September 9, /27

11 Checking your repository Check if things are there: svn ls htps:// You could now delete your temp directory that you used for the import. Now make a first checkout of your repository: Change to a working directory (your sandbox): cd /home/username/work Command: svn co htps:// sen1 /FHTenL September 9, /27

12 Using your repository Use a nice text editor to edit a new file e.g. uc1-ts1.txt. Add this file to the scenarios directory. File could have the following content: Use Case 1: Add new customer 1. Employee enters following data : 2. Name : " Eric Idle " 3. Address : " Python close 13" 4. City : " Fawlty Towers " 5. Employee submits data. 5. System replies : " New customer added " /FHTenL September 9, /27

13 Using your repository First tell subversion to add this file: svn add uc1-ts1.txt Put the file in your repository: svn commit -m testscenario 1 for use case 1 added Subversion will respond with a message: Adding scenarios/uc1-ts1.txt Transmitting file data. Committed revision 2. Make changes to your file. Commit the new version: svn commit -m your comment on this change Anybody with sufficient rights can now obtain the files from the repository /FHTenL September 9, /27

14 It is quite all right to Create repositories. One for each project/module is best. Share repositories with fellow students in a project group. Put (as in add and commit) text files (HTML, CSS, Java Code L A TEX files, SQL scripts) etc in a repository. Commit often. Put in files that you created and find precious. Peerweb and the peerweb created repositories provide a shared service, used by all Fontys Venlo Informatics students. Sharing means being polite in usage and claiming. /FHTenL September 9, /27

15 As in consider forbidden Forbidden Put spaces in file and directory names in the repository. Actually a real homo informaticus will never use these characters in file and directory names, not even when creating.docx files or spreadsheets. Add files or documents (as in books) that you found else where. Typically these are pdf files.. Commit compiler produced stuff. Add your Windows Desktop to a repository and then commit that.. A repository is not a backup service. Add and commit a virtual machine image to a repository. All the don ts on this page have been committed by students in earlier years. /FHTenL September 9, /27

16 If you need to share with a teacher... Personal or module bound In many modules, certainly projects and modules with a practicum, the teacher will create a repository for you. In this case it is mandatory that you use the repository provided by the teacher. In other cases it is up to you. /FHTenL September 9, /27

17 Commit often but planned Commit often. Example: 1 Implement one test + method. 2 Build and test. 3 If build and tests succeed, commit. 4 Then move to the next test+function. Never commit stuff that does not compile. Try to avoid committing code that does not meet it s tests. If you cannot avoid this, commit on a branch. /FHTenL September 9, /27

18 Commit often but planned, Cont d. your commits. See how much time you have left before you planned to stop and clean your desk. If there is enough time left to implement another function in the way shown, do it 3. Otherwise clean up your desk: Check that the repository has all that is needed to build what you produced in the previous period: 1 Make a new sandbox, e.g. mkdir /buildtest. Checkout your stuff (from the correct branch). 2 Build there. If pieces are missing, commit them in from your workspace. Cleaning your desk takes time also. for at least 5 minutes at the end of your working period/session. 3 Assume that one function+test takes at least 15 minutes /FHTenL September 9, /27

19 Commit often but planned, Cont d. your commits. See how much time you have left before you planned to stop and clean your desk. If there is enough time left to implement another function in the way shown, do it 3. Otherwise clean up your desk: Check that the repository has all that is needed to build what you produced in the previous period: 1 Make a new sandbox, e.g. mkdir /buildtest. Checkout your stuff (from the correct branch). 2 Build there. If pieces are missing, commit them in from your workspace. Cleaning your desk takes time also. for at least 5 minutes at the end of your working period/session. 3 Assume that one function+test takes at least 15 minutes /FHTenL September 9, /27

20 Commit often and planned, Cont d. Never leave before you cleaned your desk. This leaves the repository in a stable state, making it possible to continue your work from any place by any project member. /FHTenL September 9, /27

21 To lock or not to lock subversion allows you to open and edit the same file by multiple developers. /FHTenL September 9, /27

22 To lock or not to lock subversion allows you to open and edit the same file by multiple developers. For source code (java, Csharp, php etc) this is not a real problem as modern version control systems are powerful when it comes to helping with merge conflicts. /FHTenL September 9, /27

23 To lock or not to lock subversion allows you to open and edit the same file by multiple developers. For source code (java, Csharp, php etc) this is not a real problem as modern version control systems are powerful when it comes to helping with merge conflicts. In some cases (typically: binary files like.png pictures), you should not use this feature. You might step on each others hands. Note that this applies to e.g. word.doc files too! /FHTenL September 9, /27

24 To lock or not to lock subversion allows you to open and edit the same file by multiple developers. For source code (java, Csharp, php etc) this is not a real problem as modern version control systems are powerful when it comes to helping with merge conflicts. In some cases (typically: binary files like.png pictures), you should not use this feature. You might step on each others hands. Note that this applies to e.g. word.doc files too! You can announce to the subversion server that you want to change (edit) a file with the svn lock command. /FHTenL September 9, /27

25 To lock or not to lock subversion allows you to open and edit the same file by multiple developers. For source code (java, Csharp, php etc) this is not a real problem as modern version control systems are powerful when it comes to helping with merge conflicts. In some cases (typically: binary files like.png pictures), you should not use this feature. You might step on each others hands. Note that this applies to e.g. word.doc files too! You can announce to the subversion server that you want to change (edit) a file with the svn lock command. Use the svn status command to find out which files are being edited by your fellows. /FHTenL September 9, /27

26 To lock or not to lock subversion allows you to open and edit the same file by multiple developers. For source code (java, Csharp, php etc) this is not a real problem as modern version control systems are powerful when it comes to helping with merge conflicts. In some cases (typically: binary files like.png pictures), you should not use this feature. You might step on each others hands. Note that this applies to e.g. word.doc files too! You can announce to the subversion server that you want to change (edit) a file with the svn lock command. Use the svn status command to find out which files are being edited by your fellows. Only lock one or a few files at a time. This to enable other to work on other files. /FHTenL September 9, /27

27 Continued work at the same place If you start working on the project, start with a clean slate. At the start of working day or working period, do a svn update. This gets all the stuff other committers committed, and makes your repository up to date. Resolve any conflicts you created or inform the others of problems created by them. Maybe it is time to come together. /FHTenL September 9, /27

28 Get organized. Teamwork is largely organizing your selves. You want to share work 4 and not receive any mess from your fellows. So do not (make leave) a mess in the shared resource, the repository. 4 You do not want to or cannot do it on your own. 5 equivalent to bills to your customer /FHTenL September 9, /27

29 Get organized. Teamwork is largely organizing your selves. You want to share work 4 and not receive any mess from your fellows. So do not (make leave) a mess in the shared resource, the repository. Make sure your fellows can easily find all the pieces. 4 You do not want to or cannot do it on your own. 5 equivalent to bills to your customer /FHTenL September 9, /27

30 Get organized. Teamwork is largely organizing your selves. You want to share work 4 and not receive any mess from your fellows. So do not (make leave) a mess in the shared resource, the repository. Make sure your fellows can easily find all the pieces. Make sure they are in the repository, by committing all needed artifacts. 4 You do not want to or cannot do it on your own. 5 equivalent to bills to your customer /FHTenL September 9, /27

31 Get organized. Teamwork is largely organizing your selves. You want to share work 4 and not receive any mess from your fellows. So do not (make leave) a mess in the shared resource, the repository. Make sure your fellows can easily find all the pieces. Make sure they are in the repository, by committing all needed artifacts. All the work you have done on behalf of the project in one day should have produced some artifact in the repository. Otherwise, it is as if you produced nothing. And you cannot write hours 5 for unproductive time. 4 You do not want to or cannot do it on your own. 5 equivalent to bills to your customer /FHTenL September 9, /27

32 Want to share this? Figure : Who s going to find the latest and greatest version? /FHTenL September 9, /27

33 Start with a clean slate. Each working period, start with a clean desk. E.g. rm - fr / workspace mkdir / workspace cd / workspace. /FHTenL September 9, /27

34 What you can achieve as a team If all in the team are producing texts/code and using subversion as presented here, it should be quite easy to follow the project status. The shared stuff is always available to all. The shared work can be taken over by others in case of illness or unavailability. If the completeness rule is kept, handing over the keys to the project is a piece of cake. /FHTenL September 9, /27

35 What you can use as a team Sending source code by or carrying it around on an USB stick is not an alternative. There are no reasons to not use a repository. Subversion is not the most modern one, but a very good and stable basis. And it can meet most project s needs. Distributed version control systems like hg (mercurial), git, bazaar etc. are promising and expected to pick up the crown, but not just yet. Subversion is well supported in the Unix 6 world or by tools like eclipse, netbeans or jdeveloper. Tools that are available in the MS Windows world too, subversion connectivity is also available. TortoiseSVN ( is a very nice Windows tools for mouse-pushing addicts. Ankhsvn ( is very nice if you need to work in Visual Studio. 6 includes MAC OSX too /FHTenL September 9, /27

36 What else can you change as a team Next to subversion some kind of requirement/feature/bug database is very welcome. Use it. It is a wonderfull tool for the Configuration + Quality management roles. Trac is a possibility and rather easy to set up. It uses a database plus a web frontend. If you want to use it on fontysvenlo.org, coordinate it, so it can be used by more sofa s. There are similar free product/projects, also outside the opensource community, if you must spend money on it. /FHTenL September 9, /27

Pieter van den Hombergh. February 27, 2018

Pieter van den Hombergh. February 27, 2018 Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek February 27, 2018 /FHTenL February 27, 2018 1/35 My Helpers, Tobias Derksen (DE) and me, Pieter van den Hombergh (mailto:p.vandenhombergh@fontys.nl).

More information

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.

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. 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 returns with 12 loaves of bread. Section 2:

More information

Section 2: Developer tools and you. Alex Mariakakis (staff-wide)

Section 2: Developer tools and you. Alex Mariakakis (staff-wide) Section 2: Developer tools and you Alex Mariakakis cse331-staff@cs.washington.edu (staff-wide) What is an SSH client? Uses the secure shell protocol (SSH) to connect to a remote computer o Enables you

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

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

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

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

Version Control Systems (VCS)

Version Control Systems (VCS) Version Control Systems (VCS) Xianyi Zeng xzeng@utep.edu Department of Mathematical Sciences The University of Texas at El Paso. September 13, 2016. Version Control Systems Let s get the textbook! Online

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

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

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

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019 CSCI 2132: Software Development Subversion (and Git) Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Version Control Systems A version control system allows us to Record the history

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

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

CS108, Stanford Handout #37. Source Control CVS

CS108, Stanford Handout #37. Source Control CVS CS108, Stanford Handout #37 Fall, 2008-09 Osvaldo Jiménez Source Control CVS Thanks to Nick Parlante for much of this handout Source Control Any modern software project of any size uses "source control"

More information

SECTION 1: CODE REASONING + VERSION CONTROL + ECLIPSE

SECTION 1: CODE REASONING + VERSION CONTROL + ECLIPSE SECTION 1: CODE REASONING + VERSION CONTROL + ECLIPSE cse331-staff@cs.washington.edu slides borrowed and adapted from Alex Mariakis and CSE 390a OUTLINE Introductions Code Reasoning Version control IDEs

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

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

Thijs Dorssers, Pieter van den Hombergh, Richard van den Ham. May 24, 2018

Thijs Dorssers, Pieter van den Hombergh, Richard van den Ham. May 24, 2018 Thijs Dorssers, Pieter van den Hombergh, Richard van den Ham Fontys Hogeschool voor Techniek en Logistiek May 24, 2018 /FHTenL May 24, 2018 1/11 It is just a bunch of bits But what they represent depends

More information

Version control CSE 403

Version control CSE 403 Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,

More information

Agenda. - Final Project Info. - All things Git. - Make sure to come to lab for Python next week

Agenda. - Final Project Info. - All things Git. - Make sure to come to lab for Python next week Lab #8 Git Agenda - Final Project Info - All things Git - Make sure to come to lab for Python next week Final Project Low Down The Projects are Creative AI, Arduino, Web Scheduler, ios and Connect 4 Notes

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

Source control with Subversion A user perspective

Source control with Subversion A user perspective http://svnbook.red-bean.com/ Source control with Subversion A user perspective Aaron Ponti What is Subversion? } It is a free and open-source version control system } It manages files and directories,

More information

Version Control System GIT

Version Control System GIT Version Control System GIT Version Contol System Version (revision) control systems are software that help you track changes you make in your code over time. As you edit to your code, you tell the version

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

SECTION 2: HW3 Setup.

SECTION 2: HW3 Setup. SECTION 2: HW3 Setup cse331-staff@cs.washington.edu slides borrowed and adapted from Alex Mariakis,CSE 390a,Justin Bare, Deric Pang, Erin Peach, Vinod Rathnam LINKS TO DETAILED SETUP AND USAGE INSTRUCTIONS

More information

CS2720 Practical Software Development

CS2720 Practical Software Development Page 1 Rex Forsyth CS2720 Practical Software Development CS2720 Practical Software Development Subversion Tutorial Spring 2011 Instructor: Rex Forsyth Office: C-558 E-mail: forsyth@cs.uleth.ca Tel: 329-2496

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

Subversion FOUR. 4.1 What is Version Control? 4.2 What is Subversion? Types of Version Control SESSION

Subversion FOUR. 4.1 What is Version Control? 4.2 What is Subversion? Types of Version Control SESSION SESSION FOUR 4.1 What is Version Control? Subversion Version control or revision control is the management of the evolution of information. Typically it is used in engineering or software development where

More information

CSE 160: Introduction to Parallel Computation

CSE 160: Introduction to Parallel Computation CSE 160: Introduction to Parallel Computation Discussion Section SVN Tutorial Based primarily on material provided by Ingolf Krueger Contributions made by Jing Zheng, Yashodhan Karandikar, and Scott B.

More information

Version control CSE 403

Version control CSE 403 Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,

More information

Pieter van den Hombergh Stefan Sobek. April 18, 2018

Pieter van den Hombergh Stefan Sobek. April 18, 2018 Pieter van den Hombergh Stefan Sobek Fontys Hogeschool voor Techniek en Logistiek April 18, 2018 /FHTenL April 18, 2018 1/13 To mock or not to mock In many cases, a class (system under test or SUT) does

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

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

Version Control with Git ME 461 Fall 2018

Version Control with Git ME 461 Fall 2018 Version Control with Git ME 461 Fall 2018 0. Contents Introduction Definitions Repository Remote Repository Local Repository Clone Commit Branch Pushing Pulling Create a Repository Clone a Repository Commit

More information

A Short Introduction to Subversion

A Short Introduction to Subversion 1 / 36 A Short Introduction to Subversion Miaoqing Huang University of Arkansas 2 / 36 Outline 1 3 / 36 The Problem to Avoid 4 / 36 The Problem to Avoid 5 / 36 The Problem to Avoid 6 / 36 The Problem to

More information

2 Initialize a git repository on your machine, add a README file, commit and push

2 Initialize a git repository on your machine, add a README file, commit and push BioHPC Git Training Demo Script First, ensure that git is installed on your machine, and you have configured an ssh key. See the main slides for instructions. To follow this demo script open a terminal

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

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

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

Distributed Version Control

Distributed Version Control Distributed Version Control David Grellscheid 2014-03-17 Workshop on Advanced Techniques for Scientific Programming and Management of Open Source Software Packages 10 21 March 2014 Version management In

More information

Object Oriented Programming. Week 1 Part 2 Git and egit

Object Oriented Programming. Week 1 Part 2 Git and egit Object Oriented Programming Part 2 Git and egit Lecture Review of Git Local Repository Remote Repository Using Git from Eclipse Review of Git 3 What is Git? Software Configuration Management (SCM) Supports

More information

12/7/09. How is a programming language processed? Picasso Design. Collaborating with Subversion Discussion of Preparation Analyses.

12/7/09. How is a programming language processed? Picasso Design. Collaborating with Subversion Discussion of Preparation Analyses. Picasso Design Finish parsing commands Collaborating with Subversion Discussion of Preparation Analyses How is a programming language processed? What are the different phases? Start up Eclipse User s Input

More information

Git. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015

Git. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015 Git CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015 1 Lecture Goals Present a brief introduction to git You will need to know git to work on your presentations this semester 2 Git

More information

Versioning with git. Moritz August Git/Bash/Python-Course for MPE. Moritz August Versioning with Git

Versioning with git. Moritz August Git/Bash/Python-Course for MPE. Moritz August Versioning with Git Versioning with git Moritz August 13.03.2017 Git/Bash/Python-Course for MPE 1 Agenda What s git and why is it good? The general concept of git It s a graph! What is a commit? The different levels Remote

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

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

How to set up SQL Source Control The short guide for evaluators

How to set up SQL Source Control The short guide for evaluators GUIDE How to set up SQL Source Control The short guide for evaluators 1 Contents Introduction Team Foundation Server & Subversion setup Git setup Setup without a source control system Making your first

More information

SECTION 2: Loop Reasoning & HW3 Setup

SECTION 2: Loop Reasoning & HW3 Setup SECTION 2: Loop Reasoning & HW3 Setup cse331-staff@cs.washington.edu Review: Reasoning about loops What is a loop invariant? An assertion that always holds at the top of a loop Why do we need invariants?

More information

Using Git to Manage Source RTL

Using Git to Manage Source RTL Using Git to Manage Source RTL CS250 Tutorial 1 (Version 082311) August 24, 2011 Brian Zimmer How to use this tutorial This class will be using Git for all of the labs and projects. This will allow the

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

SECTION 2: Loop Reasoning & HW3 Setup

SECTION 2: Loop Reasoning & HW3 Setup SECTION 2: Loop Reasoning & HW3 Setup cse331-staff@cs.washington.edu slides borrowed and adapted from CSE 331 Winter 2018, CSE 391, and many more Review: Reasoning about loops What is a loop invariant?

More information

Apache Subversion (SVN)

Apache Subversion (SVN) Datamining and Sequence Analysis Florian Rasche, Kerstin Scheubert 18.10.2010 Teamwork is the concept of people working together cooperatively (Wikipedia) e.g. writing a paper, software development...

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

Object-Oriented Programming: Revision. Revision / Graphics / Subversion. Ewan Klein. Inf1 :: 2008/09

Object-Oriented Programming: Revision. Revision / Graphics / Subversion. Ewan Klein. Inf1 :: 2008/09 Object-Oriented Programming: Revision / Graphics / Subversion Inf1 :: 2008/09 Breaking out of loops, 1 Task: Implement the method public void contains2(int[] nums). Given an array of ints and a boolean

More information

Apache Subversion (SVN)

Apache Subversion (SVN) Datamining und Sequenzanalyse Florian Rasche, Sascha Winter 17.10.2010 Teamwork is the concept of people working together cooperatively (Wikipedia) e.g. writing a paper, software development... But how

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

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

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes Git Charles J. Geyer School of Statistics University of Minnesota Stat 8054 Lecture Notes 1 Before Anything Else Tell git who you are. git config --global user.name "Charles J. Geyer" git config --global

More information

Version control CSE 403

Version control CSE 403 Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,

More information

Configuration Management

Configuration Management Configuration Management VIMIMA11 Design and integration of embedded systems Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2017 Configuration

More information

Version Control Systems (Part 1)

Version Control Systems (Part 1) i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Version

More information

CSE 331 Software Design & Implementation

CSE 331 Software Design & Implementation CSE 331 Software Design & Implementation Spring 2019 Section 2 Development Tools UW CSE 331 Spring 2019 1 Administrivia HW1 done! HW2 due next Tuesday. HW3 out today, deadline upcoming. Everyone should

More information

Eclipse Tutorial How To Write Java Program In Eclipse Step By Step Eclipse Tutorial For Beginners Java

Eclipse Tutorial How To Write Java Program In Eclipse Step By Step Eclipse Tutorial For Beginners Java Eclipse Tutorial How To Write Java Program In Eclipse Step By Step Eclipse Tutorial For Beginners Java We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our

More information

M E R C U R I A L (The Source Control Management)

M E R C U R I A L (The Source Control Management) M E R C U R I A L (The Source Control Management) Jamshaid Iqbal Janjua, Shahid Awan jamshaid.janjua@kics.edu.pk shahidawan@kics.edu.pk Al-Khawarizmi Institute of Computer Science University of Engineering

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

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48 Git and GitHub Dan Wysocki February 12, 2015 Dan Wysocki Git and GitHub February 12, 2015 1 / 48 1 Version Control 2 Git 3 GitHub 4 Walkthrough Dan Wysocki Git and GitHub February 12, 2015 2 / 48 Version

More information

Version Control Systems: Overview

Version Control Systems: Overview i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Version

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

Workshop: High-performance computing for economists

Workshop: High-performance computing for economists Workshop: High-performance computing for economists Lars Vilhuber 1 John M. Abowd 1 Richard Mansfield 1 Hautahi Kingi 1 Flavio Stanchi 1 Sylverie Herbert 1 Sida Peng 1 Kevin L. McKinney 1 Cornell University,

More information

Code Repository. P Blanchfield

Code Repository. P Blanchfield Code Repository P Blanchfield Local Copy Methods There are two main ways of handling Code Repositories Local copy Remote only When you have a remote only system like SVN You copy to your local machine

More information

Pieter van den Hombergh Thijs Dorssers Richard van den Ham. May 17, 2018

Pieter van den Hombergh Thijs Dorssers Richard van den Ham. May 17, 2018 And And Pieter van den Hombergh Thijs Dorssers Richard van den Ham Fontys Hogeschool voor Techniek en Logistiek May 17, 2018 /FHTenL And May 17, 2018 1/14 And in /FHTenL And May 17, 2018 2/14 What is reflection

More information

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs) Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 12 B3B36PRG C Programming Language Part 1 Introduction and

More information

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs) Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 14 B0B36PRP Procedurální programování Part 1 Introduction

More information

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs) Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 14 B0B36PRP Procedurální programování Part 1 Introduction

More information

Human-Computer Interaction Design

Human-Computer Interaction Design Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo, Lab TA: Sean Kross Lab 1 - Version control and HTML (2017-10-06) by Michael Bernstein, Scott Klemmer, Philip Guo, and

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

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

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs) Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 14 B0B36PRP Procedurální programování Part 1 Introduction

More information

Lab 08. Command Line and Git

Lab 08. Command Line and Git Lab 08 Command Line and Git Agenda Final Project Information All Things Git! Make sure to come to lab next week for Python! Final Projects Connect 4 Arduino ios Creative AI Being on a Team - How To Maximize

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

Linux and scripting. Fontys Venlo Software Engineering series LINUX. Ir. Pieter van den Hombergh

Linux and scripting. Fontys Venlo Software Engineering series LINUX. Ir. Pieter van den Hombergh Fontys Venlo Software Engineering series Linux and scripting LINUX Ir. Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Hogere Informatica/ Software Engineering en Bedrijfskundige informatica

More information

Version Control Systems

Version Control Systems Version Control Systems Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 12 B3B36PRG C Programming Language Jan Faigl, 2017 B3B36PRG

More information

And check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username

And check out a copy of your group's source tree, where N is your one-digit group number and user is your rss username RSS webmaster Subversion is a powerful, open-source version control system favored by the RSS course staff for use by RSS teams doing shared code development. This guide is a primer to the use of Subversion

More information

The Enum Type. Pieter van den Hombergh Richard van den Ham. March 1, Fontys Hogeschool voor Techniek en Logistiek. The Enum Type HOM HVD

The Enum Type. Pieter van den Hombergh Richard van den Ham. March 1, Fontys Hogeschool voor Techniek en Logistiek. The Enum Type HOM HVD The Enum Type The Enum Type Pieter van den Hombergh Richard van den Ham Fontys Hogeschool voor Techniek en Logistiek March 1, 2018 /FHTenL The Enum Type March 1, 2018 1/12 Topics The Enum Type /FHTenL

More information

Human-Computer Interaction Design

Human-Computer Interaction Design Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo Lab 1 - Version control and HTML (2018-10-03) by Michael Bernstein, Scott Klemmer, Philip Guo, and Sean Kross [Announce

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

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

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU

Lab 01 How to Survive & Introduction to Git. Web Programming DataLab, CS, NTHU Lab 01 How to Survive & Introduction to Git Web Programming DataLab, CS, NTHU Notice These slides will focus on how to submit you code by using Git command line You can also use other Git GUI tool or built-in

More information

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read) 1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?

More information

Yinghui Wang

Yinghui Wang Yinghui Wang wang382@mcmaster.ca 1 What is subversion Subversion is the tool for controlling the versions of your files. To retrieve a specific version of files To synchronize the modification made by

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

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.

Git AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects. Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I

More information

SECTION 2: CODE REASONING + PROGRAMMING TOOLS. slides borrowed and adapted from Alex Mariakis and CSE 390a

SECTION 2: CODE REASONING + PROGRAMMING TOOLS. slides borrowed and adapted from Alex Mariakis and CSE 390a SECTION 2: CODE REASONING + PROGRAMMING TOOLS cse331-staff@cs.washington.edu slides borrowed and adapted from Alex Mariakis and CSE 390a OUTLINE Reasoning about code Developer tools Eclipse and Java versions

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

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

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017 Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 11, 2017 1 Scenario 1 You finished the assignment at

More information

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018 Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 17, 2018 1 But first, Screen Readers The software you

More information

CS 261 Recitation 1 Compiling C on UNIX

CS 261 Recitation 1 Compiling C on UNIX Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Compiling C on UNIX Winter 2017 Outline Secure Shell Basic UNIX commands Editing text The GNU Compiler

More information

Part I Part 1 Version Control Systems (VCSs)

Part I Part 1 Version Control Systems (VCSs) Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 09 BE5B99CPL C Programming Language Part 1 Introduction and

More information