Source Code Control. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc.

Size: px
Start display at page:

Download "Source Code Control. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc."

Transcription

1 Source Code Control Quiz with Explainations Hans-Petter Halvorsen, M.Sc.

2 Questions 1. What is SCC? 2. List at least 5 different SSC Systems 3. Why do we need a SCC/Version Control System? 4. What is Distributed Version Control System (DVCS)? 5. What is TFS? 6. What is main differences between TFVC (Built-in Version Control System in TFS) and Git? 7. What is a Bug Tracking System? 8. List different Bug Tracking Systems (at least 3) 9. What different software releases do we have? 10. List at least 3 centralized SCC systems and 3 DVCS systems

3 What is SCC?

4 Source Code Control/Version Control What is it? A version control system keeps track of all work and all changes in a set of files (typically your code files, but also other files) Allows several developers (potentially widely separated in space and time) to collaborate All Software Developers need it!! 4

5 Typical SCC Features Checkout, Checkin/Commit Branching, Merging File Locking (avoid concurrent access) Label/Tag Change/Change List Conflict Revision, Iteration 5

6 SCC Features Checkout, Checkin/Commit Branching, Merging File Locking (avoid concurrent access) Label/Tag Change/Change List/History Conflict 1.0 Braching Work with Bug Fix Bug Fix Released 2.0 Released Label/Tag it Work with new Release Merging etc. Branching in TFS: 6

7 List at least 5 different SSC Systems

8 SCC Systems SVN Concurrent Versioning System 8

9 Web-based SCC Hosting Services Visual Studio Online (formerly Team Foundation Services) ( TFVC or Git GitHub ( Bitbucket ( Mercurial or Git 9

10 Why do we need a SCC/Version Control System?

11 Why SCC? Keept track of code and files from multiple developers, because each developer create a small part of the total software solution, or multiple developers work on the same piece of code It is important to keep track of different versions of the same files, e.g. if we have made some mistakes and we need an older version of the same code. We could also create different braches, e.g one branc for Customer 1 and another branch for Customer 2, and maybe at some point we need to merrge those two into on product.

12 What is Distributed Version Control System (DVCS)?

13 Centralized/Client Server architecture A server stores the current version(s) of a project and its history, and clients connect to the server in order to "check out" a complete copy of the project, work on this copy and then later "check in" their changes DVCS - Distibuted Version Control System With a distributed version control system, there isn t one centralized code base to pull the code from. Different branches hold different parts of the code. Git is a DVCS. Other version control systems, such as SVN and CVS, use centralized version control, meaning that only one master copy of the software is used. Peer-to-peer approach

14 Centralized/Client Server architecture Client Client Client Network Client Repository Server Repository: Source Code Database

15 Distibuted Version Control System Repository peer-to-peer peer-to-peer Repository Repository Repository: Source Code Database Repository

16 What is TFS?

17 Team Foundation Server SDLC Management (SDLC Software Development Life Cycle) Software Team Collaboration Source Code Management Supports Agile, Scrum, CMMI Integrated Test Tools Bug Tracking System Automated Builds Built in Team Foundation Version Control (TSVC) + Support for Git repositories Built-in support for TFS in Visual Studio (Team Explorer) Plug-in for Eclipse (Team Explorer Everywhere) MSSCCI Provider for other IDEs like LabVIEW, etc. 17

18 What is main differences between TFVC (Built-in Version Control System in TFS) and Git?

19 TFS vs. Git Team Foundation Version Control (TFVC) uses a single, centralized server repository to track and version files. Local changes are always checked in to the central server where other developers can get the latest changes. Git is a Distributed Version Control System (DVCS) that uses a local repository to track and version files. Changes are shared with other developers by pushing and pulling changes through a remote, shared repository.

20 Git Has become very popular today Distributed Version Control System Initially designed and developed by Linus Torvalds (Linux Guru) (2005) Git is Free of use CVS and SVN is easier to use than Git for beginners 20

21 What is a Bug Tracking System?

22 Bugs A software bug is an error, flaw, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways They found a bug (actually a moth) inside a computer in 1947 that made the program not behaving as expected. This was the first real bug. 22

23 Why Find Bugs early? Cost per defects Software Development Life Cycle (SDLC) 23

24 Bug Tracking System Keep track of bugs in software. Testers (or others) can report bugs, Developers and/or Managers can prioritize the list of bugs, etc. You can relate a spesific bug to a spesific release, etc. All these features are part of a Bug Tracking System.

25 List different Bug Tracking Systems (at least 3)

26 Bug Tracking Systems Team Foundation Server Jira Bugzilla Clearquest 26

27 What different software releases do we have?

28 Software Releases Start Alpha Release Beta Releases RC (Release Candidate) RTM (Release To Manufacturing) Finished Note! other terms are also used 28

29 Alpha Requirements/Design Plans made and approved Beta Building structure finished, Inside work on track RC Foundation finished, building structure started A proof that you can do it, PoC (Proof of Concept) Furniture, Flowers and small adjustments missing RTM Ready for Sale or Move in 29

30 Software Releases Before the software is released Alpha Release(s) (Internal release, not public) Beta Release(s) ( Developer Preview, Consumer Preview ) RC - Release Candidate(s) ( Release Preview ) RTM Release To Manufactoring Maintenance (after the software is released) Patches (small fixes) SP - Service Packs (lots of small fixes and pathes bundle together), SP1, SP2, R1, R2,.. Start Planning next Release 30

31 List at least 3 centralized SCC systems and 3 DVCS systems

32 Centralized/ Client Cerver architecture TFS CVS SVN (Subversion) LibreSource DVCS Git Mercurial Bazaar Monotone BitKeeper 32

33 References Software Development - A Practical Approach Halvorsen, Hans-Petter, 2015 Essentials of Software Engineering Frank Tsui; Orlando Karam; Barbara Bernal, 3 ed., Jones & Bartlett Learning Software Engineering I. Sommerville, 10 ed.: Pearson, 2015 Software Engineering. Modern Approaches E. J. Braude and M. E.Bernstein, 2 ed.: Wiley,

34

35 Hans-Petter Halvorsen, M.Sc. University College of Southeast Norway Blog:

Source Code Control & Bug Tracking

Source Code Control & Bug Tracking http://home.hit.no/~hansha/?page=software_development O. Widder. (2013). geek&poke. Available: http://geek-and-poke.com Source Code Control & Bug Tracking Hans-Petter Halvorsen O. Widder. (2013). geek&poke.

More information

Week Assignment. Source Code Control (SCC) & Bug Tracking Systems. Hans-Petter Halvorsen

Week Assignment. Source Code Control (SCC) & Bug Tracking Systems. Hans-Petter Halvorsen 2017.03.06 Week Assignment Source Code Control (SCC) & Bug Tracking Systems B. Lund. Lunch. Available: http://www.lunchstriper.no, http://www.dagbladet.no/tegneserie/lunch/ Hans-Petter Halvorsen Note!

More information

Week Assignment Source Code Control (SCC) & Bug Tracking Systems Hans-Petter Halvorsen

Week Assignment Source Code Control (SCC) & Bug Tracking Systems Hans-Petter Halvorsen https://www.halvorsen.blog Week Assignment Source Code Control (SCC) & Bug Tracking Systems Hans-Petter Halvorsen 1. SCC Systems Overview Everybody should collaborate creating a document giving an overview

More information

Team Foundation Server Visual Studio Team Services. Hans-Petter Halvorsen, M.Sc.

Team Foundation Server Visual Studio Team Services. Hans-Petter Halvorsen, M.Sc. Team Foundation Server Visual Studio Team Services Hans-Petter Halvorsen, M.Sc. Team Foundation Server (TFS) is an Application Lifecycle Management (ALM) system The Software Development Lifecycle (SDLC)

More information

Visual Studio Team Services

Visual Studio Team Services Visual Studio Team Services Getting Started Hans-Petter Halvorsen, M.Sc. Visual Studio Team Services Visual Studio Team Services is a platform taking care of all aspects of the process of developing software

More information

Unit Testing. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc.

Unit Testing. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc. Unit Testing Quiz with Explainations Hans-Petter Halvorsen, M.Sc. Questions 1. What is Unit Testing? 2. List some Unit Test Framework 3. Who is creating the Unit Tests? 4. What kind of Requirements does

More information

Software Testing. Hans-Petter Halvorsen, M.Sc.

Software Testing. Hans-Petter Halvorsen, M.Sc. Software Testing Hans-Petter Halvorsen, M.Sc. STD System Documentation Testing Software Test Documentation Software Test Plan (STP) Test Documentation End-User Documentation Implementation Code System

More information

Software Architecture

Software Architecture Software Architecture Quiz with Explainations Hans-Petter Halvorsen, M.Sc. Questions 1. Explain 3-layer Architecture 2. What is a Web Service? 3. What is SOA? 4. What is an API? 5. What is Client-Server

More information

Software Implementation

Software Implementation Software Implementation Quiz with Explainations Hans-Petter Halvorsen, M.Sc. Questions 1. List 10 different Programming Languages 2. What is an IDE? - Give some Examples 3. What is.net? 4. What is ASP.NET?

More information

UML. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc.

UML. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc. UML Quiz with Explainations Hans-Petter Halvorsen, M.Sc. Questions 1. What is UML? 2. What is an ER diagram? 3. Give example of some types of UML diagrams (in total we have 14 different types) 4. Give

More information

Software Platforms. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc.

Software Platforms. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc. Software Platforms Quiz with Explainations Hans-Petter Halvorsen, M.Sc. Questions 1. List 3 different software platforms with some examples for each 2. List 5 different Web Browsers and the name of the

More information

Software Documentation

Software Documentation Software Documentation Quiz with Explainations Hans-Petter Halvorsen, M.Sc. Questions 1. List 4 important Process Documents 2. What are the main Software Documentation Categories? 3. What is SRS? 4. What

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

Database. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc.

Database. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc. Database Quiz with Explainations Hans-Petter Halvorsen, M.Sc. Questions 1. What is a Database? 2. Give Examples of Systems that use a Database 3. What is DBMS? 4. Give Examples of DBMS systems? 5. We have

More information

Week Assignment. Software Testing Test Planning. Hans-Petter Halvorsen

Week Assignment. Software Testing Test Planning. Hans-Petter Halvorsen 2017.04.07 Week Assignment Software Testing Test Planning B. Lund. Lunch. Available: http://www.lunchstriper.no, http://www.dagbladet.no/tegneserie/lunch/ Hans-Petter Halvorsen Note! All Documents, Code,

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

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

Software Architecture

Software Architecture O. Widder. (2013). geek&poke. Available: http://geek-and-poke.com Software Architecture Hans-Petter Halvorsen Clients Windows Server 2008/2012 Windows 7/8 Wi-Fi Server LAN Ethernet OPC Server Router Web

More information

INET

INET INET Framework@GitHub Proposal: How to Collaborate on Model Development Andras Varga, Rudolf Hornig INET: Current Stand Several branches in private repositories i Several extensions various web sites Patches,

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

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

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

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

Create a Virtual Test Environment

Create a Virtual Test Environment Create a Virtual Test Environment Step by Step Exercises Hans-Petter Halvorsen, M.Sc. Why Do We Need a Test Environment? Why cant we just use our own PC? Why Test Environment? It works on my PC says the

More information

A Practical Introduction to Version Control Systems

A Practical Introduction to Version Control Systems A Practical Introduction to Version Control Systems A random CAKES(less) talk on a topic I hope others find useful! a.brampton@lancs.ac.uk 4th February 2009 Outline 1 What is Version Control Basic Principles

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

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

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

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

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

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

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

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

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

Getting started with GitHub

Getting started with GitHub Getting started with GitHub A beginner s guide. (There s no code in this slide deck!) Presented by Quinn Supplee https://github.com/quinns What is GitHub? GitHub is a code hosting platform for version

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

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

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 (Source Code) Control SWEN-250

Version (Source Code) Control SWEN-250 Version (Source Code) Control SWEN-250 Overview Motivation why is version control useful? Key concepts Variations on the basic theme Example version control systems 1/10/2019 (c) 2013 RIT Dept. of Software

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

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

Software Development

Software Development University College of Southeast Norway Software Development Hans-Petter Halvorsen, 2017.01.09 A Practical Approach! http://home.hit.no/~hansha Preface The main goal with this document: To give you an overview

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

Do not sketch Finite State Machines on a first date

Do not sketch Finite State Machines on a first date Previously on Do not sketch Finite State Machines on a first date : Dude, where is my code? Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska What is a code repository? wikipedia In computer

More information

Overview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub

Overview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub Git 101: Overview 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub Github icon 1 Install git and a create GitHub

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

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 Systems. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

Version Control Systems. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University Version Control Systems Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn/review: Version control systems (VCSs), as mechanisms for Maintaining file versions Safely

More information

Using SQL Server in C#

Using SQL Server in C# University College of Southeast Norway Using SQL Server in C# Hans-Petter Halvorsen, 2016.11.01 with Examples http://home.hit.no/~hansha Table of Contents 1. Introduction...

More information

Introduction to Git and GitHub. Tools for collaboratively managing your source code.

Introduction to Git and GitHub. Tools for collaboratively managing your source code. Introduction to Git and GitHub Tools for collaboratively managing your source code. This Is Not a Tutorial About Git There are many tutorials online. What is Git? Git is a collaborative, distributed version

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

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

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

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

Version Control: Gitting Started

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

More information

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

Push up your code next generation version control with (E)Git Push up your code next generation version control with (E)Git Dominik Schadow Senior Consultant Application Development dominik.schadow@trivadis.com Java Forum Stuttgart, 07.07.2011 Basel Bern Lausanne

More information

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017 GETTING STARTED WITH Michael Lessard Senior Solutions Architect June 2017 Agenda What is Git? Installation of Git Git basis Github First steps with Git 2 WHAT IS GIT? What is Git? Started in 2005 Created

More information

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

About SJTUG. SJTU *nix User Group SJTU Joyful Techie User Group About SJTUG SJTU *nix User Group SJTU Joyful Techie User Group Homepage - https://sjtug.org/ SJTUG Mirrors - https://mirrors.sjtug.sjtu.edu.cn/ GitHub - https://github.com/sjtug Git Basic Tutorial Zhou

More information

Version Control for Fun and Profit

Version Control for Fun and Profit Version Control for Fun and Profit Chris Brady Heather Ratcliffe The Angry Penguin, used under creative commons licence from Swantje Hess and Jannis Pohlmann. Warwick RSE 30/11/2017 Version control 30/11/2017

More information

Construction: version control and system building

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

More information

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development; What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development; Why should I use a VCS? Repositories Types of repositories: Private - only you and the

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

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

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

Git for Newbies. ComMouse Dongyue Studio

Git for Newbies. ComMouse Dongyue Studio Git for Newbies ComMouse Dongyue Studio 2018.4.25 Contents What is Git? Git Quick Start Git Branch Git Workflow Git in Practice What is Git? What is Git? A Version Control System (VCS) An Open-sourced

More information

Version Control Systems

Version Control Systems Version Control Systems Version Control In the 2 nd edition of Pro Git, version control is described as a system that records changes to a file or set of files over time so that you can recall specific

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

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

Agenda. What is Replication?

Agenda. What is Replication? !"#$%% "#&'( Agenda What is Replication? Why Replicate? Approaches to Replication Master/Slave Disconnected Repositories (Git / Bitkeeper / Mercurial / Bazaar) Active/Active Master/Slave vs Active/Active

More information

Human Version Control

Human Version Control Version Control Any large, useful software system... will undergo many changes in its lifetime multiple programmers making changes who may work on the code concurrently and independently The process of

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. Version Control. Human Version Control. Version Control Systems

Version Control. Version Control. Human Version Control. Version Control Systems Version Control Version Control Any large, useful software system... will undergo many changes in its lifetime multiple programmers making changes who may work on the code concurrently and independently

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency

More information

Introduction to ERwin

Introduction to ERwin Introduction to ERwin Database Design & Modelling Hans-Petter Halvorsen, M.Sc. Software The following Editions can be downloaded for Free on Internet: CA ERwin Data Modeler Community Edition SQL Server

More information

Software Systems Design. Version control systems and documentation

Software Systems Design. Version control systems and documentation Software Systems Design Version control systems and documentation Who are we? Krzysztof Kąkol Software Developer Jarosław Świniarski Software Developer Presentation based on materials prepared by Andrzej

More information

JetBrains TeamCity Comparison

JetBrains TeamCity Comparison JetBrains TeamCity Comparison TeamCity is a continuous integration and continuous delivery server developed by JetBrains. It provides out-of-the-box continuous unit testing, code quality analysis, and

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

Programming. Languages & Frameworks. Hans-Petter Halvorsen, M.Sc. O. Widder. (2013). geek&poke. Available:

Programming. Languages & Frameworks. Hans-Petter Halvorsen, M.Sc. O. Widder. (2013). geek&poke. Available: Programming O. Widder. (2013). geek&poke. Available: http://geek-and-poke.com Languages & Frameworks Hans-Petter Halvorsen, M.Sc. Implementation Planning Maintenance Testing Implementation The Software

More information

Welcome! Virtual tutorial will start at 15:00 GMT. Please leave feedback afterwards at:

Welcome! Virtual tutorial will start at 15:00 GMT. Please leave feedback afterwards at: Welcome! Virtual tutorial will start at 15:00 GMT Please leave feedback afterwards at: www.archer.ac.uk/training/feedback/online-course-feedback.php Introduction to Version Control (Part 2) ARCHER Virtual

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: Distributed Version Control

Git: Distributed Version Control Git: Distributed Version Control Computer Science and Engineering College of Engineering The Ohio State University Lecture 3 Demo Prep: Empty (but initialized) repo Linear development: Create, edit, rename,

More information

UML. Unified Modeling Language. Hans-Petter Halvorsen, M.Sc. O. Widder. (2013). geek&poke. Available:

UML. Unified Modeling Language. Hans-Petter Halvorsen, M.Sc. O. Widder. (2013). geek&poke. Available: O. Widder. (2013). geek&poke. Available: http://geek-and-poke.com UML Unified Modeling Language Hans-Petter Halvorsen, M.Sc. Unified Modeling Language (UML) Examples Class Diagram Use Case Diagram 2 Deployment

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

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

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

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

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

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

... Fisheye Crucible Bamboo

... Fisheye Crucible Bamboo Sander Soo MSc Computer Science Oracle Certified Professional (Java SE) Nortal (email: sander.soo@nortal.com) Mercurial Java Spring Framework AngularJS Atlassian stack... Fisheye Crucible Bamboo 2 Make

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 09 BE5B99CPL C Programming Language Jan Faigl, 2016 BE5B99CPL

More information

What is Subversion and what does it do?

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

More information

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

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

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

Week 5. CS 400 Programming III

Week 5. CS 400 Programming III Exam Conflicts are due this week: 1. Put all course meetings, quizzes, and exams in your calendar 2. Report any conflicts with cs400 exams by Friday of this week 3. Report complete information via the

More information

Git: Distributed Version Control

Git: Distributed Version Control Git: Distributed Version Control Computer Science and Engineering College of Engineering The Ohio State University Lecture 3 What Does "D" Stand For? Distributed version control Multiple people, distributed

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

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

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

Version Control Systems

Version Control Systems Version Control Systems Christophe Rhodes c.rhodes@gold.ac.uk 12th January 2013 Version Control notes.txt cis320project. Version Control notes.txt index.php cis320project. Version Control notes.txt index.php

More information