Configura)on Management Founda)ons. Leonardo Gresta Paulino Murta

Size: px
Start display at page:

Download "Configura)on Management Founda)ons. Leonardo Gresta Paulino Murta"

Transcription

1 Configura)on Management Founda)ons Leonardo Gresta Paulino Murta

2 Configura)on Item Hardware or aggrega)on subject to configura)on management Examples: CM plan Requirement Engineering Process Requirements Models Source- code of component X Etc. Leonardo Murta Configura)on Management Founda)ons 2

3 Configura)on Item The selec)on of CI should take into considera)ons basic design principles such as coupling and cohesion High coupling introduces complexity to the building process Many dependencies among CI Low cohesion introduces complexity to the development process Many developers working over the same CI CM benefits from well defined architectures Leonardo Murta Configura)on Management Founda)ons 3

4 Configura)on Item Coarse Lower System Directory Program Procedure Module Document Sec)on File Granularity Tool Demand Command Paragraph Line Perspec)ve: Code Documenta)on Fine Higher Leonardo Murta Configura)on Management Founda)ons 4

5 Derived Item A CI may be derived from other CI (source items) Example: Executable files are derived from the source code DB Schema is derived from class models Etc. CM Strategies Version control the derived items Document and version control the deriva)on process (script, tools, environment, etc.) Leonardo Murta Configura)on Management Founda)ons 5

6 Building Process that generates derived items from source items considering a target configura)on Uses automated build scripts to describe the process Example: makefile, build.xml, pom.xml The build scripts are also subject to CM Leonardo Murta Configura)on Management Founda)ons 6

7 Version Different instances of the same CI Three types of Versions: Version Revision Variant Coopera)on (Conradi and Wes_echtel 1998) Leonardo Murta Configura)on Management Founda)ons 7

8 Revisions imac genera)ons ( ) Leonardo Murta Configura)on Management Founda)ons 8

9 Variants Honda Civic Hatchback Sedan Coupe Leonardo Murta Configura)on Management Founda)ons 9

10 Coopera)on versions) Base version Peter s workspace Mary s workspace John s workspace Leonardo Murta Configura)on Management Founda)ons 10

11 versions may be merged John s workspace Mary s workspace Peter s workspace Revisions Leonardo Murta Configura)on Management Founda)ons 11

12 Conflicts may happen during merge John workspace Fred workspace Revisions Leonardo Murta Configura)on Management Founda)ons 12

13 Two other important opera)ons Diff = Patch = for storing, transferring, and comprehending versions Leonardo Murta Configura)on Management Founda)ons 13

14 Versions in the wild Mul)tude of revisions and variants altogether (set aside versions) History of Git Leonardo Murta Configura)on Management Founda)ons 14

15 But, what are versions good for? Synchronizing teamwork Reproducing previous configura)ons Exploring possibili)es Segrega)ng developers Customizing products (SPL) Tracing bug introduc)on (bisect) Understanding evolu)on (MSR) Audi)ng changes (annotate) Etc. Leonardo Murta Configura)on Management Founda)ons 15

16 CM System Version 1 Version 2 Version 3 Version 4 Version 5 Leonardo Murta Configura)on Management Founda)ons 16

17 CM System Version 1 Version 2 Version 3 Version 4 Version 5 Leonardo Murta Configura)on Management Founda)ons 17

18 CM System Version 1 Version 2 Version 3 Version 4 Version 5 Leonardo Murta Configura)on Management Founda)ons 18

19 CM System Change Requests Issue Tracking CI Version Control Build and Release Leonardo Murta Configura)on Management Founda)ons 19

20 Version Control Topology? Storage? Collabora)on? Query? CI Repository Leonardo Murta Configura)on Management Founda)ons 20

21 Topology Workspace check- in / commit Repository Workspace check- out / update push check- in Repository Repository Workspace clone / pull check- out / update Centralized Distributed Leonardo Murta Configura)on Management Founda)ons 21

22 Storage v.3 v.2 delta 2à 3 delta 1à 2 v.3 v.1 v.2/3 v.1 v.1 delta 3à 2 delta 2à 1 v.1/2 v.3 Complete Forward Reverse In-line Leonardo Murta Configura)on Management Founda)ons 22

23 Collabora)on c.3 c.2 merge merge c.1 c.1 c.1 c.2 c.3 c.2 c.3 Pessimist Optimist Mixed Leonardo Murta Configura)on Management Founda)ons 23

24 Query Repository (version 0) 1st change Repository (version 1) Ar)fact1 (version 1) Ar)fact2 (version 1) Ar)fact3 (version 1) 2nd change Repository (version 2) Ar)fact1 (version 2) Ar)fact2 (version 1) Ar)fact3 (version 1) Repository (version 3) Ar)fact1 (version 2) Ar)fact2 (version 3) Ar)fact3 (version 1) Ar)fact4 (version 3) 3rd change 4th change Repository (version 4) Ar)fact1 (version 4) Ar)fact2 (version 3) Ar)fact3 (version 4) Ar)fact4 (version 3) Query by ar)fact Ar)fact1 Version 1 Version 2 Version 4 Ar)fact2 Version 1 Version 3 Ar)fact3 Version 1 Version 4 Ar)fact4 Version 3 Leonardo Murta Configura)on Management Founda)ons 24

25 Query Repository (version 0) 1st change Repository (version 1) Ar)fact1 (version 1) Ar)fact2 (version 1) Ar)fact3 (version 1) 2nd change Repository (version 2) Ar)fact1 (version 2) Ar)fact2 (version 1) Ar)fact3 (version 1) Repository (version 3) Ar)fact1 (version 2) Ar)fact2 (version 3) Ar)fact3 (version 1) Ar)fact4 (version 3) 3rd change 4th change Repository (version 4) Ar)fact1 (version 4) Ar)fact2 (version 3) Ar)fact3 (version 4) Ar)fact4 (version 3) Query by change 1st change Ar)fact1 added Ar)fact2 added Ar)fact3 added 2nd change Ar)fact1 changed 3rd change Ar)fact2 changed Ar)fact4 added 4th change Ar)fact1 changed Ar)fact3 changed Leonardo Murta Configura)on Management Founda)ons 25

26 Query CI Change 1 * Version * 1 Ar)fact1 Version 1 Version 2 Version 4 Change 4 Ar)fact1 Ar)fact3 Leonardo Murta Configura)on Management Founda)ons 26

27 Configura)on A set of CI versions where there is one and only one version per CI A configura)on can be seen as a CI composed by other CI Examples System configura)on Process configura)on Module X configura)on Requirements configura)on Source- code configura)on Leonardo Murta Configura)on Management Founda)ons 27

28 Configura)on vs. version Version CI Composite CI Atomic CI Configura)on Generically speaking The system S is composed by CI X, Y, and Z Concretely speaking The configura)on 5 of system S is composed by version 2 of CI X, version 4 of CI Y, and version 6 of CI Z Leonardo Murta Configura)on Management Founda)ons 28

29 Tag VCS usually register mul)ple configura)ons, but just few are of interest to the user Tags allow naming such configura)ons Names can be user to indicate versions, quality levels, etc. Tags HelloWorld.java Welcome.java build.xml User.java REJECTED ACCEPTED Leonardo Murta Configura)on Management Founda)ons 29

30 Configura)on vs. version Composite CI Atomic CI Atomic CI Atomic CI Conf. 1 V.1 V.1 V.1 Conf. 2 V.2 V.2 V.2 V.3 V.3 Conf. 3 V.4 Leonardo Murta Configura)on Management Founda)ons 30

31 Baseline A specifica)on or product that has been formally reviewed and agreed upon, that therea@er serves as the basis for further development, and that can be changed only through formal change control procedures (IEEE , 1990). Baselines are created at the end of each development phase: analysis (func)onal), design (allocated) and coding (product) When is the correct moment for crea)ng baselines? Control vs. Bureaucracy Leonardo Murta Configura)on Management Founda)ons 31

32 Baseline CI changed SE Tasks CI Change Control Formal techinical reviews CI checked-out CI approved CI stored [Pressman, 1997] Baseline update process Leonardo Murta Configura)on Management Founda)ons 32

33 Baseline (levels of control) Coordina)on and audi)ng Levels of control Control Pre baseline: Informal Without request Without evalua)on Without verifica)on Agile Ad- hoc Post baseline: Formal With request With evalua)on With verifica)on Bureaucra)c Planned Leonardo Murta Configura)on Management Founda)ons 33

34 Baseline (levels of control) Baseline 1: Requirement 1 Analysis Design An. Req. 1 Baseline 2: An. Req. 1 Ds. Req. 1 An. Req. 2 Requirement 2 Analysis Design Time Req. Analysis Design Analysis Design Analysis Design 1 Inform. - Formal Inform. Formal Formal Inform. - Formal Inform. Leonardo Murta Configura)on Management Founda)ons 34

35 Release Noun: Version provided for a specific purpose Verb: Formal no)fica)on and distribu)on of a version (usually baseline) All release are versions, but not all versions are released Some)mes, releases may be developed in parallel due to time to market Examples Test release Staging release Product release Leonardo Murta Configura)on Management Founda)ons 35

36 Tags naming releases Tags HelloWorld.java Welcome.java build.xml User.java HEAD Leonardo Murta Configura)on Management Founda)ons 36

37 Branches Versions that deviate from the main development line Allow isola)on to the development process Usually reintegrated to the main development line The reintegra)on some)mes is a difficult process Workspaces (CVCS) can be seen as a temporary branch Clones (DVCS) can be seen as repository forks that may lead to branches if parallel development occurs Leonardo Murta Configura)on Management Founda)ons 37

38 Branch example Tag HelloWorld.java Welcome.java build.xml Users.java Branch 1.0.x Leonardo Murta Configura)on Management Founda)ons 38

39 Merge Help on reintegra)ng Workspaces Branches It is necessary even when pessimis)c concurrency control (lock) is in place, due to branches Automa)c algorithms categories Generic (work with all programming languages) Language Specific (take into considera)on the syntax and seman)cs of the programming language) Leonardo Murta Configura)on Management Founda)ons 39

40 Merge Types of generic merge algorithms 2- way merge 3- way merge W Y Z X Y Z W Y X Y Z W Y X or W? Y Z or nothing? X Y Leonardo Murta Configura)on Management Founda)ons 40

41 Merge Merge occurs for each CI in the branch All changes since the common ancestor are taken into considera)on 1.6 = Δ 1 + Δ 2 Δ 1 HelloWorld.java Δ 2 Leonardo Murta Configura)on Management Founda)ons 41

42 Merge Merge can be done incrementally HelloWorld.java Δ 1 Δ Δ 2 Δ 4 Leonardo Murta Configura)on Management Founda)ons 42

43 Merge Merge can be done incrementally 1.9 = Δ 3 + Δ 4 HelloWorld.java Δ 1 Δ Δ 2 Δ 4 Leonardo Murta Configura)on Management Founda)ons 43

44 Conflicts Situa)ons where it is not possible to perform automa)c merge Types Physical (line of a file) Syntac)c (elements of the file grammar) Seman)c (dependencies among elements) Current tool support focus on the physical level! Examples of physical conflicts Parallel change in the same line Parallel change and dele)on of the same line Parallel addi)ons of lines in the same file region Leonardo Murta Configura)on Management Founda)ons 44

45 Raw conflict demarca)on Leonardo Murta Configura)on Management Founda)ons 45

46 IDE conflict resolu)on Leonardo Murta Configura)on Management Founda)ons 46

47 Configura)on Management Founda)ons Leonardo Gresta Paulino Murta

Con$nuous Integra$on Development Environment. Kovács Gábor

Con$nuous Integra$on Development Environment. Kovács Gábor Con$nuous Integra$on Development Environment Kovács Gábor kovacsg@tmit.bme.hu Before we start anything Select a language Set up conven$ons Select development tools Set up development environment Set up

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

Practical C Programming

Practical C Programming Practical C Programming Advanced Preprocessor # - quotes a string ## - concatenates things #pragma h3p://gcc.gnu.org/onlinedocs/cpp/pragmas.html #warn #error Defined Constants Macro FILE LINE DATE TIME

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

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

Version Control. So#ware Quality Quality Audit and Cer2fica2on. Master in Computer Engineering. Roberto García

Version Control. So#ware Quality Quality Audit and Cer2fica2on. Master in Computer Engineering. Roberto García Version Control So#ware Quality Quality Audit and Cer2fica2on Master in Computer Engineering Roberto García (rgarcia@diei.udl.cat) Introduc2on Change- control procedures. Avoid uncontrolled changes, destabilize

More information

Review Version Control Concepts

Review Version Control Concepts Review Version Control Concepts SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Managing change is a constant aspect of software development.

More information

CS 390 Software Engineering Lecture 3 Configuration Management

CS 390 Software Engineering Lecture 3 Configuration Management CS 390 Software Engineering Lecture 3 Configuration Management Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved.

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

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

Prof. Dr. Marko Boger. Prof. Dr. Christian Johner. Version Management Prof. Dr. Marko Boger Prof. Dr. Christian Johner Version Management Learning objectives Know problems a version control system can solve Master terms such as Check-out, commit, merge, pull, fetch, Master,

More information

Tizen/Artik IoT Practice Part 4 Open Source Development

Tizen/Artik IoT Practice Part 4 Open Source Development 1 Tizen/Artik IoT Practice Part 4 Open Source Development Sungkyunkwan University Contents 2 SCM Tool: Git Version Management Local & Remote Repository Branch Management Github Contribution Process Issue

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

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

Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS. Davide Rossi Dipartimento di Informatica Università di Bologna

Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS. Davide Rossi Dipartimento di Informatica Università di Bologna Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS Davide Rossi Dipartimento di Informatica Università di Bologna Rationale for version control Control the revisions of artifacts

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

Git. Christoph Matthies Software Engineering II WS 2018/19. Enterprise Platform and Integration Concepts group

Git. Christoph Matthies Software Engineering II WS 2018/19. Enterprise Platform and Integration Concepts group Git Software Engineering II WS 2018/19 Christoph Matthies christoph.matthies@hpi.de Enterprise Platform and Integration Concepts group Outline 1. Basics 2. Local 3. Collaboration November 16, 2018 2 Centralized

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

Introduction to Version Control with Git

Introduction to Version Control with Git Introduction to Version Control with Git Dark Cosmology Centre Niels Bohr Institute License All images adapted from Pro Git by Scott Chacon and released under license Creative Commons BY-NC-SA 3.0. See

More information

Visualizing Git Workflows. A visual guide to 539 workflows

Visualizing Git Workflows. A visual guide to 539 workflows Visualizing Git Workflows A visual guide to 539 workflows Table of Contents Notation Collaboration Without Review or Branches Merge Conflicts Requesting Code Review Collaboration with Multiple Branches

More information

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

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering V. Working Together Working together Management Process Models Version Management Systems Collaborative Development Environments 3 Parts

More information

Software configuration management

Software configuration management Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2017-03-27 2 Maintenance Requirements System Design (Architecture,

More information

A BASIC UNDERSTANDING OF VERSION CONTROL

A BASIC UNDERSTANDING OF VERSION CONTROL A BASIC UNDERSTANDING OF VERSION CONTROL DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU EVER DO THIS? DID YOU

More information

EECS 470 Lab 4. Version Control System. Friday, 31 st January, 2014

EECS 470 Lab 4. Version Control System. Friday, 31 st January, 2014 EECS 470 Lab 4 Version Control System Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 31 st January, 2014 (University of Michigan) Lab 4:

More information

CISC327 - So*ware Quality Assurance

CISC327 - So*ware Quality Assurance CISC327 - So*ware Quality Assurance Lecture 8 Introduc

More information

Lab Objective. Lab Assignment. Downloads and Installation

Lab Objective. Lab Assignment. Downloads and Installation How I Start Working with Git: Git Lab 01 Adapted from: (1) https://github.com/quantstack/xeus-cling (2) https://code.visualstudio.com/docs/languages/cpp Lab Objective 1. Installing and using VS Code 2.

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

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

Recap: Developer's Environment

Recap: Developer's Environment Recap: Developer's Environment There's no audio yet. We'll start at 2PM (Eastern Time). Standardizing Your Test Environment VirtualBox -> machine inside a machine the oracle thing Chef -> configuration

More information

February 2 nd Jean Parpaillon

February 2 nd Jean Parpaillon Using GIT with Kerrighed project Kerrighed Summit '07 February 2 nd 2007 Jean Parpaillon Table of contents Kerrighed SCM Subversion GIT GIT with Kerrighed References 2 Kerrighed

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

Version Control with Git

Version Control with Git Version Control with Git Jon Loeliger O'REILLY Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface... xi 1. Introduction... 1 Background 1 The Birth of Git 2 Precedents 4 Time Line

More information

License. Introduction to Version Control with Git. Local Version Control Systems. Why Use Version Control?

License. Introduction to Version Control with Git. Local Version Control Systems. Why Use Version Control? License Introduction to Version Control with Git Andreas Skielboe 1 Adapted by Dr. Andrew Vardy 2 All images adapted from Pro Git by Scott Chacon and released under license Creative Commons BY-NC-SA 3.0.

More information

Modifying an Exis.ng Commercial Product for Cryptographic Module Evalua.on

Modifying an Exis.ng Commercial Product for Cryptographic Module Evalua.on Modifying an Exis.ng Commercial Product for Cryptographic Module Evalua.on ICMC16 O?awa, Canada 18-20 May 2016 Presented by Alan Gornall Introduc.on I provide cer.fica.on support to my clients: compliance

More information

Weak Consistency and Disconnected Operation in git. Raymond Cheng

Weak Consistency and Disconnected Operation in git. Raymond Cheng Weak Consistency and Disconnected Operation in git Raymond Cheng ryscheng@cs.washington.edu Motivation How can we support disconnected or weakly connected operation? Applications File synchronization across

More information

Language Shapes (Architectural) Thought Markus Völter

Language Shapes (Architectural) Thought Markus Völter Language Shapes (Architectural) Thought Markus Völter voelter@acm.org www.voelter.de @markusvoelter Language Shapes (Architectural) Thought Sapir Whorf hypothesis aka Whorfianism The principle of linguis;c

More information

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

Revision Control. How can 4. Slides #4 CMPT 276 Dr. B. Fraser. Local Topology Simplified. Git Basics. Revision Control: How can 4 (or 4000) developers work on a product at once? Revision Control Revision Control Revision Control: Also called version control, source control, software configuration management. Motivation:

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

Task-Oriented Solutions to Over 175 Common Problems. Covers. Eclipse 3.0. Eclipse CookbookTM. Steve Holzner

Task-Oriented Solutions to Over 175 Common Problems. Covers. Eclipse 3.0. Eclipse CookbookTM. Steve Holzner Task-Oriented Solutions to Over 175 Common Problems Covers Eclipse 3.0 Eclipse CookbookTM Steve Holzner Chapter CHAPTER 6 6 Using Eclipse in Teams 6.0 Introduction Professional developers frequently work

More information

Version Control System - Git. zswu

Version Control System - Git. zswu Version Control System - Git zswu Overview Why VCS? Why Git? Using Git Personally Using Git with Others Etiquette Rules of Using Git Tools & Services Tips 2 Why VCS (1/3) How do you manage your homework?

More information

NETCONF WG IETF 96 (Berlin)

NETCONF WG IETF 96 (Berlin) Zero Touch Provisioning for NETCONF/RESTCONF Call Home dra>-ie@-netconf-zerotouch-09 NETCONF WG IETF 96 (Berlin) Recap At IETF 95, we reviewed a significantly updated dra> and its 4 open issues. 2 issues

More information

Use git rm to remove files from workspace

Use git rm to remove files from workspace More Git: Removing files from the repository Branches, tags, merge conflicts Pull requests CPSC 491 First: Get up to speed from last time Removing files from your workspace Use git rm to remove files from

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

The Old World. Have you ever had to collaborate on a project by

The Old World. Have you ever had to collaborate on a project by What the Git? The Old World Have you ever had to collaborate on a project by Shuttling a USB drive back and forth Using Dropbox E-mailing your document around Have you ever accidentally deleted someone

More information

Software Testing and Maintenance 1. Introduction Product & Version Space Interplay of Product and Version Space Intensional Versioning Conclusion

Software Testing and Maintenance 1. Introduction Product & Version Space Interplay of Product and Version Space Intensional Versioning Conclusion Today s Agenda Quiz 3 HW 4 Posted Version Control Software Testing and Maintenance 1 Outline Introduction Product & Version Space Interplay of Product and Version Space Intensional Versioning Conclusion

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

EGit in Eclipse. Distributed Verzion Control Systems

EGit in Eclipse. Distributed Verzion Control Systems EGit in Eclipse Distributed Verzion Control Systems 1 EGit in Eclipse Distributed Verzion Control Systems Distributed Verizon Control Systems 1.1 1.2 2 EGit in Eclipse Distributed Verzion Control Systems

More information

Automated System Analysis using Executable SysML Modeling Pa8erns

Automated System Analysis using Executable SysML Modeling Pa8erns Automated System Analysis using Executable SysML Modeling Pa8erns Maged Elaasar* Modelware Solu

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

Object Oriented Design (OOD): The Concept

Object Oriented Design (OOD): The Concept Object Oriented Design (OOD): The Concept Objec,ves To explain how a so8ware design may be represented as a set of interac;ng objects that manage their own state and opera;ons 1 Topics covered Object Oriented

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

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master... Table of Contents Getting the files for the first time...2 Making Changes, Commiting them and Pull Requests:...5 Update your repository from the upstream master...8 Making a new branch (for leads, do this

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

TCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE

TCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE TCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE Scrum Software Process, Version Control, Git/Github Github, Postman Wes J. Lloyd Institute of Technology University of Washington - Tacoma OBJECTIVES

More information

Introduction to Git and Github

Introduction to Git and Github Introduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017 What is git and GitHub? git is a version control system. Other version control systems

More information

FAQ Q: Where/in which branch do I create new code/modify existing code? A: Q: How do I commit new changes? A:

FAQ Q: Where/in which branch do I create new code/modify existing code? A: Q: How do I commit new changes? A: FAQ Q: Where/in which branch do I create new code/modify existing code? A: We strongly recommend only modifying the source code within the local master branch: Git Repository View Woped repository Branches

More information

Brief overview of the topic and myself the 7 VCS used so far (different one each time), still many unused Acts as a time-machine, and almost as

Brief overview of the topic and myself the 7 VCS used so far (different one each time), still many unused Acts as a time-machine, and almost as Brief overview of the topic and myself the 7 VCS used so far (different one each time), still many unused Acts as a time-machine, and almost as contentious as the text editor This talk tries to address

More information

Architectural Requirements Phase. See Sommerville Chapters 11, 12, 13, 14, 18.2

Architectural Requirements Phase. See Sommerville Chapters 11, 12, 13, 14, 18.2 Architectural Requirements Phase See Sommerville Chapters 11, 12, 13, 14, 18.2 1 Architectural Requirements Phase So7ware requirements concerned construc>on of a logical model Architectural requirements

More information

Software Architecture

Software Architecture Chair of Software Engineering Software Architecture Bertrand Meyer, Carlo A. Furia, Martin Nordio ETH Zurich, February-May 2011 Lecture 9: Configuration management About your future You will never work

More information

1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.

1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one. Multiple-Choice Questions: 1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.) a. update b. checkout c. clone d. import

More information

Charlie Garrod Bogdan Vasilescu

Charlie Garrod Bogdan Vasilescu Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 1: Introduc9on Course overview and introduc9on to so3ware design Charlie Garrod Bogdan Vasilescu School of Computer Science 1 So3ware

More information

COSC345 Software Engineering. Version Control

COSC345 Software Engineering. Version Control COSC345 Software Engineering Version Control Some Problems Communications File system problems Version control Basic principles and use Outline When to use version control Examples SCCS RCS Subversion

More information

Conduite de Projet Cours 2 Version Control

Conduite de Projet Cours 2 Version Control Conduite de Projet Cours 2 Version Control Stefano Zacchiroli zack@irif.fr Laboratoire IRIF, Université Paris Diderot 2018 2019 URL https://upsilon.cc/zack/teaching/1819/cproj/ Copyright 2012 2019 Stefano

More information

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

Intro Git Advices. Using Git. Matthieu Moy. Matthieu Moy Git 2016 < 1 / 11 > Using Git Matthieu Moy Matthieu.Moy@imag.fr 2016 Matthieu Moy (Matthieu.Moy@imag.fr) Git 2016 < 1 / 11 > Outline 1 Revision Control System 2 Git: Basic Principles 3 Advices Using Git Matthieu Moy (Matthieu.Moy@imag.fr)

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

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 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

Versioning Systems. Tolu Oguntusin(too06u) 12th November, University of Nottingham

Versioning Systems. Tolu Oguntusin(too06u) 12th November, University of Nottingham Introduction to in Software Quality. (too06u) University of Nottingham 12th November, 2008 Outline Introduction to in Software Quality. 1 Introduction to What are? How do they work? How are files stored?

More information

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

Subversion. An open source version control system. W. Miah escience Rutherford Appleton Laboratory Subversion An open source version control system W. Miah (w.miah@rl.ac.uk) escience Rutherford Appleton Laboratory Agenda for today Need for source control; Subversion concepts; Working/local copy of a

More information

GIT TO DA REPO! VERSION CONTROL, GITLAB, AND ISU

GIT TO DA REPO! VERSION CONTROL, GITLAB, AND ISU GIT TO DA REPO! VERSION CONTROL, GITLAB, AND ISU Tony Brook & Nathan Stien August 2nd, 2016 WHAT IS VERSION CONTROL (And why should you care?) Shared workspace for multiple collaborators Tracking history

More information

CS 320 Introduction to Software Engineering Spring February 06, 2017

CS 320 Introduction to Software Engineering Spring February 06, 2017 CS 320 Introduction to Software Engineering Spring 2017 February 06, 2017 Recap: Software development process models Traditional models Waterfall model Iterative and incremental Prototyping Spiral model

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

Version Control for the 2- Pizza Team: Merge Conflicts (ELLS 9.5) Armando Fox

Version Control for the 2- Pizza Team: Merge Conflicts (ELLS 9.5) Armando Fox Version Control for the 2- Pizza Team: Merge Conflicts (ELLS 9.5) Armando Fox 2012 Armando Fox & David Patterson Licensed under Creative Commons Attribution- NonCommercial-ShareAlike 3.0 Unported License

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

Fluxo. Improving the Responsiveness of Internet Services with Automa7c Cache Placement

Fluxo. Improving the Responsiveness of Internet Services with Automa7c Cache Placement Fluxo Improving the Responsiveness of Internet Services with Automac Cache Placement Alexander Rasmussen UCSD (Presenng) Emre Kiciman MSR Redmond Benjamin Livshits MSR Redmond Madanlal Musuvathi MSR Redmond

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

Tutorial: Getting Started with Git. Introduction to version control Benefits of using Git Basic commands Workflow

Tutorial: Getting Started with Git. Introduction to version control Benefits of using Git Basic commands Workflow Tutorial: Getting Started with Git Introduction to version control Benefits of using Git Basic commands Workflow http://xkcd.com/1597/ 2 Tutorial Objectives Fundamentals of how git works Everything you

More information

CISC327 - So*ware Quality Assurance

CISC327 - So*ware Quality Assurance CISC327 - So*ware Quality Assurance Lecture 19 Regression Tes?ng CISC327-2003- 2017 J.R. Cordy, S. Grant, J.S. Bradbury, J. Dunfield Regression Tes?ng Today we look at regression tes?ng Purpose of regression

More information

git Version: 2.0b Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command:

git Version: 2.0b Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command: Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command: git --help Get common commands and help git --help How to use git

More information

A Journey in So,ware Development An overview of methods and tools (part 3)

A Journey in So,ware Development An overview of methods and tools (part 3) A Journey in So,ware Development An overview of methods and tools (part 3) Mathieu Acher Maître de Conférences mathieu.acher@irisa.fr Material h=ps://github.com/acherm/teaching/tree/master/pdl/ 2 Document,

More information

Combining Real Time Emula0on of Digital Communica0ons between Distributed Embedded Control Nodes with Real Time Power System Simula0on

Combining Real Time Emula0on of Digital Communica0ons between Distributed Embedded Control Nodes with Real Time Power System Simula0on 1 Combining Real Time Emula0on of Digital Communica0ons between Distributed Embedded Control Nodes with Real Time Power System Simula0on Ziyuan Cai and Ming Yu Electrical and Computer Eng., Florida State

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

You Can t Move Forward Unless You Can Roll Back. By: Michael Black

You Can t Move Forward Unless You Can Roll Back. By: Michael Black You Can t Move Forward Unless You Can Roll Back By: Michael Black The VP of Sales walks in and tells you that your largest and oldest client wants to pay for a custom modification. But here s the clincher,

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

System Modeling Environment

System Modeling Environment System Modeling Environment Requirements, Architecture and Implementa

More information

Integrating Selenium with Confluence and JIRA

Integrating Selenium with Confluence and JIRA Integrating Selenium with Confluence and JIRA Open Source Test Management within Confluence, Automation of Selenium, Reporting, and Traceability Andrew Lampitt, Co-Founder Sanjiva Nath, CEO and Founder

More information

History...: Displays a window of Gitk, a standard commit viewer for Git.

History...: Displays a window of Gitk, a standard commit viewer for Git. Git Services Wakanda includes Git features that will help you manage the evolution of your solutions and files. These features are designed to share code as well as to handle multi developer projects and

More information

#25. Use Source Control in a Single- Developer Environment

#25. Use Source Control in a Single- Developer Environment #25. Use Source Control in a Single- Developer Environment How Do I...? Part 1: Install Source Control 1. Browse to the ClassFiles folder on your desktop, and then double-click Git-[version]- preview-[date].exe.

More information

GIT Princípy tvorby softvéru, FMFI UK Jana Kostičová,

GIT Princípy tvorby softvéru, FMFI UK Jana Kostičová, GIT Princípy tvorby softvéru, FMFI UK Jana Kostičová, 25.4.2016 Basic features Distributed version control Developed in 2005, originally for Linux kernel development Free, GNU General Public License version

More information

The Rock branching strategy is based on the Git Branching Model documented by Vincent Driessen.

The Rock branching strategy is based on the Git Branching Model documented by Vincent Driessen. Overview The Rock branching strategy is based on the Git Branching Model documented by Vincent Driessen. Branches Master The master branch should always reflect the latest production-ready state, and should

More information

more uml: sequence & use case diagrams

more uml: sequence & use case diagrams more uml: sequence & use case diagrams uses of uml as a sketch: very selec)ve informal and dynamic forward engineering: describe some concept you need to implement reverse engineering: explain how some

More information

git-flow Documentation

git-flow Documentation git-flow Documentation Release 1.0 Johan Cwiklinski Jul 14, 2017 Contents 1 Presentation 3 1.1 Conventions............................................... 4 1.2 Pre-requisites...............................................

More information

Version control with Git.

Version control with Git. 1 Version control with Git http://git-scm.com/book/en/ Basic Intro to Git We will: Discuss how Git differs from Subversion Discuss the basic Git model Pull/clone files from a repository on github Edit

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

Outline. Configuration management. Main Phases MOTIVATION

Outline. Configuration management. Main Phases MOTIVATION Outline Configuration management! Motivation! Versioning! Configuration items, configurations, baselines! Change control! Build! Configuration management plan! Configuration management tools Main Phases

More information

Technology Background Development environment, Skeleton and Libraries

Technology Background Development environment, Skeleton and Libraries Technology Background Development environment, Skeleton and Libraries Christian Kroiß (based on slides by Dr. Andreas Schroeder) 18.04.2013 Christian Kroiß Outline Lecture 1 I. Eclipse II. Redmine, Jenkins,

More information

CuteFlow-V4 Documentation

CuteFlow-V4 Documentation CuteFlow-V4 Documentation Release 4.0.0 Timo Haberkern Nov 15, 2017 Contents 1 Contributing 3 1.1 Contributing Code............................................ 3 1.2 Contributing Documentation.......................................

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

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2 Git Git 1 Topics covered Introduction to Git Git workflows Git key concepts Hands on session Branching models Git 2 Introduction to Git Git 3 Version control systems The source files of a project changes

More information

Best Practices and Pitfalls for Building Products out of OpenDaylight

Best Practices and Pitfalls for Building Products out of OpenDaylight Best Practices and Pitfalls for Building Products out of OpenDaylight Colin Dixon, TSC Chair, OpenDaylight Principal Software Engineer, Brocade Devin Avery, Sr Staff Software Engineer, Brocade Agenda Agenda

More information

Introduction, Instructions and Conventions

Introduction, Instructions and Conventions Encodo Systems AG Garnmarkt 1 8400 Winterthur Telephone +41 52 511 80 80 www.encodo.com Encodo GIT handbook Introduction, Instructions and Conventions Abstract This document is an introduction to using

More information