Version Control Tools
|
|
- Dwain Morris Johns
- 8 years ago
- Views:
Transcription
1 Version Control Tools Source Code Control Venkat N Gudivada Marshall University 13 July 2010 Venkat N Gudivada Version Control Tools 1/73
2 Outline 1 References and Resources Venkat N Gudivada Version Control Tools 2/73
3 References: Braude, E.J. & Bernstein, M.E. (2008). Software Engineering. (2 nd Edition). New York: John Wiley & Sons, Inc. ISBN: Chapter 6 (). Click Me to find this on Amazon. Venkat N Gudivada Version Control Tools 3/73
4 References: CVS and Smart, J.F. (2008). Java Power Tools. Cambridge: O Reilly Media, Inc. ISBN: Chapters 3 (CVS) and 4 (). Click Me to find this on Amazon. Venkat N Gudivada Version Control Tools 4/73
5 References: CVS Fogel, K.F. (1999). Open Source Development with CVS: Learn How to Work With Open Source Software. Coriolis Group Books. ISBN: Click Me to find this on Amazon. Venkat N Gudivada Version Control Tools 5/73
6 References and Resources: Downloading CVS CVS servers run on most Unix variants and Windows. CVS Project Page: CVS Documentation: Download CVS: Download TortoiseCVS (i.e., a CVS Client): Venkat N Gudivada Version Control Tools 6/73
7 References: Pilato, C.M., Collins-Sussman, B. & Fitzpatrick, B.W. (2008). Version Control with. Cambridge: O Reilly Media, Inc. ISBN: Click Me to find this on Amazon. Venkat N Gudivada Version Control Tools 7/73
8 References and Resources: Downloading servers run on most Unix variants and Windows. Project Page: Documentation: Download Binary Packages: Download Source Code: Venkat N Gudivada Version Control Tools 8/73
9 References: O Sullivan, B. (2009). : The Definitive Guide. Cambridge: O Reilly Media, Inc. ISBN: Click Me to find this on Amazon. Venkat N Gudivada Version Control Tools 9/73
10 References and Resources: servers run on most Unix variants and Windows. Wiki: Quick Start: Tutorial: by Example (A Tutorial, PDF format): Venkat N Gudivada Version Control Tools 10/73
11 References and Resources: Downloading An Article on Titled Inside a distributed version control system : Quick Reference Cards and Cheat Sheets for : Download Source and Binary Packages: Venkat N Gudivada Version Control Tools 11/73
12 References: Loeliger, J. (2009). Version Control with : Powerful Tools and Techniques for Collaborative Software Development. Cambridge: O Reilly Media, Inc. ISBN: Click Me to find this on Amazon. Venkat N Gudivada Version Control Tools 12/73
13 References and Resources: Wiki: (software) Home Page: Documentation: FAQ: Venkat N Gudivada Version Control Tools 13/73
14 References and Resources: User s Manual: Tutorial: Cheat Sheet: Download : Venkat N Gudivada Version Control Tools 14/73
15 Software Life Cycle Venkat N Gudivada Version Control Tools 15/73
16 (SCM) Identifying, tracking, and storing all the artifacts of a project. Each artifact is a configuration item (CI). Storage of artifacts in a repository. Managing changes to these artifacts. Tracking and reporting changes to these artifacts. Venkat N Gudivada Version Control Tools 16/73
17 (SCM) Auditing the SCM process. Managing software builds and releases. Labor-intensive activities. SCM systems help automate these processes. Venkat N Gudivada Version Control Tools 17/73
18 SCM Goals Baseline safety assures that older versions are still in tact and retrievable. Overwrite safety prevents lost update problem. Reversion be able to revert to a previous version of a CI. Disaster recovery stronger form of reversion. Venkat N Gudivada Version Control Tools 18/73
19 SCM Activities 1 Configuration Identification 2 Baselines 3 Change Control 4 Version Control 5 Configuration Audits 6 Configuration Status Reporting 7 Release Management and Delivery Venkat N Gudivada Version Control Tools 19/73
20 Configuration Identification Source and Object Code Project Specifications User Documentation Test Plans and Data Supporting Software Such as Compilers, and Editors Any Artifact that will Undergo Modification or Need to be Retrieved at Some Time after its Creation Venkat N Gudivada Version Control Tools 20/73
21 CI Tree Venkat N Gudivada Version Control Tools 21/73
22 Baselines Formally reviewed and approved artifact is a baseline. IEEE Std 1042 defines a baseline as A specification or product that has been formally reviewed and agreed to by responsible management, that thereafter serves as the basis for further development, and can be changed only through formal change control procedures. A baseline is an individual or group of CIs labeled at key project milestones. Venkat N Gudivada Version Control Tools 22/73
23 Transitioning from One Baseline to the Next Venkat N Gudivada Version Control Tools 23/73
24 Why Use Baselines? Reproducibility be able to produce a particular software version or set of documentation. Traceability allows to recognize and establish relationships between various project artifacts. Tie test cases to requirements, and requirements to design. Reporting determine all the elements of a baseline. Compare the contents of various baselines. Useful in identifying problems in a release of software. Venkat N Gudivada Version Control Tools 24/73
25 Change Control CIs undergo change as a result of error correction and enhancement. Change Control (aka Configuration Control) refers to activities to request, evaluate, approve or disapprove, and implement these changes to the baseline. Steps: Identification and Documentation CI is identified and documentation produced. Analysis and Evaluation CI is analyzed for correctness, impact analysis performed. Approval or Disapproval decision made. Verification, Implementation and Release once implemented, verified for correctness and released. Venkat N Gudivada Version Control Tools 25/73
26 Version Control System: Capabilities (Checkin/Checkout) Repository centralized database for storing artifacts and their versions. Checkin/Checkout Request (checkout) a version, update, and store the new version (checkin). Checked out either locked or unlocked. Concurrent write privileges with branching. Venkat N Gudivada Version Control Tools 26/73
27 Version Control System: Capabilities (Branching) Team members work on the same set of files concurrently branching. A branch is a private work area in a Version Control System (VCS). Correctly apply changes to common files so that none are lost or overwritten merging. If two sets of changes don t conflict with each other, VCS can perform merge operation automatically. If the two sets of changes conflict, CVS will ask the user to merge the changes manually. Venkat N Gudivada Version Control Tools 27/73
28 Version Control System: Capabilities (Branching and Merging Changes) Venkat N Gudivada Version Control Tools 28/73
29 Version Control System: Capabilities (Builds) Support for reliably and reproducibly compile and build an executable from versions of source code files. User can specify which branch of code to build from allows concurrent development. Build process produces logs showing the file versions used in the build. Venkat N Gudivada Version Control Tools 29/73
30 Version Control System: Capabilities (Version Labeling) Versions are created by applying a label to all files comprising a build. The label is typically a version number (e.g., version 1.0). Labeling allows software versions to easily be referenced and reconstructed. Venkat N Gudivada Version Control Tools 30/73
31 Configuration Auditing IEEE defines a software audit as An independent examination of a software product, software process, or set of software processes to assess compliance with specifications, standards, contractual agreements, or other criteria. Goals of a configuration audit are to verify/determine: Proper procedures are followed, such as formal technical reviews. SCM policies, such as those defined by change control, are followed. Whether a software baseline is comprised of the correct configuration items. Performed by quality assurance group. Venkat N Gudivada Version Control Tools 31/73
32 Configuration Status Reporting Provides the software configuration information. Change and version control processes provide the raw data. Extraction, arrangement, and formation of reports as requested by users. Configuration reports include: Name and version of CIs Approval history of changed CIs Software release contents and comparison between releases Number of changes per CI Average time taken to change a CI Venkat N Gudivada Version Control Tools 32/73
33 Release Management and Delivery IEEE defines release management and delivery as master copies of code and documentation shall be maintained for the life of the software product. The code and documentation that contain safety or security critical functions shall be handled, stored, packaged and delivered in accordance with the policies of the organization involved. Venkat N Gudivada Version Control Tools 33/73
34 Configuration Management Plans IEEE standard for Configuration Management Plans (SCMP) IEEE Venkat N Gudivada Version Control Tools 34/73
35 CVS Microsoft Visual SourceSafe TM Rational/IBM ClearCase Perforce Venkat N Gudivada Version Control Tools 35/73
36 Commonly used, open source system. Based on client-server architecture. CVS server stores repository of project files. CVS client software runs on user computers. Venkat N Gudivada Version Control Tools 36/73
37 Still widely used in many organizations. Essentially a Unix application, though there is a fork for Windows called CVSNT. CVS server is most commonly hosted in a Unix environment. CVS client can run virtually on any computer. Venkat N Gudivada Version Control Tools 37/73
38 Setting Up a CVS Repository First create a directory in which the CVS repository will be saved. Use cvs init command to set up appropriate directory structure and administrative files. Administrative files are stored in a directory called CVSROOT. cvs -d /usr/local/cvs init Don t mess with files in /usr/local/cvs/cvsroot/ ls /usr/local/cvs/cvsroot/ Venkat N Gudivada Version Control Tools 38/73
39 Creating a New Project in CVS First tell CVS where to look for your repository by defining the CVSROOT environment variable. export CVSROOT=/usr/local/cvs For organization-wide CVS server across the network, use pserver protocol. export CVSROOT=:pserver:john@cvs.mycompany.com:2401/usr/local/cvs If the repository doesn t support anonymous access, login first. cvs login Venkat N Gudivada Version Control Tools 39/73
40 Creating a New Project in CVS Import the directory structure cvs import -m Initial message project vendortag releasetag project field refers to the directory that you want to store in CVS vendortag releasetag are rarely used in practice Venkat N Gudivada Version Control Tools 40/73
41 Creating a New Project in CVS Suppose our project is a module called ShopCoreApi cd /projects/shopcoreapi cvs import -m New Project ShopCoreApi vendortag start ls /user/local/cvs ls /user/local/cvs/shopcoreapi Venkat N Gudivada Version Control Tools 41/73
42 Checking Out a Project cvs checkout -R ShopCoreApi If the CVS repository is another machine, use pserver protocol with password-based access cvs -d :pserver:john@cvs.mycompany.com:/usr/local/cvs login Venkat N Gudivada Version Control Tools 42/73
43 Updating and Commiting Updating: cd /projects/shopcoreapi cvs update -RPd Before you commit your changes to the repository, test if someone else has updated cvs update Add any new files to the repository: cvs add src/main/resources/messages.cpp Venkat N Gudivada Version Control Tools 43/73
44 Commit Changes cvs commit -m made Some Changes Venkat N Gudivada Version Control Tools 44/73
45 File Version Numbers and Tags CVS keeps track of individual file versions. When a set of changes are committed, each modified file is updated separately. Tags can be used to identify a snapshot of the repository at a specific point in time. Use tags to identify a particular version of your application. Say, you want to mark the current working copy as milestone-iteration-1 cvs tag milestone-iteration-1 Venkat N Gudivada Version Control Tools 45/73
46 Creating Branches in CVS To create a new branch from the working copy, cvs tag -b production-release-1.0-patches Venkat N Gudivada Version Control Tools 46/73
47 Using CVS in Windows There are several graphical clients that you can use to manage CVS in Windows. Well known is TortoiseCVS, a graphical CVS client that integrates smoothly into Windows Explorer. Whatever can be done in command line, the same can also be done using TortoiseCVS. Venkat N Gudivada Version Control Tools 47/73
48 Configuration Management in Eclipse using CVS Eclipse is an Integrated Development Environment (IDE) for software projects. Eclipse is developed by geographically dispersed engineers. Eclipse integrates a built-in CVS GUI. Venkat N Gudivada Version Control Tools 48/73
49 Two Classes of Eclipse Users Venkat N Gudivada Version Control Tools 49/73
50 Version Numbering (source: Numbering) Venkat N Gudivada Version Control Tools 50/73
51 CVS Shortcomings Showing its age. Architectural defects and missing features for Java development projects and modern agile development practices. Difficult to move or rename directories makes refactoring difficult or cumbersome. Directory structures are very rigid difficult to delete a directory. Support for non-text files is limited. The notion of atomic commits is totally absent. If you have a choice between CVS and, consider seriously. Venkat N Gudivada Version Control Tools 51/73
52 One of the best open source products for version control system or software configuration management (SCM). Relatively new product, and is designed to overcome historical shortfalls of CVS. Venkat N Gudivada Version Control Tools 52/73
53 Revision Numbers and Atomic Updates A revision (revision tree) is a representation of the repository structure and contents at a given point in time. Revisions are the basis for atomic updates. Updating subversion repository is like updating a relational database using transactions. When you commit a set of changes, guarantees that either all of your changes have been integrated into the repository or none. stores successive representations of the entire repository structure as a whole. The log function makes it easy to get a summary of the changes made in a particular revision. Venkat N Gudivada Version Control Tools 53/73
54 Fast Branching and Tagging In CVS every single file must be individually tagged, which is time consuming. In, tagging a new version is simply copying the current repository into another directory on the server. Np physical copying is actually done, simply a logical reference is made. Tagging is extremely fast, and consumes very little disk space. Similar mechanism is used for branching. Venkat N Gudivada Version Control Tools 54/73
55 Lightweight Network Transactions Provides excellent network performance when dealing with large binary files. Quantity of data sent over the network is proportional to the size of your modifications, and not to the size of your files. (client) stores a local copy of the original repository files. Operations such as diff and revert are done without accessing the server. Venkat N Gudivada Version Control Tools 55/73
56 Handling Binary Files All files are internally stored as binary files. Only the binary differences between the revisions are stored on the server. Venkat N Gudivada Version Control Tools 56/73
57 Installing Recommended to use binary installation package. For Windows, you can download graphical installer packages for both and Python bindings. You need Python bindings if you plan to use Trac. Trac is an open source, lightweight issue tracking and project management tool that builds on. For many Linux distributions, prebundled installation packages are available. On Ubuntu, for example, sudo apt-get install subversion libapache2-svn Venkat N Gudivada Version Control Tools 57/73
58 Installing If you want to install Trac on a Linux server, may need to build with correct Python bindings. To use through your Apache server, may need to build and install the Apache modules. Building from source code is not a trivial task. Venkat N Gudivada Version Control Tools 58/73
59 Repository Types For a new project, first decide on where to store the source code repository and in what form. Choice of two storage systems: Berkeley DB database or as a set of flat files (aka FSFS). Berkeley DB database is not portable from one OS to another. Berkeley DB database repositories don t work well on shared network drive (might be different now). Berkeley DB database may end up in an unstable and inaccessible state if a client suddenly crashes. If you use FSFS, each revision tree is stored as a single file. All revision trees are stored in the same special directory. Venkat N Gudivada Version Control Tools 59/73
60 Setting Up a Repository svnadmin create /path/to/repos for FSFS repository type svnadmin create fs-type bdb /path/to/repos Berkeley DB database On Windows, svnadmin create C\data\svn\dev-repos Examine the repository directory structure with, for example, ls /data/svn/dev-repos/ Venkat N Gudivada Version Control Tools 60/73
61 Setting Up a New Project Convention for subdirectory structures in the project directory: trunk/, tags/, branches/ Main development work is stored in trunk/ Project repository snapshots in tags/ Named branches coming off the main development line in branches/ The easiest way to create a new project is to create an empty directory in a temporary directory, and then import this directory structure into. Venkat N Gudivada Version Control Tools 61/73
62 Setting Up a New Project $ pwd /home/doe $ mkdir svn-tmp $ cd svn-tmp $ mkdir myproject $ mkdir myproject/trunk $ mkdir myproject/tags $ mkdir myproject/branches Venkat N Gudivada Version Control Tools 62/73
63 Setting Up a New Project Assume that the repository is in /data/svn/dev-repos directory. $ svn import. file:///data/svn/dev-repos -m Initial repository structure Using the HTTP protocol, $ svn import. -m Initial repository structure You don t need the temporary directory anymore. Venkat N Gudivada Version Control Tools 63/73
64 Checking Out Your Working Copy Decide on where your project is going to stay on your computer, say, /projects $ mkdir /projects $svn checkout file:///data/svn/dev-repos/myproject/trunk myproject To import existing files, $ svn import newproject file:///data/svn/dev-repos/newproject/trunk -m Initial Import Venkat N Gudivada Version Control Tools 64/73
65 Other Commands list mkdir update add copy delete move status commit Venkat N Gudivada Version Control Tools 65/73
66 Unlike CVS and SVN, is truly distributed system. Gives each developer a local copy of the entire development history. Independent of network access or a central server. Committing, branching and merging are fast and cheap. Venkat N Gudivada Version Control Tools 66/73
67 Installing For Debian-based Linux computer, which has the apt program manager, $ sudo apt-get install mercurial $ hg version Venkat N Gudivada Version Control Tools 67/73
68 Creating a Repository $ mkdir hg1 $ cd hg1 $ hg init Venkat N Gudivada Version Control Tools 68/73
69 Adding Files $ hg add file1 Venkat N Gudivada Version Control Tools 69/73
70 is a distributed version control system. does not use a centralized server. runs on Linux, BSD, Solaris, Darwin, Windows, Android and other operating systems Venkat N Gudivada Version Control Tools 70/73
71 Commands $ git init $ git add. $ git add file1 file2 file3 $ git diff $ git status $ git commit Venkat N Gudivada Version Control Tools 71/73
72 Commands $ git log $ git branch $ git branch experimental $ git checkout experimental $ git merge experimental Venkat N Gudivada Version Control Tools 72/73
73 and Comparison: vs and Comparison: Venkat N Gudivada Version Control Tools 73/73
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 informationVersion 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 informationSource 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 informationContinuous 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 informationConfiguration & Build Management
Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration
More informationRevision 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 informationVersion 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 informationSoftware Configuration Management. Context. Learning Objectives
Software Configuration Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition
More informationSoftware 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 informationSoftware 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 informationSoftware Configuration Management. Addendum zu Kapitel 13
Software Configuration Management Addendum zu Kapitel 13 Outline Purpose of Software Configuration Management (SCM) Motivation: Why software configuration management? Definition: What is software configuration
More informationSoftware 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 informationCPSC 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 informationVersion 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 informationSource Code Management/Version Control
Date: 3 rd March 2005 Source Code Management/Version Control The Problem: In a typical software development environment, many developers will be engaged in work on one code base. If everyone was to be
More informationIntroduction 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 informationVersion 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 informationModulo II Software Configuration Management - SCM
Modulo II Software Configuration Management - SCM Professor Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Bibliografia Introduction to Apache
More informationSOFTWARE 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 informationVersion 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 informationDistributed 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 informationCISC 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 informationVersion 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 informationIntroduction 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 informationChapter 13 Configuration Management
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 13 Configuration Management Outline of the Lecture Purpose of Software Configuration Management (SCM)! Motivation: Why software
More informationVersion 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 informationGit 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 informationVersion 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 informationVersion 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 informationContent. 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 informationComparison of Version Control Systems for Software Maintenance
Comparison of Version Control Systems for Software Maintenance by Kevin N. Haw (http://www.kevinhaw.com) May 16, 2006 This work is licensed under the Creative Commons Attribution-Noncommercial-No Derivative
More informationVersion 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 informationCSE 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 informationCSCB07 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 informationPage 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management?
Books: Software Configuration Management 1. B. Bruegge and A. H. Dutoit, Object-Oriented Software Engineering: Using UML, Patterns, and Java (Chapter 13) Outline of the Lecture Purpose of Software Configuration
More informationVersion 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 informationVersion 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 informationThe 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 informationDAVE 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 informationMiguel 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 informationManaging Software Projects Like a Boss with Subversion and Trac
Managing Software Projects Like a Boss with Subversion and Trac Beau Adkins CEO, Light Point Security lightpointsecurity.com beau.adkins@lightpointsecurity.com 2 Introduction... 4 Setting Up Your Server...
More informationVersion 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 informationCOSC345 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 informationLATEX Document Management with Subversion
The PracTEX Journal, 2007, No. 3 Article revision 2007/08/17 LATEX Document Management with Subversion Uwe Ziegenhagen Email Website Address Abstract latex@ziegenhagen.info http://www.uweziegenhagen.de
More informationVersion 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 informationIntegrated 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 informationusing 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 informationMaven or how to automate java builds, tests and version management with open source tools
Maven or how to automate java builds, tests and version management with open source tools Erik Putrycz Software Engineer, Apption Software erik.putrycz@gmail.com Outlook What is Maven Maven Concepts and
More informationDistributed 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 informationChapter 13 Configuration Management
Chapter 13 Configuration Management Using UML, Patterns, and Java Object-Oriented Software Engineering Outline of the Lecture Purpose of Software Configuration Management (SCM)! Motivation: Why software
More informationSoftware Configuration Management AE6382
Software Configuration Management Software Configuration Management What is it? Software Configuration Management is the process of tracking changes to software. Why use it? Maintain multiple branches
More informationIntroduction 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 informationUsing SVN to Manage Source RTL
Using SVN to Manage Source RTL CS250 Tutorial 1 (Version 092509a) September 25, 2009 Yunsup Lee In this tutorial you will gain experience using the Subversion (SVN) to manage your source RTL and code.
More informationTIME. Programming in the large. Lecture 22: Configuration Management. Agenda for today. About your Future. CM: The short version. CM: The long version
1 2 Last update: 17 June 2004 Programming in the large Bertrand Meyer Lecture 22: Configuration Management Bernd Schoeller bernd.schoeller@inf.ethz.ch Agenda for today 3 About your Future 4 Motivation
More informationUNIVERSITY 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 informationUsing 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 informationVersion 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 informationVersion 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<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 informationVersion 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 informationLab 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 informationBlueJ 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 informationSoftware Development and Collaboration: Version Control Systems and Other Approaches
Software Development and Collaboration: Version Control Systems and Other Approaches Jose Antonio Escobar García Technische Universität Berlin csgermanico@gmail.com May, 2011 Abstract In the current context
More informationINF 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 informationIntroduction 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 informationManual. 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 informationMiguel 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 informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency
More informationIntroduction 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 informationTechnical Writing - Advantages of Version Control Systems
Fachpraktikum Grafik-Programmierung WS2010 Introduction to Version Control Alexandros Panagiotidis, Daniel Kauker Institut für Visualisierung und Interaktive Systeme Universität Stuttgart Advantages of
More informationSoftware Configuration Management
Reto Bonderer reto.bonderer@fh-htwchur.ch University of Applied Sciences Chur V 1.01 2002, R. Bonderer 1 Learning Goals The participant knows why configuration management is important knows what version,
More informationTeam Collaboration, Version Management, Audit Trails
Team Collaboration, Version Management, Audit Trails Best Practices for Successful Project Delivery with VoiceObjects May 2008 www.voiceobjects.com 2 Team Collaboration, Version Management, Audit Trails
More informationVersion 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 informationSoftware Version Control With Mercurial and Tortoise Hg
Software Version Control With Mercurial and Tortoise Hg Mark Ciechanowski, P.E., CSDP IEEE Embedded Systems Workshop Oakland University October 19, 2013 Abstract Mercurial and GIT are modern, open source,
More informationIntroduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University
Introduction to Software Configuration Management CprE 556 Electrical and Computer Engineering Department Iowa State University 1 Example Initially, implementation is in Modula-2 on a Mac. A11 B11 A12
More informationVersion 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 informationIBM Rational ClearCase, Version 8.0
IBM Rational ClearCase, Version 8.0 Improve software and systems delivery with automated software configuration management solutions Highlights Improve software delivery and software development life cycle
More informationSOE. managing change in system development projects: configuration management
SOE managing change in system development projects: configuration management 2 3 understanding the problem of change change is one of the most fundamental characteristics in any software development process
More informationCS108, 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 informationEAE-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 informationVersion 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 informationVersion Control with Subversion
Version Control with Subversion http://www.oit.duke.edu/scsc/ http://wiki.duke.edu/display/scsc scsc@duke.edu John Pormann, Ph.D. jbp1@duke.edu Software Carpentry Courseware This is a re-work from the
More informationSoftware Configuration Management. Visiting Lecture Tero Kojo
Software Configuration Management Visiting Lecture Tero 1 About the lecturer Lectured Software Configuration Management for three years at TKK T-76.614 SCM Also a year as the course assistant Practical
More informationSoftware Configuration Management. http:\\www.francisxavier.ac.in
Software Configuration Management Outline Introduction what is SCM, who are involved, why it is imp? what are the steps? Basic Concepts of SCM Configuration Management Activities Configuration Management
More informationSource 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 informationBuild management & Continuous integration. with Maven & Hudson
Build management & Continuous integration with Maven & Hudson About me Tim te Beek tim.te.beek@nbic.nl Computer science student Bioinformatics Research Support Overview Build automation with Maven Repository
More informationBeginning 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 informationSource 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 informationUsing 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 informationSoftware configuration Management as a Software Engineering Discipline
Software configuration Management as a Software Engineering Discipline Lorenco Damjanic Ericsson Nikola Tesla Zagreb Contents Product structures Software Engineering Software Configuration Management Software
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer
About the Tutorial Apache Subversion which is often abbreviated as SVN, is a software versioning and revision control system distributed under an open source license. Subversion was created by CollabNet
More informationSubversion. Nadir SOUALEM. Linux Users subversion client svn 1.6.5 or higher. Windows users subversion client Tortoise 1.6.
Subversion Nadir SOUALEM 1 Requirements Linux Users subversion client svn 1.6.5 or higher Windows users subversion client Tortoise 1.6.6 or higher 2 What is Subversion? Source control or version control
More informationCVS 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 informationMercurial. Why version control (Single users)
Mercurial Author: Hans Fangohr Date: 2008-05-21 Version: 033c85b22987 Id: talk.txt,v 033c85b22987 2008/05/21 08:42:42 fangohr Series: SESA2006 2008, last lecture Hint Adjust font-size
More informationSoftware Development. Overview. www.intland.com
Agile, Waterfall & Hybrid Method Support SAFe Template Git, SVN, Mercurial Integration Release Management DevOps Baselining (Versioning) Integration to Requirements and QA & Testing Overview codebeamer
More informationCS 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 informationAn Introduction to Mercurial Version Control Software
An Introduction to Mercurial Version Control Software CS595, IIT [Doc Updated by H. Zhang] Oct, 2010 Satish Balay balay@mcs.anl.gov Outline Why use version control? Simple example of revisioning Mercurial
More informationXcode 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 informationWeek 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 informationSoftware Configuration Management Plan
Bachelor Technische Informatica Kroket Kroket Software Configuration Management Plan Project Manager: Sebastiaan Candel Authors: Peter van Heck (0649886) Peter Koymans (0748876) Kay Lukas (0758084) Astrid
More information