Version Control! Scenarios, Working with Git!

Size: px
Start display at page:

Download "Version Control! Scenarios, Working with Git!"

Transcription

1 Version Control! Scenarios, Working with Git!!

2 Scenario 1! You finished the assignment at home! VC 2

3 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not upload it! VC 3

4 Scenario 1c! You finished the assignment at home! You get to York to submit and realize you did not upload it! Has this ever happened to you?! VC 4

5 Scenario 2! Your program works pretty well! VC 5

6 Scenario 2b! Your program works pretty well! You make a lot of improvements! VC 6

7 Scenario 2c! Your program works pretty well! You make a lot of improvements! But you haven t got them to work yet! VC 7

8 Scenario 2d! Your program works pretty well! You make a lot of improvements! But you haven t got them to work yet! You need to demo your program now! VC 8

9 Scenario 3! You are working on the 2.0 version of your great app but 2.0 does not quite compile yet and a customer finds a critical bug in 1.0, which must be fixed ASAP! VC 9

10 Scenario 3b! You are working on the 2.0 version of your great app but 2.0 does not quite compile yet and a customer finds a critical bug in 1.0, which must be fixed ASAP! If you are smart, you have a copy of your 1.0 source. You make the change and release it but how do you merge your changes into your 2.0 program text?! VC 10

11 Scenario 3c! You are working on the 2.0 version of your great app but 2.0 does not quite compile yet and a customer finds a critical bug in 1.0, which must be fixed ASAP! If you are smart, you have a copy of your 1.0 source. You make the change and release it but how do you merge your changes into your 2.0 program text?! You you are not so smart, you have no source program text saved.! VC 11

12 Scenario 3d! You are working on the 2.0 version of your great app but 2.0 does not quite compile yet and a customer finds a critical bug in 1.0, which must be fixed ASAP! If you are smart, you have a copy of your 1.0 source. You make the change and release it but how do you merge your changes into your 2.0 program text?! You you are not so smart, you have no source program text saved.! You have no way to track down the bug and you lose face until 2.0 is ready! VC 12

13 Scenario 4! You change one part of a program! VC 13

14 Scenario 4b! You change one part of a program! It works! VC 14

15 Scenario 4c! You change one part of a program! It works! Your teammate changes another part! VC 15

16 Scenario 4d! You change one part of a program! It works! Your teammate changes another part! It works! VC 16

17 Scenario 4e! You change one part of a program! It works! Your teammate changes another part! It works! You put it together! VC 17

18 Scenario 4f! You change one part of a program! It works! Your teammate changes another part! It works! You put it together! It DOES NOT WORK! VC 18

19 Scenario 4g! You change one part of a program! It works! Your teammate changes another part! It works! You put it together! It DOES NOT WORK! What were all the changes?!! VC 19

20 Scenario 5! You make a number of improvements to a class! VC 20

21 Scenario 5b! You make a number of improvements to a class! Your teammate makes a number of different improvements to the same class! How can you merge these changes?! VC 21

22 A poor solution! There are a number of tools that help you spot changes differences between two files, such as diff! VC 22

23 A poor solution 2! There are a number of tools that help you spot changes differences between two files, such as diff! Of course, they won t help unless you kept a copy of the older version! VC 23

24 A poor solution 3! There are a number of tools that help you spot changes differences between two files, such as diff! Of course, they won t help unless you kept a copy of the older version! Differencing tools are useful for finding a small number of differences in a few files! VC 24

25 A poor solution 4! There are a number of tools that help you spot changes differences between two files, such as diff! Of course, they won t help unless you kept a copy of the older version! Differencing tools are useful for finding a small number of differences in a few files! A better solution! VC 25

26 Version control systems! Keep multiple, older and newer, versions of everything! VC 26

27 Version control systems 2! Keep multiple, older and newer, versions of everything! Not just program source text! VC 27

28 Version control systems 3! Keep multiple, older and newer, versions of everything! Not just program source text! Request comments regarding every change! VC 28

29 Version control systems 4! Keep multiple, older and newer, versions of everything! Not just program source text! Request comments regarding every change! Display differences between versions! VC 29

30 Version control systems 5! Keep multiple, older and newer, versions of everything! Not just program source text! Request comments regarding every change! Display differences between versions! Allow merging of changes on the same file! VC 30

31 Centralized version control! Traditional version control system! Server with database! Clients have a working version! VC 31

32 Centralized version control 2! Traditional version control system! Server with database! Clients have a working version! Examples! CVS! Subversion! VC 32

33 Centralized version control 3! Traditional version control system! Server with database! Clients have a working version! Examples! CVS! Subversion! Challenges! Multi-developer conflicts! Client/server communication! VC 33

34 Distributed version control 2! Authoritative server by convention only! Every working checkout is a repository! VC 34

35 Distributed version control 3! Authoritative server by convention only! Every working checkout is a repository! Get version control even when detached! VC 35

36 Distributed version control 5! Authoritative server by convention only! Every working checkout is a repository! Get version control even when detached! Backups are trivial! Examples! Git! Bitkeeper! VC 36

37 Terminology! A repository contains several branches! VC 37

38 Terminology 2! A repository contains several branches! The main branch is call the master! VC 38

39 Terminology 3! A repository contains several branches! The main branch is call the master! Branches break off from the master to try something new, e.g. a new feature, program text restructuring, etc.! VC 39

40 Terminology 4! A repository contains several branches! The main branch is call the master! Branches break off from the master to try something new, e.g. a new feature, program text restructuring, etc.! Branches can be merged with other branches or into the master! VC 40

41 Terminology 5! A repository contains several branches! The main branch is call the master! Branches break off from the master to try something new, e.g. a new feature, program text restructuring, etc.! Branches can be merged with other branches or into the master! Tags are usually official releases that have to be supported! VC 41

42 Working with git! We do the following! Create a repository online! VC 42

43 Working with git 2! We do the following! Create a repository online! Create a local repository, add a project to it, and push it to the online repository! VC 43

44 Working with git 3! We do the following! Create a repository online! Create a local repository, add a project to it, and push it to the online repository! All team members get the online repository! VC 44

45 Working with git 4! We do the following! Create a repository online! Create a local repository, add a project to it, and push it to the online repository! All team members get the online repository! Changes pushed by one team member can now be pulled by all! VC 45

46 Creating the repository! Once per tem! Go to github.com! Sign up for a new account! Create a new repository! Copy the URL to access your repository!! VC 46

47 Creating a local project repository! Once per team (practice example)! Run Eclipse! Create a new project called ProjectWithGit that contains a main method that prints Fun with Git! Go to Eclipse -> Preferences -> Team -> Git -> Configuration! Click Add Entry, add the pair [user.name, your_name]! Click Add Entry, add the pair [user. , your_ ]! These should be the same as the ones used at github.com! Click Apply, then OK! VC 47

48 Creating a local project repository 2! Once per team (practice example) cont d! Right click on ProjectWithGit and Select Team -> Share Project! Click on Create! Provide a name for your local repository, and click Finish! Your local repository is now setup! VC 48

49 Pushing the first local repository! Once per team (practice example) cont d! Right click on ProjectWithGit and select Team -> Commit! Provide name and ! Add a commit message! It is important that you add a message every time you commit makes it easier to find a version later! Select all files, and click Commit! Close editors, reopen, make a change to the output of your program and Commit again! VC 49

50 Pushing the first local repository 2! Once per team (practice example) cont d! Right click on ProjectWithGit and select Team -> Remote -> Push! Copy the URL from github.com in the URI field! Enter your github.com username and password, click NEXT! Select master from from the Source ref pull down menu! Click on Add All Branches Spec! Click Finish, then OK! You should be able to see ProjectWithGit in github.com! VC 50

51 Deleting the local repository! Once per team (practice example) cont d! Due to an Eclipse but, it is easy to delete the local repository, and re-get it from github.com along with the other team members! Right click on ProjectWithGit in Eclipse select Delete! Select to delete project contents on disk, and click OK! VC 51

52 Copying a repository! All team members! Start Eclipse! Go to File -> Import -> Git -> Projects from Git! Click Next, select Clone URI,! Keep clicking Next until you can click Finish! You now have a copy of the project in your local repository! To push changes to the remote repository, you will need a github.com account that is added as a collaborator! VC 52

53 Push to repository! Each team member! Make some changes to any of the classes in the project! Right click on any element that has changes (could be the whole project), and select Team -> Commit! Add a commit message! If you do not want to publish the changes yet, click Commit! If the changes are ready to be published, click Commit and Push! VC 53

54 Pull from repository! To get changes published by other team members! Right click on the project, and select Team -> Pull! VC 54

55 Homework! Get git working for every team member! For program text / documents / notes etc.! Demonstrate that everybody can pull / push program text in the next lab.! VC 55

56 Subversion (SVN)! A server holds all original files of a project!! VC 56

57 Subversion 2! A server holds all original files of a project! Gives out copies to participants!!! VC 57

58 Subversion 3! A server holds all original files of a project! Gives out copies to participants! Participants modify their copies and submit their changes to the server!!! VC 58

59 Subversion 4! A server holds all original files of a project! Gives out copies to participants! Participants modify their copies and submit their changes to the server! The server automatically merges changes into the original files!!! VC 59

60 Subversion conflicts! Conflicts only occur when modifications are done!! VC 60

61 Subversion conflicts 2! Conflicts only occur when modifications are done! By more than one participant!! VC 61

62 Subversion conflicts 3! Conflicts only occur when modifications are done! By more than one participant! At the same location in their respective copies!! VC 62

63 Subversion conflicts 4! Conflicts only occur when modifications are done! By more than one participant! At the same location in their respective copies! Then participants have to manually resolve such conflicts! VC 63

64 SVN support! Powerful edit and merge tools help make conflict management easy! VC 64

65 SVN support 2! Powerful edit and merge tools help make conflict management easy! SVN keeps a log of any changes made to any file! VC 65

66 SVN support 3! Powerful edit and merge tools help make conflict management easy! SVN keeps a log of any changes made to any file! Participants can go back and receive older versions of a file or even an older version of an entire project state! VC 66

67 SVN action Checkout! Receive a copy of an entire project from the SVN server! Source files! Project & make files! Resource files! Etc.! VC 67

68 SVN action Update! Receive copies of individual files or folders from the server! Merges the copies with your current local copy! VC 68

69 SVN action Commit! Sends an updated file (your local copy) to the SVN server! The copy is incorporated into the original project database! A new version number is assigned! VC 69

70 SVN action Commit 2! Sends an updated file (your local copy) to the SVN server! The copy is incorporated into the original project database! A new version number is assigned! Before doing a commit! You must do an update (and resolve any possible conflicts) before you commit.! VC 70

71 SVN action Add! Notifies SVN of a new file or folder that needs to be added to the existing project! Only if the SVN is aware of a file, can you commit the file! VC 71

72 SVN action Add! Notifies SVN of a new file or folder that needs to be added to the existing project! Only if the SVN is aware of a file, can you commit the file! You must use add before you can commit a new file or folder! VC 72

73 SVN action Add! Notifies SVN of a new file or folder that needs to be added to the existing project! Only if the SVN is aware of a file, can you commit the file! You must use add before you can commit a new file or folder! To delete a file you need to!! Delete it in your local folder! Then commit the folder! VC 73

74 Further considerations! Make sure to update regularly otherwise! You will have lots of conflicts! And lots of problems! VC 74

75 Further considerations 2! Make sure to update regularly otherwise! You will have lots of conflicts! And lots of problems! SVN will not help you! If you do not commit regularly! VC 75

76 Further considerations 3! Make sure to update regularly otherwise! You will have lots of conflicts! And lots of problems! SVN will not help you! If you do not commit regularly! If you add lots of new stuff! Make sure to commit everything! VC 76

77 Git advantages! Resilience! No one repository has more data than any other! VC 77

78 Git advantages 2! Resilience! No one repository has more data than any other! Speed! Very fast operations compared to other VCSs! VC 78

79 Git advantages 3! Resilience! Speed! No one repository has more data than any other! Very fast operations compared to other VCSs! Space! Compression can be done across the repository, not just per file! Minimizes local size as well as push / pull transfers! VC 79

80 Git advantages 4! Resilience! Speed! Space! No one repository has more data than any other! Very fast operations compared to other VCSs! Compression can be done across the repository, not just per file! Minimizes local size as well as push / pull transfers! Simplicity! Object model is simple! VC 80

81 Git advantages 5! Resilience! Speed! Space! No one repository has more data than any other! Very fast operations compared to other VCSs! Compression can be done across the repository, not just per file! Minimizes local size as well as push / pull transfers! Simplicity! Object model is simple! Large user base with robust tools! VC 81

Version Control with Git. Linux Users Group UT Arlington. Rohit Rawat rohitrawat@gmail.com

Version Control with Git. Linux Users Group UT Arlington. Rohit Rawat rohitrawat@gmail.com Version Control with Git Linux Users Group UT Arlington Rohit Rawat rohitrawat@gmail.com Need for Version Control Better than manually storing backups of older versions Easier to keep everyone updated

More information

Introducing Xcode Source Control

Introducing Xcode Source Control APPENDIX A Introducing Xcode Source Control What You ll Learn in This Appendix: u The source control features offered in Xcode u The language of source control systems u How to connect to remote Subversion

More information

Version Control with. Ben Morgan

Version Control with. Ben Morgan Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove

More information

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.) Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source

More information

Version Control with Git

Version Control with Git Version Control with Git Ben Wasserman (benjamin@cmu.edu) 15-441 Computer Networks Recitation 3 1/28 What is version control? Revisit previous code versions Backup projects Work with others Find where

More information

Version Control. Version Control

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

More information

Annoyances with our current source control Can it get more comfortable? Git Appendix. Git vs Subversion. Andrey Kotlarski 13.XII.

Annoyances with our current source control Can it get more comfortable? Git Appendix. Git vs Subversion. Andrey Kotlarski 13.XII. Git vs Subversion Andrey Kotlarski 13.XII.2011 Outline Annoyances with our current source control Can it get more comfortable? Git Appendix Rant Network traffic Hopefully we have good repository backup

More information

Revision control systems (RCS) and

Revision control systems (RCS) and 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

CSCB07 Software Design Version Control

CSCB07 Software Design Version Control CSCB07 Software Design Version Control Anya Tafliovich Fall 2015 Problem I: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope

More information

Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.

Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number. Version control Version control is a powerful tool for many kinds of work done over a period of time, including writing papers and theses as well as writing code. This session gives a introduction to a

More information

CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011

CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011 CISC 275: Introduction to Software Engineering Lab 5: Introduction to Revision Control with Charlie Greenbacker University of Delaware Fall 2011 Overview Revision Control Systems in general Subversion

More information

Version Control with Subversion

Version Control with Subversion Version Control with Subversion Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control Version control (aka Revision Control System or

More information

Using Git for Project Management with µvision

Using Git for Project Management with µvision MDK Version 5 Tutorial AN279, Spring 2015, V 1.0 Abstract Teamwork is the basis of many modern microcontroller development projects. Often teams are distributed all over the world and over various time

More information

DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014

DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014 DAVE Usage with SVN Presentation and Tutorial v 2.0 May, 2014 Required DAVE Version Required DAVE version: v 3.1.6 or higher (recommend to use the most latest version, as of Feb 28, 2014, v 3.1.10) Required

More information

MATLAB & Git Versioning: The Very Basics

MATLAB & Git Versioning: The Very Basics 1 MATLAB & Git Versioning: The Very Basics basic guide for using git (command line) in the development of MATLAB code (windows) The information for this small guide was taken from the following websites:

More information

Lab Exercise Part II: Git: A distributed version control system

Lab Exercise Part II: Git: A distributed version control system Lunds tekniska högskola Datavetenskap, Nov 25, 2013 EDA260 Programvaruutveckling i grupp projekt Labb 2 (part II: Git): Labbhandledning Checked on Git versions: 1.8.1.2 Lab Exercise Part II: Git: A distributed

More information

Version Control using Git and Github. Joseph Rivera

Version Control using Git and Github. Joseph Rivera Version Control using Git and Github Joseph Rivera 1 What is Version Control? Powerful development tool! Management of additions, deletions, and modifications to software/source code or more generally

More information

Source Control Systems

Source Control Systems Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy

More information

Git Basics. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22

Git Basics. Christopher Simpkins chris.simpkins@gatech.edu. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Git Basics Christopher Simpkins chris.simpkins@gatech.edu Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Version Control Systems Records changes to files over time Allows you to

More information

CS108, Stanford Handout #33. CVS in Eclipse

CS108, Stanford Handout #33. CVS in Eclipse CS108, Stanford Handout #33 Winter, 2006-07 Nick Parlante CVS in Eclipse Source Control Any modern software project of any size uses "source control" Store all past revisions - Can see old versions, see

More information

Version Control Tutorial using TortoiseSVN and. TortoiseGit

Version Control Tutorial using TortoiseSVN and. TortoiseGit Version Control Tutorial using TortoiseSVN and TortoiseGit Christopher J. Roy, Associate Professor Virginia Tech, cjroy@vt.edu This tutorial can be found at: www.aoe.vt.edu/people/webpages/cjroy/software-resources/tortoise-svn-git-tutorial.pdf

More information

FEEG6002 - Applied Programming 3 - Version Control and Git II

FEEG6002 - Applied Programming 3 - Version Control and Git II FEEG6002 - Applied Programming 3 - Version Control and Git II Sam Sinayoko 2015-10-16 1 / 26 Outline Learning outcomes Working with a single repository (review) Working with multiple versions of a repository

More information

Version Control with Subversion and Xcode

Version Control with Subversion and Xcode Version Control with Subversion and Xcode Author: Mark Szymczyk Last Update: June 21, 2006 This article shows you how to place your source code files under version control using Subversion and Xcode. By

More information

Git Basics. Christian Hanser. Institute for Applied Information Processing and Communications Graz University of Technology. 6.

Git Basics. Christian Hanser. Institute for Applied Information Processing and Communications Graz University of Technology. 6. Git Basics Christian Hanser Institute for Applied Information Processing and Communications Graz University of Technology 6. March 2013 Christian Hanser 6. March 2013 Seite 1/39 Outline Learning Targets

More information

MOOSE-Based Application Development on GitLab

MOOSE-Based Application Development on GitLab MOOSE-Based Application Development on GitLab MOOSE Team Idaho National Laboratory September 9, 2014 Introduction The intended audience for this talk is developers of INL-hosted, MOOSE-based applications.

More information

Beginning with SubclipseSVN

Beginning with SubclipseSVN Version 2 July 2007 Beginning with SubclipseSVN A user guide to begin using the Subclipse for source code management on the CropForge collaborative software development site. Copyright International Rice

More information

MATLAB @ Work. MATLAB Source Control Using Git

MATLAB @ Work. MATLAB Source Control Using Git MATLAB @ Work MATLAB Source Control Using Git Richard Johnson Using source control is a key practice for professional programmers. If you have ever broken a program with a lot of editing changes, you can

More information

Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF

Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF 1 Version Control with Svn, Git and git-svn Kate Hedstrom ARSC, UAF 2 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last

More information

Data management on HPC platforms

Data management on HPC platforms Data management on HPC platforms Transferring data and handling code with Git scitas.epfl.ch September 10, 2015 http://bit.ly/1jkghz4 What kind of data Categorizing data to define a strategy Based on size?

More information

Introduc)on to Version Control with Git. Pradeep Sivakumar, PhD Sr. Computa5onal Specialist Research Compu5ng, NUIT

Introduc)on to Version Control with Git. Pradeep Sivakumar, PhD Sr. Computa5onal Specialist Research Compu5ng, NUIT Introduc)on to Version Control with Git Pradeep Sivakumar, PhD Sr. Computa5onal Specialist Research Compu5ng, NUIT Contents 1. What is Version Control? 2. Why use Version control? 3. What is Git? 4. Create

More information

Introduction to the Git Version Control System

Introduction to the Git Version Control System Introduction to the Sebastian Rockel rockel@informatik.uni-hamburg.de University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics Technical Aspects of Multimodal

More information

Software Configuration Management and Continuous Integration

Software Configuration Management and Continuous Integration 1 Chapter 1 Software Configuration Management and Continuous Integration Matthias Molitor, 1856389 Reaching and maintaining a high quality level is essential for each today s software project. To accomplish

More information

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

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

More information

Source Control Guide: Git

Source Control Guide: Git MadCap Software Source Control Guide: Git Flare 11.1 Copyright 2015 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this

More information

Module 11 Setting up Customization Environment

Module 11 Setting up Customization Environment Module 11 Setting up Customization Environment By Kitti Upariphutthiphong Technical Consultant, ecosoft kittiu@gmail.com ADempiere ERP 1 2 Module Objectives Downloading ADempiere Source Code Setup Development

More information

Version Control with Git

Version Control with Git Version Control with Git Claudius Coenen License: CC-BY-4.0 What We're Not Talking About Conceived by Linus Torvalds around 2005 Distributed Version Control vs. Central Version Control Why git is better

More information

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Integration. CSC 440: Software Engineering Slide #1 Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge

More information

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn CSE 374 Programming Concepts & Tools Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person,

More information

Setting up a local working copy with SVN, MAMP and rsync. Agentic - 2009

Setting up a local working copy with SVN, MAMP and rsync. Agentic - 2009 Setting up a local working copy with SVN, MAMP and rsync Agentic - 2009 Get MAMP You can download MAMP for MAC at this address : http://www.mamp.info/en/downloads/index.html Install MAMP in your APPLICATION

More information

The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC

The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC Paper PA-04 The Hitchhiker s Guide to Github: SAS Programming Goes Social Jiangtang Hu d-wise Technologies, Inc., Morrisville, NC ABSTRACT Don't Panic! Github is a fantastic way to host, share, and collaborate

More information

Version Control and Subversion. Dr Paul Tennent

Version Control and Subversion. Dr Paul Tennent Version Control and Subversion Dr Paul Tennent Outline Housekeeping What is Version Control? Why use it? Using Subversion (SVN) Housekeeping You know where to find everything http://www.cs.nott.ax.uk/~pxt/g52grp

More information

EAE-MS SCCAPI based Version Control System

EAE-MS SCCAPI based Version Control System EAE-MS SCCAPI based Version Control System This document is an implementation guide to use the EAE-MS SCCAPI based Version Control System as an alternative to the existing EAE Version Control System. The

More information

Using Subversion in Computer Science

Using Subversion in Computer Science School of Computer Science 1 Using Subversion in Computer Science Last modified July 28, 2006 Starting from semester two, the School is adopting the increasingly popular SVN system for management of student

More information

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison Version control with git and GitHub Karl Broman Biostatistics & Medical Informatics, UW Madison kbroman.org github.com/kbroman @kwbroman Course web: kbroman.org/tools4rr Slides prepared with Sam Younkin

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

Advanced Computing Tools for Applied Research Chapter 4. Version control

Advanced Computing Tools for Applied Research Chapter 4. Version control Advanced Computing Tools for Applied Research Jaime Boal Martín-Larrauri Rafael Palacios Hielscher Academic year 2014/2015 1 Version control fundamentals 2 What you probably do now Manually save copies

More information

INF 111 / CSE 121. Homework 4: Subversion Due Tuesday, July 14, 2009

INF 111 / CSE 121. Homework 4: Subversion Due Tuesday, July 14, 2009 Homework 4: Subversion Due Tuesday, July 14, 2009 Name : Student Number : Laboratory Time : Objectives Preamble Set up a Subversion repository on UNIX Use Eclipse as a Subversion client Subversion (SVN)

More information

Version Control Using Subversion. Version Control Using Subversion 1 / 27

Version Control Using Subversion. Version Control Using Subversion 1 / 27 Version Control Using Subversion Version Control Using Subversion 1 / 27 What Is Version Control? Version control is also known as revision control. Version control is provided by a version control system

More information

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources. Software Configuration Management Slides derived from Dr. Sara Stoecklin s notes and various web sources. What is SCM? SCM goals Manage the changes to documents, programs, files, etc. Track history Identify

More information

SOFTWARE DEVELOPMENT BASICS SED

SOFTWARE DEVELOPMENT BASICS SED SOFTWARE DEVELOPMENT BASICS SED Centre de recherche Lille Nord Europe 16 DÉCEMBRE 2011 SUMMARY 1. Inria Forge 2. Build Process of Software 3. Software Testing 4. Continuous Integration 16 DECEMBRE 2011-2

More information

Lab 0 (Setting up your Development Environment) Week 1

Lab 0 (Setting up your Development Environment) Week 1 ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself

More information

Introduction to Git. Markus Kötter koetter@rrzn.uni-hannover.de. Notes. Leinelab Workshop July 28, 2015

Introduction to Git. Markus Kötter koetter@rrzn.uni-hannover.de. Notes. Leinelab Workshop July 28, 2015 Introduction to Git Markus Kötter koetter@rrzn.uni-hannover.de Leinelab Workshop July 28, 2015 Motivation - Why use version control? Versions in file names: does this look familiar? $ ls file file.2 file.

More information

Two Best Practices for Scientific Computing

Two Best Practices for Scientific Computing Two Best Practices for Scientific Computing Version Control Systems & Automated Code Testing David Love Software Interest Group University of Arizona February 18, 2013 How This Talk Happened Applied alumnus,

More information

CS 2112 Lab: Version Control

CS 2112 Lab: Version Control 29 September 1 October, 2014 Version Control What is Version Control? You re emailing your project back and forth with your partner. An hour before the deadline, you and your partner both find different

More information

Version control with Subversion

Version control with Subversion Version control with Subversion Davor Cubranic Grad Seminar October 6, 2011 With searching comes loss And the presence of absence: My Thesis not found. Version Control A tool for managing changes to a

More information

Version control with GIT

Version control with GIT AGV, IIT Kharagpur September 13, 2012 Outline 1 Version control system What is version control Why version control 2 Introducing GIT What is GIT? 3 Using GIT Using GIT for AGV at IIT KGP Help and Tips

More information

Introduction to Version Control

Introduction to Version Control Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline

More information

Xcode Source Management Guide. (Legacy)

Xcode Source Management Guide. (Legacy) Xcode Source Management Guide (Legacy) Contents Introduction 5 Organization of This Document 5 See Also 6 Source Management Overview 7 Source Control Essentials 7 Snapshots 8 Managing Source in Xcode 8

More information

Manual. CollabNet Subversion Connector to HP Quality Center. Version 1.2

Manual. CollabNet Subversion Connector to HP Quality Center. Version 1.2 Manual CollabNet Subversion Connector to HP Quality Center Version 1.2 A BOUT THE CONNECTOR About the Connector The CollabNet Subversion Connector to HP Quality Center enables Quality Center users to

More information

Version Control for Computational Economists: An Introduction

Version Control for Computational Economists: An Introduction Version Control for Computational Economists: An Introduction Jake C. Torcasso April 3, 2014 Starting Point A collection of files on your computer Changes to files and new files over time Interested in

More information

Software configuration management

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

More information

Week G Versioning with svn

Week G Versioning with svn Week G Versioning with svn What is Versioning? Naïve vs. smart approaches Subversion (svn) workflow Basic svn commands http://subversion.tigris.org/ Assignments: Check in your proposals Week G Versioning

More information

How to set up Outlook Anywhere on your home system

How to set up Outlook Anywhere on your home system How to set up Outlook Anywhere on your home system The Outlook Anywhere feature for Microsoft Exchange Server 2007 allows Microsoft Office Outlook 2007 and Outlook 2003 users to connect to their Outlook

More information

Version Control Systems (Part 2)

Version Control Systems (Part 2) 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 with Git. Kate Hedstrom ARSC, UAF

Version Control with Git. Kate Hedstrom ARSC, UAF 1 Version Control with Git Kate Hedstrom ARSC, UAF Linus Torvalds 3 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last

More information

Introduction to Source Control ---

Introduction to Source Control --- Introduction to Source Control --- Overview Whether your software project is large or small, it is highly recommended that you use source control as early as possible in the lifecycle of your project.

More information

Continuous Integration

Continuous Integration Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal

More information

Version Control with Git. Dylan Nugent

Version Control with Git. Dylan Nugent Version Control with Git Dylan Nugent Agenda What is Version Control? (and why use it?) What is Git? (And why Git?) How Git Works (in theory) Setting up Git (surviving the CLI) The basics of Git (Just

More information

Software development. Outline. Outline. Version control. Version control. Several users work on a same project. Collaborative software development

Software development. Outline. Outline. Version control. Version control. Several users work on a same project. Collaborative software development Software development Groupware and Collaborative Interaction Collaborative Software Development M2R Interaction - Université Paris-Sud - Année 2013-2014 Cédric Fleury (cedric.fleury@lri.fr) Several users

More information

Content. Development Tools 2(63)

Content. Development Tools 2(63) Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)

More information

Redmine: A project management software tool. January, 2013

Redmine: A project management software tool. January, 2013 Redmine: A project management software tool January, 2013 Outline Introduction to Redmine. Important concepts of Redmine. How to use Redmine. 1 Introduction: What is Redmine? Redmine is a project management

More information

BlueJ Teamwork Tutorial

BlueJ Teamwork Tutorial BlueJ Teamwork Tutorial Version 2.0 for BlueJ Version 2.5.0 (and 2.2.x) Bruce Quig, Davin McCall School of Engineering & IT, Deakin University Contents 1 OVERVIEW... 3 2 SETTING UP A REPOSITORY... 3 3

More information

Miguel A. Figueroa Villanueva Xabriel J. Collazo Mojica

Miguel A. Figueroa Villanueva Xabriel J. Collazo Mojica Version Control Systems: Subversion Xabriel J. Collazo Mojica 1 Outline Introduction Document management CMS Wiki Aigaion Code and Document Repositories Version Control Systems Centralized Distributed

More information

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt Dr.

More information

Lab 0: Version control

Lab 0: Version control Lab Handout ENGI3891 Faculty of Engineering and Applied Science 16,23 Sep 2015 1 Purpose and outcomes This lab will give you hands-on experience with an essential development tool: a version control system

More information

Software Delivery Integration and Source Code Management. for Suppliers

Software Delivery Integration and Source Code Management. for Suppliers Software Delivery Integration and Source Code Management for Suppliers Document Information Author Version 1.0 Version Date 8/6/2012 Status final Approved by Reference not applicable Subversion_for_suppliers.doc

More information

Table of Contents. OpenDrive Drive 2. Installation 4 Standard Installation Unattended Installation

Table of Contents. OpenDrive Drive 2. Installation 4 Standard Installation Unattended Installation User Guide for OpenDrive Application v1.6.0.4 for MS Windows Platform 20150430 April 2015 Table of Contents Installation 4 Standard Installation Unattended Installation Installation (cont.) 5 Unattended

More information

HowTo. Planning table online

HowTo. Planning table online HowTo Project: Description: Planning table online Installation Version: 1.0 Date: 04.09.2008 Short description: With this document you will get information how to install the online planning table on your

More information

Miguel A. Figueroa Villanueva Xabriel J. Collazo Mojica. ICOM 5047 Capstone Miguel A. Figueroa Villanueva University of Puerto Rico Mayagüez Campus

Miguel A. Figueroa Villanueva Xabriel J. Collazo Mojica. ICOM 5047 Capstone Miguel A. Figueroa Villanueva University of Puerto Rico Mayagüez Campus Document and Information Management: A Software Developer s Perspective Xabriel J. Collazo Mojica Outline Introduction Why should I (you) care? Document management CMS Wiki Aigaion Code and Document Repositories

More information

Dalhousie University CSCI 2132 Software Development Winter 2015 Lab 7, March 11

Dalhousie University CSCI 2132 Software Development Winter 2015 Lab 7, March 11 Dalhousie University CSCI 2132 Software Development Winter 2015 Lab 7, March 11 In this lab, you will first learn how to use pointers to print memory addresses of variables. After that, you will learn

More information

Version Control Systems

Version Control Systems Version Control Systems ESA 2015/2016 Adam Belloum a.s.z.belloum@uva.nl Material Prepared by Eelco Schatborn Today IntroducGon to Version Control Systems Centralized Version Control Systems RCS CVS SVN

More information

Xopero Backup Build your private cloud backup environment. Getting started

Xopero Backup Build your private cloud backup environment. Getting started Xopero Backup Build your private cloud backup environment Getting started 07.05.2015 List of contents Introduction... 2 Get Management Center... 2 Setup Xopero to work... 3 Change the admin password...

More information

Developer Workshop 2015. Marc Dumontier McMaster/OSCAR-EMR

Developer Workshop 2015. Marc Dumontier McMaster/OSCAR-EMR Developer Workshop 2015 Marc Dumontier McMaster/OSCAR-EMR Agenda Code Submission 101 Infrastructure Tools Developing OSCAR Code Submission: Process OSCAR EMR Sourceforge http://www.sourceforge.net/projects/oscarmcmaster

More information

Distributed Version Control with Mercurial and git

Distributed Version Control with Mercurial and git OpenStax-CNX module: m37404 1 Distributed Version Control with Mercurial and git Hannes Hirzel This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 Abstract

More information

PKI, Git and SVN. Adam Young. Presented by. Senior Software Engineer, Red Hat. License Licensed under http://creativecommons.org/licenses/by/3.

PKI, Git and SVN. Adam Young. Presented by. Senior Software Engineer, Red Hat. License Licensed under http://creativecommons.org/licenses/by/3. PKI, Git and SVN Presented by Adam Young Senior Software Engineer, Red Hat License Licensed under http://creativecommons.org/licenses/by/3.0/ Agenda Why git Getting started Branches Commits Why? Saved

More information

Theme 1 Software Processes. Software Configuration Management

Theme 1 Software Processes. Software Configuration Management Theme 1 Software Processes Software Configuration Management 1 Roadmap Software Configuration Management Software configuration management goals SCM Activities Configuration Management Plans Configuration

More information

Working with a Version Control System

Working with a Version Control System Working with a Version Control System Summary Tutorial TU0114 (v2.4) March 18, 2008 This tutorial looks at how you can use Altium Designer s built-in version control capabilities to check project files

More information

Eliminate Workflow Friction with Git

Eliminate Workflow Friction with Git Eliminate Workflow Friction with Git Joel Clermont @jclermont I come from the distant land of Milwaukee. Organizer of Milwaukee PHP and Milwaukee FP. Feel free to reach out to me on Twitter. World s problems

More information

Made Easy Windows Sync App Tutorial

Made Easy Windows Sync App Tutorial Investor Storage Newsletter Made Easy Windows Sync App Tutorial The aim of this tutorial is simply to demonstrate how to set up Synchronization using the Storage Made Easy Sync App that is installed as

More information

Email: Gmail Or other POP3

Email: Gmail Or other POP3 Set up Gmail account (steps are mirrored for other POP3 Email) 1.Touch Email on the home screen. 2.Touch Google. 3.Read the message and touch Next. 4.Touch Create. (Or, if you already have a Google account,

More information

Distributed Version Control

Distributed Version Control Distributed Version Control Faisal Tameesh April 3 rd, 2015 Executive Summary Version control is a cornerstone of modern software development. As opposed to the centralized, client-server architecture

More information

Using GitHub for Rally Apps (Mac Version)

Using GitHub for Rally Apps (Mac Version) Using GitHub for Rally Apps (Mac Version) SOURCE DOCUMENT (must have a rallydev.com email address to access and edit) Introduction Rally has a working relationship with GitHub to enable customer collaboration

More information

Subversion Integration for Visual Studio

Subversion Integration for Visual Studio Subversion Integration for Visual Studio VisualSVN Team VisualSVN: Subversion Integration for Visual Studio VisualSVN Team Copyright 2005-2008 VisualSVN Team Windows is a registered trademark of Microsoft

More information

Introduction to Programming Tools. Anjana & Shankar September,2010

Introduction to Programming Tools. Anjana & Shankar September,2010 Introduction to Programming Tools Anjana & Shankar September,2010 Contents Essentials tooling concepts in S/W development Build system Version Control System Testing Tools Continuous Integration Issue

More information

User Guide Online Backup

User Guide Online Backup User Guide Online Backup Table of contents Table of contents... 1 Introduction... 2 Adding the Online Backup Service to your Account... 2 Getting Started with the Online Backup Software... 4 Downloading

More information

MadCap Software. SharePoint Guide. Flare 11.1

MadCap Software. SharePoint Guide. Flare 11.1 MadCap Software SharePoint Guide Flare 11.1 Copyright 2015 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document

More information

Version Control Systems: SVN and GIT. How do VCS support SW development teams?

Version Control Systems: SVN and GIT. How do VCS support SW development teams? Version Control Systems: SVN and GIT How do VCS support SW development teams? CS 435/535 The College of William and Mary Agile manifesto We are uncovering better ways of developing software by doing it

More information

Version Uncontrolled! : How to Manage Your Version Control

Version Uncontrolled! : How to Manage Your Version Control Version Uncontrolled! : How to Manage Your Version Control Harold Dost III, Raastech ABSTRACT Are you constantly wondering what is in your production environment? Do you have any doubts about what code

More information

Sentral servers provide a wide range of services to school networks.

Sentral servers provide a wide range of services to school networks. Wazza s QuickStart Publishing iweb Sites to a Sentral Server Background Mac OS X, Sentral, iweb 09 Sentral servers provide a wide range of services to school networks. A Sentral server provides a publishing

More information

Git. A Distributed Version Control System. Carlos García Campos carlosgc@gsyc.es

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

More information