How To Manage Source Code With Git

Size: px
Start display at page:

Download "How To Manage Source Code With Git"

Transcription

1 English Sign in (or register) Technical topics Evaluation software Community Events Manage source code using Git Toolset provides reliable revision control on Linux Eli M. Dow Software Engineer, IBM Summary: Git is the open source revision control software that Linus Torvalds developed to help manage Linux kernel development. You can download it yourself and use it for your own kernel hacking -- or for software development projects of your own. This article shows you how to get started hacking Linux with the Git tools. [Update: Two code listings have been modified to reflect the replacement of the rsync protocol with the newer git protocol for fetching source code -- Ed.] Date: 06 Jul 2006 (Published 29 Jun 2006) Level: Intermediate Also available in: Russian Japanese Activity: views Comments: 1 (View Add comment - Sign in) Rate this article Average rating (101 votes) Show articles and other content related to my search: eli m. dow To be an effective software developer in any modern software development project, you must be able to develop concurrently with other project contributors. Source code management (SCM) systems are not a new idea. Many attempts have been made to write software that allows future software projects to be developed faster and easier. Most modern source code management solutions include revision control systems to allow retractions of source code changes that turn out to be detrimental to the project, or to simply track who changed what lines of code. Revision control systems attempt to address the problem posed by developers trying to alter a file simultaneously, preventing users from overwriting each others' alterations. Many of the currently popular solutions for source code management try to address failures in previous SCM solutions. Centralized revision control systems typically work in one of two ways: Some provide file locking to prevent concurrent access. These systems lock files so that only one developer has write access to the central repository at a time. Others, such as CVS, allow multiple developers to edit the same file at the same time, and provide facilities to merge changes later. Popular revision control systems include: CVS Subversion Arch Bazaar BitKeeper What is Git? Quite simply, Git is Linus Torvalds' recently implemented source code management software. As the supplied documentation says, "Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals." Torvalds began working on Git as an interim solution to replace BitKeeper, which had previously been the primary source code tool in use by Linux kernel developers worldwide. Some members of the open source community felt that the BitKeeper license was not the best fit 1/8

2 for the open source world, and thus Torvalds decided to investigate revision control systems with more permissive licenses. Though initially developed to aid in the Linux kernel development process, Git is finding new uses in other free software projects as well. For instance, X.org has recently switched to Git, as have many Freedesktop.org projects. The current iteration of Git is intended primarily for use by software developers looking for alternatives to CVS or proprietary code management solutions. Git differs from CVS in a number of ways: Branching is fast and easy. Offline work is supported; local commits can be submitted later. Git commits are atomic and project-wide, not per-file as in CVS. Every working tree in Git contains a repository with a full project history. No Git repository is inherently more important than any other. Installation To install the current release of Git, you can use vendor-supplied packages that ship with your Linux distribution, or you can manually compile it from the latest stable snapshot. I recommend downloading a tarball containing the most recent stable snapshot of the Git source code; the release as of this writing is v You can find a link in the Resources section below. Once you have this tarball, make sure that you have the proper dependencies for the initial installation. Your system must contain the following packages, along with their respective development headers: zlib libcurl libcrypto (OpenSSL) rsync (version or higher) Once the dependencies are met, you can begin building your initial Git installation. The process should be familiar to most developers who have used Linux previously. Start off by untarring the package, using the appropriate unpacking method for your download: $ tar -jxvf git tar.bz2 or $ tar -zxvf git tar.gz Then change to the appropriate directory and use the make command. (Note that the directory name will depend on the date of the snapshot you've downloaded.) $ cd git-1.4.0/ $ make prefix=/usr/local install $ sudo make prefix=/usr/local install You will be prompted for the sudo password for installation to continue. Now you should be ready to begin using the Git tools. Obtaining the latest kernel source tree When using Git to manage source code repositories, there are two main ways to get started. You can take a local directory of existing code and make a repository from it, or you can mirror a repository that someone else publishes. For the purposes of this article, you'll obtain a mirror of Torvalds' published Git repository. The following command will create a Git repository directory called linux-2.6. This directory will contain a hidden dotfile directory called.git/. $ git-clone \ 2/8

3 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git \ linux-2.6 This step will take a long time, as Git is transferring the kernel source (which is hundreds of megabytes in size) from kernel.org to your local machine. The output will look rather unintelligible, and should scroll by relatively quickly if you have a fast Internet connection. Your output should resemble Figure 1. Figure 1. Output produced when downloading the kernel source tree Now change into the directory containing the newly downloaded kernel: $ cd linux-2.6 At this point, you should have a working Linux 2.6 repository on your local machine! Now on to basic operations with this repository. Updating your local Git repository 3/8

4 Normally when using Git, you can assume that your repository is a little bit behind what is located on kernel.org. So you would typically begin by updating your repository to the latest upstream kernel tree. This process is sometimes referred to as a fast-forward merge. Strictly speaking, you don't need to perform this now, as you just installed your repository and it should not be out of date. But it doesn't hurt to check just in case: $ cd linux-2.6 $ git-pull git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git... If successful, you should see output that looks similar to the following: receiving file list... done sent 130 bytes received bytes bytes/sec total size is speedup is Already up-to-date. $> If your repository was not up to date, you would see some content transferred to your local machine over the network. Checking files out of the repository You'll need to check out files from the Git repository (the stuff in the hidden files) into the working directory to begin your hacking. The following command will place unhidden directories with the Linux source code in the current directory: $ git-checkout If you ever want to overwrite any of your local modifications, you can do another checkout with the -f option to bring you back to a clean slate: $ git-checkout -f At this point, you should see the familiar Linux source code directory structure in your current working directory, and you can begin making modifications to the source. Modifying existing files You can now modify any file you choose. As a simple example, you'll modify something in the docs directory: you'll add a message that will be easily recognizable later. To make my example easier to follow, I chose not to modify code, but you are welcome to dive in and rewrite the entire kernel subsystem if you are so inclined. First, let's open a file in an editor: $ vi./documentation/managementstyle Obviously, I'm using vi here, but you are, of course, free to use whatever editor you prefer to get the job done. In editing the file, I added a line before the first paragraph, as follows: "Eli shall be in charge of managing sandwich consumption. See Documentation/Sandwiches for more." If you are satisfied with the alterations you have made and you feel you are ready to make them a permanent part of your repository, you simply need to check in your changes using the following command: 4/8

5 $ git-commit Documentation/ManagementStyle You will be prompted to supply a commit message, which is a user-generated comment that will help other developers (or you, later) understand what exactly the change you just implemented did. In my case, the commit message was a sentence describing the alteration I had just made to the documentation. If you would like to check the status of your work so far, you can execute git-log to view the history of your local repository (which inherits the information of the repository that you cloned). Your commit message should be at the top of the log. Adding or removing files But wait! We never added a Documentation/Sandwiches file, so you need to add it to the working directory and tell Git about it when you're done. I created the file I wanted to add using the echo command, since this is a simple example. Again, you can use whatever means you prefer. $ echo "Turkey is superior" > Documentation/Sandwiches Now that you've added a file, you need to make Git aware of this change by adding it to Git and then committing the revision. You can perform these tasks by executing the following commands: $ git-add Documentation/Sandwiches $ git-commit Documentation/Sandwiches If you had added multiple files, you could continue listing them after the git-add command on a single line, as you need not add them one at a time. If you have to remove a file, there is no special command like git-add; you just remove the file, then commit. Now is a good time to check in on your git-log to ensure that what you have done so far has been correct. This time, you will use the -p option to see the log in individual patch format. $git-log -p Creating diffs Finally, you will want to generate a text file containing only the differences between your modified source and the original. This file is typically created with the diff utility, and is called a diff. The diff helps you create a patch file, which is the preferred way of sending code submissions to many open source projects. For more about diffs, see the links to Kernel.org in Resources below. What else can Git do? You can use Git to manage local repositories without mirroring someone else's work. For instance, if you would like to use Git to manage your own personal contributions to an open source project, you can begin by making a Git repository from a project snapshot. Assuming you have a standard release tarball named release.tar.gz, you can create a local Git repository by issuing the following commands: $ tar -zxvf release.tar.gz $ cd release $ git init-db 5/8

6 You may see messages stating saying that Git is "defaulting to local storage area." These messages are normal and indicate that you have a Git repository in place. You've now initialized the working directory, and you should see a new directory,.git, within the project directory. To inform Git that you want to track each of the files in the project directory, issue the following command: $ git add. Finally, commit the monitored files to the repository with the following command: $ git commit -a Once again, you will be prompted for a commit message. From this point, you can work within your Git repository using all the functionality provided by Git, such as branching for experimental features, bisecting to track down regressions, and the doing the usual revision history functions. For more information on managing branches and other interesting features of Git, check out the excellent Git tutorial at Kernel.org (see Resources for a link). Conclusion Now that you know how to use Git to obtain both the Linux kernel source and other Git-managed projects, you might choose to use Git to manage your next development project. Git is still relatively new and is under development. Additional scripts and tools are being implemented to make it even easier to use; see the examples in Resources. Resources Learn Kernel.org has a number of good resources to get you started: A tutorial introduction to Git Git for CVS users Everyday Git with 20 commands or so Kernel Hackers' Guide to git is a cookbook of recipes for getting up and running. Learn more about revision control systems: "CVS for the developer or amateur" (developerworks, March 2001) "Introducing Subversion: Version control for the third millennium" (developerworks, June 2006) "StatCVS offers a view into CVS repository activity" (developerworks, February 2005) Linux for IBM System z9 and IBM zseries is an IBM Redbook about Linux on big iron. In the developerworks Linux zone, find more resources for Linux developers. Stay current with developerworks technical events and Webcasts. Get products and technologies Download Git source code. QGit is a QT-based Git GUI. Order the SEK for Linux, a two-dvd set containing the latest IBM trial software for Linux from DB2, Lotus, Rational, 6/8

7 Tivoli, and WebSphere. With IBM trial software, available for download directly from developerworks, build your next development project on Linux. Discuss Check out developerworks blogs and get involved in the developerworks community. About the author Eli M. Dow is a software engineer in the IBM Test and Integration Center for Linux in Poughkeepsie, NY. He holds a B.S. degree in computer science and psychology and a master's of computer science from Clarkson University. He is an alumnus of the Clarkson Open Source Institute. His interests include the GNOME desktop, human-computer interaction, virtualization, and Linux systems programming. He is the coauthor of an IBM Redbook Linux for IBM System z9 and IBM zseries. Close [x] developerworks: Sign in IBM ID: Need an IBM ID? Forgot your IBM ID? Password: Forgot your password? Change your password Keep me signed in. By clicking Submit, you agree to the developerworks terms of use. Submit Cancel The first time you sign into developerworks, a profile is created for you. Select information in your developerworks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post. All information submitted is secure. Close [x] Choose your display name The first time you sign in to developerworks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks. Please choose a display name between 3-31 characters. Your display name must be unique in the developerworks community and should not be your address for privacy reasons. Display name: (Must be between 3 31 characters.) By clicking Submit, you agree to the developerworks terms of use. Submit Cancel 7/8

8 All information submitted is secure. Average rating (101 votes) 1 star 1 star 2 stars 2 stars 3 stars 3 stars 4 stars 4 stars 5 stars 5 stars Submit Add comment: Sign in or register to leave a comment. Note: HTML elements are not supported within comments. Notify me when a comment is added1000 characters left Post Total comments (1) make prefix=/usr/local install i think should be make prefix=/usr/local all Posted by denisboyun on 19 January 2012 Report abuse Print this page Share this page Follow developerworks About Feeds and apps Report abuse Faculty Help Newsletters Terms of use Students Contact us IBM privacy Business Partners Submit content IBM accessibility 8/8

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

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

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

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

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

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

Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab

Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab Yocto Project Developer Day San Francisco, 2013 Jessica Zhang Introduction Welcome to the Yocto Project Eclipse plug-in

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

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

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

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

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

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

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

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

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

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

Version Control! Scenarios, Working with Git!

Version Control! Scenarios, Working with Git! Version Control! Scenarios, Working with Git!! Scenario 1! You finished the assignment at home! VC 2 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not

More information

CVS versus BitKeeper A Comparison

CVS versus BitKeeper A Comparison Chapter 11 CVS versus BitKeeper A Comparison Since the publication of the second edition of this book, a powerful new versioning system has risen called Bitkeeper, or BK/PRO, to dominate at least certain

More information

Source code management systems

Source code management systems Source code management systems SVN, Git, Mercurial, Bazaar,... for managing large projects with multiple people work locally or across a network store and retrieve all versions of all directories and files

More information

Learning about Informix and the Open Admin Tool (OAT)

Learning about Informix and the Open Admin Tool (OAT) Learning about Informix and the Open Admin Tool (OAT) With Tom Beebe Webcast on Feb 11, 2014 Starts at 2pm (EST) What is it? OAT Open Admin Tool Open source, PHP based Free Allows you to monitor and manage

More information

The Bazaar Version Control System. Michael Hudson, Canonical Ltd michael.hudson@canonical.com

The Bazaar Version Control System. Michael Hudson, Canonical Ltd michael.hudson@canonical.com The Bazaar Version Control System Michael Hudson, Canonical Ltd michael.hudson@canonical.com What is Bazaar? Bazaar is a Distributed Version Control System (DVCS) You probably know what a VCS is by now:

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

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

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

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

Alfresco Online Collaboration Tool

Alfresco Online Collaboration Tool Alfresco Online Collaboration Tool USER MANUAL BECOMING FAMILIAR WITH THE USER INTERFACE... 4 MY DASHBOARD... 4 MY PROFILE... 6 VIEWING YOUR FULL PROFILE... 6 EDITING YOUR PROFILE... 7 CHANGING YOUR PASSWORD...

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

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

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

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

Installing IBM Websphere Application Server 7 and 8 on OS4 Enterprise Linux

Installing IBM Websphere Application Server 7 and 8 on OS4 Enterprise Linux Installing IBM Websphere Application Server 7 and 8 on OS4 Enterprise Linux By the OS4 Documentation Team Prepared by Roberto J Dohnert Copyright 2013, PC/OpenSystems LLC This whitepaper describes how

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

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

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

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

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

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

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 61B Fall 2012 P. N. Hilfinger Version Control and Homework Submission 1 Introduction Your

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

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

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

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

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

Git - Working with Remote Repositories

Git - Working with Remote Repositories Git - Working with Remote Repositories Handout New Concepts Working with remote Git repositories including setting up remote repositories, cloning remote repositories, and keeping local repositories in-sync

More information

Microsoft Outlook 2007 to Mozilla Thunderbird and Novell Evolution Email Conversion Guide

Microsoft Outlook 2007 to Mozilla Thunderbird and Novell Evolution Email Conversion Guide Microsoft Outlook 2007 to Mozilla Thunderbird and Novell Evolution Email Conversion Guide Author: David Gullett Published: March 18, 2010 Version: 1.0 Copyright 2010, Symmetrix Technologies http://www.symmetrixtech.com

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

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

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

FirstClass Export Tool User and Administration Guide

FirstClass Export Tool User and Administration Guide FirstClass Export Tool User and Administration Guide Werner de Jong Senior Business Product Manager Email: wdejong@opentext.com Mobile: +44 7789 691288 Twitter: @wernerdejong July 2011 (last update March

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

SSH Key Exchange: Windows client to Unix/Linux server

SSH Key Exchange: Windows client to Unix/Linux server SSH Key Exchange: Windows client to Unix/Linux server Table of contents 1 Audience... 2 2 Purpose...2 3 Prerequisites...2 4 SSH Key exchange: Windows client & Unix/Linux Server...3 4.1 Outline of steps

More information

Drupalcamp Vienna 2009

Drupalcamp Vienna 2009 Drupalcamp Vienna 2009 Development workflow and deployment at Klaus Purer 2009-11-28 http://klausi.fsinf.at Who am I? Student at the Vienna University of Technology Software Engineering & Internet Computing

More information

Introduction to Subversion

Introduction to Subversion Introduction to Subversion Getting started with svn Matteo Vescovi 19/02/2010 Agenda A little bit of theory Overview of Subversion Subversion approach to Version Control Using Subversion Typical subversion

More information

Installing an open source version of MateCat

Installing an open source version of MateCat Installing an open source version of MateCat This guide is meant for users who want to install and administer the open source version on their own machines. Overview 1 Hardware requirements 2 Getting started

More information

Release Management Within Open Source Projects

Release Management Within Open Source Projects Management Within Open Source Projects Justin R. Erenkrantz Institute for Software Research University of California, Irvine Irvine, CA 92697-3425 jerenkra@ics.uci.edu Abstract A simple classification

More information

IBM Tivoli Web Response Monitor

IBM Tivoli Web Response Monitor IBM Tivoli Web Response Monitor Release Notes Version 2.0.0 GI11-4068-00 +---- Note ------------------------------------------------------------+ Before using this information and the product it supports,

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

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

Managing Source Code With Subversion

Managing Source Code With Subversion Managing Source Code With Subversion May 3rd, 2005: Linux Users Victoria Source Code Management Source Code Management systems (SCMs) rock. Definitely the single most useful tool for a development team,

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

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

Developing Embedded Linux Devices Using the Yocto Project

Developing Embedded Linux Devices Using the Yocto Project It s not an embedded Linux distribution It creates a custom one for you. Developing Embedded Linux Devices Using the Yocto Project David Stewart Intel Corporation October, 2011 Agenda What is the Yocto

More information

DB2 Database Demonstration Program Version 9.7 Installation and Quick Reference Guide

DB2 Database Demonstration Program Version 9.7 Installation and Quick Reference Guide DB2 Database Demonstration Program Version 9.7 Installation and Quick Reference Guide George Baklarz DB2 Worldwide Technical Sales Support IBM Toronto Laboratory DB2 Demonstration Program Version 9.7 Usage

More information

ECE 4893: Internetwork Security Lab 12: Web Security

ECE 4893: Internetwork Security Lab 12: Web Security Group Number: Member Names: ECE 4893: Internetwork Security Lab 12: Web Security Date: April 6, 2004 Date Due: April 13, 2004 Last Revised: April 2, 2004 Written by: Tom Bean and Valerio Oricchio Goal:

More information

AWS Schema Conversion Tool. User Guide Version 1.0

AWS Schema Conversion Tool. User Guide Version 1.0 AWS Schema Conversion Tool User Guide AWS Schema Conversion Tool: User Guide Copyright 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may

More information

Version Control Tools

Version Control Tools Version Control Tools Source Code Control Venkat N Gudivada Marshall University 13 July 2010 Venkat N Gudivada Version Control Tools 1/73 Outline 1 References and Resources 2 3 4 Venkat N Gudivada Version

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

AlienVault Unified Security Management (USM) 4.x-5.x. Deploying HIDS Agents to Linux Hosts

AlienVault Unified Security Management (USM) 4.x-5.x. Deploying HIDS Agents to Linux Hosts AlienVault Unified Security Management (USM) 4.x-5.x Deploying HIDS Agents to Linux Hosts USM 4.x-5.x Deploying HIDS Agents to Linux Hosts, rev. 2 Copyright 2015 AlienVault, Inc. All rights reserved. AlienVault,

More information

Version Control. Luka Milovanov lmilovan@abo.fi

Version Control. Luka Milovanov lmilovan@abo.fi Version Control Luka Milovanov lmilovan@abo.fi Configuration Management Configuration management is the management of system change to software products Version management: consistent scheme of version

More information

COSC345 2013 Software Engineering. Lecture 7: Version Control

COSC345 2013 Software Engineering. Lecture 7: Version Control COSC345 2013 Software Engineering Lecture 7: Version Control Some Problems Communications File system problems Version control Basic principles and use Outline When to use version control Examples SCCS

More information

Escalation Server Documentation For Tele-Support HelpDesk Rev 5/29/2001

Escalation Server Documentation For Tele-Support HelpDesk Rev 5/29/2001 Introduction Escalation Server Documentation For Tele-Support HelpDesk Rev 5/29/2001 The purpose of the Escalation Server is to improve performance of HelpDesk s auto-escalation of priorities. It is designed

More information

Rational Rational ClearQuest

Rational Rational ClearQuest Rational Rational ClearQuest Version 7.0 Windows Using Project Tracker GI11-6377-00 Rational Rational ClearQuest Version 7.0 Windows Using Project Tracker GI11-6377-00 Before using this information, be

More information

Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)

Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker) Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker) Vittorio BOCCONE DECTRIS Ltd. 5405 Baden-Daettwil Switzerland www.dectris.com Definitions Continuous Integration

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

Contents Release Notes... ... 3 System Requirements... ... 4 Using Jive for Office... ... 5

Contents Release Notes... ... 3 System Requirements... ... 4 Using Jive for Office... ... 5 Jive for Office TOC 2 Contents Release Notes...3 System Requirements... 4 Using Jive for Office... 5 What is Jive for Office?...5 Working with Shared Office Documents... 5 Get set up...6 Get connected

More information

Developing Embedded Linux Devices Using the Yocto Project

Developing Embedded Linux Devices Using the Yocto Project It s not an embedded Linux distribu2on It creates a custom one for you. Developing Embedded Linux Devices Using the Yocto Project Mark Hatle mark.hatle@windriver.com Wind River Systems September, 2012

More information

Computer Science and Engineering Linux Cisco VPN Client Installation and Setup Guide

Computer Science and Engineering Linux Cisco VPN Client Installation and Setup Guide Computer Science and Engineering Linux Cisco VPN Client Installation and Setup Guide Contents Installation: Ubuntu Linux 7.10 Gusty Gibbon:... 2 Installation: Redhat Enterprise 5 and Fedora 8 Linux:...

More information

Integrated version control with Fossil SCM

Integrated version control with Fossil SCM Integrated version control with Fossil SCM Tech Talk 2009-12-01 Arne Bachmann Folie 1 Overview Web address www.fossil-scm.org Author Dr. D.R. Hipp - Author of License GPL v2 Motto No information shall

More information

AT&T Voice DNA User Guide

AT&T Voice DNA User Guide AT&T Voice DNA User Guide Page 1 Table of Contents GET STARTED... 4 Log In... 5 About the User Dashboard... 9 Manage Personal Profile... 15 Manage Messages... 17 View and Use Call Logs... 22 Search the

More information

STABLE & SECURE BANK lab writeup. Page 1 of 21

STABLE & SECURE BANK lab writeup. Page 1 of 21 STABLE & SECURE BANK lab writeup 1 of 21 Penetrating an imaginary bank through real present-date security vulnerabilities PENTESTIT, a Russian Information Security company has launched its new, eighth

More information

G-Lock WPNewsman WordPress Plugin Reviewer s Guide

G-Lock WPNewsman WordPress Plugin Reviewer s Guide G-Lock WPNewsman WordPress Plugin Reviewer s Guide 1 Table of Contents This document is your reviewer's guide for G-Lock WPNewsman WordPress Plugin. It is designed to provide you with information you need

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

Lab 2 : Basic File Server. Introduction

Lab 2 : Basic File Server. Introduction Lab 2 : Basic File Server Introduction In this lab, you will start your file system implementation by getting the following FUSE operations to work: CREATE/MKNOD, LOOKUP, and READDIR SETATTR, WRITE and

More information

using version control in system administration

using version control in system administration LUKE KANIES using version control in system administration Luke Kanies runs Reductive Labs (http://reductivelabs.com), a startup producing OSS software for centralized, automated server administration.

More information

CDH installation & Application Test Report

CDH installation & Application Test Report CDH installation & Application Test Report He Shouchun (SCUID: 00001008350, Email: she@scu.edu) Chapter 1. Prepare the virtual machine... 2 1.1 Download virtual machine software... 2 1.2 Plan the guest

More information

1. History 2. Structure 3. Git Comparison 4. File Storage 5. File Tracking 6. Staging 7. Queues (MQ) 8. Merge Tools 9. Interfaces

1. History 2. Structure 3. Git Comparison 4. File Storage 5. File Tracking 6. Staging 7. Queues (MQ) 8. Merge Tools 9. Interfaces 1 Hg 1. History 2. Structure 3. Git Comparison 4. File Storage 5. File Tracking 6. Staging 7. Queues (MQ) 8. Merge Tools 9. Interfaces 2 Mercurial / Git History Bitmover's BitKeeper Proprietary distributed

More information

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style Introducing Hudson Click to edit Master subtitle style Winston Prakash What is Hudson? Hudson is an open source continuous integration (CI) server. A CI server can do various tasks

More information

Viking VPN Guide Linux/UNIX

Viking VPN Guide Linux/UNIX Viking VPN Guide Linux/UNIX Table Of Contents 1 : VPN Questions answered 2 : Installing the Linux Client 3 : Connecting with the Linux Client 4 : Reporting Problems Version 1.0 : 10/27/2010 Information

More information

Apache 2.0 Installation Guide

Apache 2.0 Installation Guide Apache 2.0 Installation Guide Ryan Spangler spanglerrp22@uww.edu http://ceut.uww.edu May 2002 Department of Business Education/ Computer and Network Administration Copyright Ryan Spangler 2002 Table of

More information

InfoView User s Guide. BusinessObjects Enterprise XI Release 2

InfoView User s Guide. BusinessObjects Enterprise XI Release 2 BusinessObjects Enterprise XI Release 2 InfoView User s Guide BusinessObjects Enterprise XI Release 2 Patents Trademarks Copyright Third-party contributors Business Objects owns the following U.S. patents,

More information

Continuous integration for databases using Red Gate tools

Continuous integration for databases using Red Gate tools Whitepaper Continuous integration for databases using Red Gate tools A technical overview Continuous Integration source control develop Dev Dev Dev build test Automated Deployment Deployment package Testing

More information

SSH and Basic Commands

SSH and Basic Commands SSH and Basic Commands In this tutorial we'll introduce you to SSH - a tool that allows you to send remote commands to your Web server - and show you some simple UNIX commands to help you manage your website.

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

HOW TO BUILD A VMWARE APPLIANCE: A CASE STUDY

HOW TO BUILD A VMWARE APPLIANCE: A CASE STUDY HOW TO BUILD A VMWARE APPLIANCE: A CASE STUDY INTRODUCTION Virtual machines are becoming more prevalent. A virtual machine is just a container that describes various resources such as memory, disk space,

More information

Basic -- Manage Your Bank Account and Your Budget

Basic -- Manage Your Bank Account and Your Budget Basic -- Manage Your Bank Account and Your Budget This tutorial is intended as a quick overview to show you how to set up a budget file for basic account management as well as budget management. (See the

More information

NAVY COMMAND PRINCIPAL SECURITY ADVISOR RECOMMENDED FACEBOOK SECURITY SETTINGS

NAVY COMMAND PRINCIPAL SECURITY ADVISOR RECOMMENDED FACEBOOK SECURITY SETTINGS NAVY COMMAND PRINCIPAL SECURITY ADVISOR RECOMMENDED FACEBOOK SECURITY SETTINGS NC PSyA Recommended Facebook Settings - October 2014 1 Introduction 3 Privacy Shortcuts 3 Privacy Settings and Tools 6 General

More information

Online Backup Client User Manual

Online Backup Client User Manual For Mac OS X Software version 4.1.7 Version 2.2 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by other means.

More information