Praktische Aspekte der Informatik. Thomas Löwe Prof. Marcus Magnor

Similar documents
Praktische Aspekte der Informatik

Apache Subversion (SVN)

Apache Subversion (SVN)

17008 VCS Subversion Version Control System

Using Subversion with LeMANS and MONACO

Version Control System. -- base on Subversion 1.4

CS2720 Practical Software Development

Revision control systems (RCS) and. Subversion

A Short Introduction to Subversion

CSC 2700: Scientific Computing

Computational Physics Compiling a C++ program

Managing your code: version control

Revision Control II. - svn

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

Common Configuration Management Tasks: How to Do Them with Subversion

Version Control Systems

Version control. Michael Tsai 2012/4/10

Decentralized Version Control Systems

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

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

Introduction to Version Control

Version control CSE 403

Source control with Subversion A user perspective

Importing Files and Directories $ svnadmin create \

Software Tools Subversion

Introduction to Revision Control

Branches in Subversion, Debugging, scmbug

Chapter 3. Revision Control

CS480. Compilers Eclipse, SVN, Makefile examples

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

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

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

Computer Labs: Version Control with Subversion

Versioning. Jurriaan Hage homepage: Slides stolen from Eelco Dolstra.

Search Engines Chapter 2 Architecture Felix Naumann

Subversion. An open source version control system. W. Miah escience Rutherford Appleton Laboratory

Version control CSE 403

Version control CSE 403

Source Code Management

Subversion. Network Monitoring & Management

Praktische Aspekte der Informatik

Apache Subversion Tutorial

CSE 160: Introduction to Parallel Computation

SECTION 1: CODE REASONING + VERSION CONTROL + ECLIPSE

Tools for software development:

Praktische Aspekte der Informatik

VSO. Configuration Management

If you are new to version control systems and are wondering where to start, read the article Version Control and Altium Designer.

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

Git tutorial. Katie Osterried C2SM. October 22, 2015

Intro Git Advices. Using Git. Matthieu Moy. Matthieu Moy Git 2016 < 1 / 11 >

MNXB Working with SVN. Florido Paganelli Lund University Tutorial 2b

Revision control. INF5750/ Lecture 2 (Part I)

Project Management. Overview

An Introduction to Subversion

Prof. Dr. Marko Boger. Prof. Dr. Christian Johner. Version Management

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

IN THE PRODUCT LINE MODEL VERSIONING DEVELOPMENT. Supported by Enterprise Architect and LemonTree

USB. USB Sticks in Design und Qualität

Subversion Branching and Merging. Jan Skalický

A Practical Introduction to Version Control Systems

Intro Git Advices Séance Machine Using Git Matthieu Moy Matthieu Moy Git < 1 / 13 >

Computer Labs: Version Control with Subversion

OPERATING SYSTEMS ASSIGNMENT 4 XV6 file system

CESSDA Expert Seminar 13 & 14 September 2016 Prague, Czech Republic

Revision Control. Software Engineering SS 2007

Introduction to Git and Github

Praktische Aspekte der Informatik

Source Control: Perforce

Version Control Systems (Part 1)

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

Version Control Systems (VCS)

Versionskontrolle Dario Maggi

Revision Control. How can 4. Slides #4 CMPT 276 Dr. B. Fraser. Local Topology Simplified. Git Basics. Revision Control:

Department of Computer Science College of Engineering Boise State University

Subversion Repository Layout

SVN - BRANCHING. Now Jerry is working in his private branch. He adds sort operation for the array. Jerry's modified code looks like this.

Yinghui Wang

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Configuration Management

Systems Software. Recitation 1: Intro & Revision Control. Quite different from 213. Our Philosophy. Partly-free lunch

CS314 Software Engineering Configuration Management

Handout 4: Version Control Reference

Introduction, Instructions and Conventions

AIS Grid School 2015

Manage quality processes with Bugzilla

Computer Science Design I Version Control with Git

Git for Version Control

Software Architecture

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

Connection Guide Link ECU

Weak Consistency and Disconnected Operation in git. Raymond Cheng

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Push up your code next generation version control with (E)Git

Git(Lab) Tutorial and Hands-On

About SJTUG. SJTU *nix User Group SJTU Joyful Techie User Group

Source Control: Perforce

Git Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy

Managing Source Code With Subversion

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

Transcription:

Praktische Aspekte der Informatik Thomas Löwe Prof. Marcus Magnor

Your Proposal It s due 15.05.2016! It s due 22.05.2016!

Software Versioning SVN basics, workflow, and commands

Further Reading Warning! The following slides are meant to give you a very superficial introduction. If you want to learn more, have a look at: http://subversion.apache.org http://svnbook.red-bean.com http://tortoisesvn.net

Outline What is versioning? Naïve approaches Smart approaches SVN Workflow Basic svn commands Assignment: Check in your proposal

A simple file server

Lock-modify-unlock

Copy-modify-merge

Copy-modify-merge

SVN Basics Benefits: Global revision numbers No serialization (parallel editing) Offline editing Merging works most of the time Drawbacks: Requires a disciplined workflow and maintenance!

SVN Basics Initial checkout, and regular update to the newest version: svn checkout / svn update Make changes: svn add / svn delete / svn copy / svn move / Examine your changes: svn status / svn diff Possibly undo some changes: svn revert Commit changes: svn commit

SVN Basics Always use the update command to get the latest version: $ svn update Basic Usage 19 U foo.c U bar.c Updated to revision 2. For bug hunting it is useful to look at old revisions by adding --revision [revision-number]

SVN Basics Check the status of all local files compared to the repository: $ svn status? local_settings.h # file is not under version control A food/sandwich.h # file is scheduled for addition C food/sandwich.txt # file has conflicts from an update D bread.cpp # file is scheduled for deletion M food/sandwich.cpp # the content has local modifications

SVN Basics $ svn log ---------------------------------------------------------------- r3 sally 2008-05-15 23:09:28-0500 (15 May 2008) 1 line Added includes and corrected the number of cheese slices. $ svn diff Index: sandwich.cpp =============================================================== --- sandwich.cpp (revision 3) +++ sandwich.cpp (working copy) @@ -1,7 +1,12 @@ +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include <stdio.h> int main(void) { - printf("sixty-four slices of American Cheese...\n"); + printf("sixty-five slices of American Cheese...\n"); return 0;

SVN Conflicts If there is a conflict, all relevant versions are saved on disk: $ ls -1 sandwich.txt sandwich.txt.mine sandwich.txt.r1 sandwich.txt.r2 # Your work # Old version # Someone else s work

SVN Conflicts $ cat sandwich.txt Top piece of bread Mayonnaise Lettuce Tomato Provolone <<<<<<<.mine Salami Mortadella Prosciutto ======= Sauerkraut Grilled Chicken >>>>>>>.r2 Creole Mustard Bottom piece of bread

SVN Conflicts You have the following options: $ svn resolve --accept theirs-full sandwich.txt Replaces your file with the the current revision. $ svn resolve --accept working sandwich.txt You have corrected the conflict by hand. $ svn resolve --accept mine-full sandwich.txt Replaces their file with your current version. $ svn resolve --accept base sandwich.txt Reverts to the last revision you checked out (in this example, r1). You should also clean up the temporary files *.r* and *.mine afterwards.

SVN Conflicts You can then commit your changes: $ svn commit -m "Added more delicious ingredients." Sending sandwich.txt Transmitting file data. Committed revision 3.

Things to watch out for Commit often Always use understandable messages Only commit code that compiles Avoid conflicts early, by designating responsibilities. Do not commit temporary files! Do not commit backup files!

Assignment A. Commit your project proposal Check out your project s directory: svn checkout svn://elara.cg.cs.tu-bs.de/public/padi/yourname/ Copy your proposal (proposal.txt) into this directory. Make sure your proposal is a text file and that it contains both your name as well as your matrikelnummer. B. Modify the projects.txt list Check out the common directory: svn checkout svn://elara.cg.cs.tu-bs.de/public/padi/common/ There should be a file called projects.txt. It contains a list of all projects and current states. Please add your project information to the file, so I know who is still working on his/her project.

Science! Hallo, wir wollen diese Woche am Institut für Computergraphik ein neues Verfahren zur virtuellen Objektbetrachtung testen und mit bestehenden Verfahren vergleichen. Hierfür brauchen wir noch Probanden, die für uns einfache kleine Aufgaben mit einer vorher zufällig bestimmten Eingabemethoden lösen (Maus&Tastatur, Touchscreen, Virtual Reality,...). Die Durchführung des Tests wird pro Person ca. 30 Minuten dauern. Wer von euch interessiert ist, kann sich hier für einen Termin eintragen: https://docs.google.com/spreadsheets/d/1kv7_bwl_cdzqndlb0lp8k9s XxdwiE7wdh1xUbSKvbjM Ihr findet uns dann im Raum G25 im Informatikzentrum (IZ) beim Institut für Computergraphik. Wir freuen uns auf eure Teilnahme!