Revision Control OSS Survey
|
|
- Dinah Wiggins
- 6 years ago
- Views:
Transcription
1 POLITECNICO DI TORINO Revision Control OSS Survey Group: Zhang Linchao Tang Xinhua Huang Jie Guo Xiaolu July 2011
2 Introduction Common Vocabulary A Visual Example Centralized Model Distributed Model Best Practices
3 Introduction Freedom! Richard Stallman, founded the Free Software Movement (FSF), in October 1985,he developed a free software definition and the concept of "copyleft", designed to ensure software freedom for all.
4 History Before 1983: Complex period from free software to non-free software, from Bill Gates 1976,what hackers called "sharing" was, in his words, "stealing". --> GNU and FSF's early years :In 1983, Richard Stallman launched the GNU Project to write a complete operating system free from constraints on use of its source code fight for freedom!
5 Linux (1991 ) :The Linux kernel, started by Linus Torvalds, was released as freely modifiable source code in 1991, The combination of the almost-finished GNU operating system and the Linux kernel made the first complete freesoftware operating system. GNU/Linux The free BSDs (1993 ) :When the USL v. BSDi lawsuit was settled out of court in1993, FreeBSD and NetBSD (both derived from 386BSD) were released as free software.
6 The dot-com years (late 1990s):In the mid to late 90s, when many website-based companies were starting up, free software became a popular choice for web servers The launch of Open Source :The Open Source Initiative was founded in February 1998 to encourage use of the new term and evangelize open-source principles Desktop: KDE was founded in 1996 by Matthias Ettrich. At the time, he was troubled by the inconsistencies in UNIX applications. He proposed a new desktop environment
7 Today s topic : version problems
8 Version Problem Software development involves lots of collaborations between the software engineers, resulting hundreds and thousands of swapping files. Resource development is usually carried out by teams, either co-located or distributed. Even for a individual project, as the project proceeds, it can generate lots of source versions. Users may wish to compare today's version of some software with yesterday's version or last year's version.
9 Version Problem A typical share point comic:
10 Revision Control Revision control, also known as version control, is a combination of technologies and practices for tracking and controlling changes to a project's files, in particular to source code, documentation, and web pages. Every change made to the source is tracked, along with who made the change, why they made it and references to problems fixed, or enhancements introduced, by the change.
11 Revision Control Backup and Restore. Files are saved as they are edited, and you can jump to any moment in time. Need that file as it was on Feb 23, 2007? No problem. Synchronization. Lets people share files and stay up-to-date with the latest version. Short-term undo. Monkeying with a file and messed it up? (That s just like you, isn t it?). Throw away your changes and go back to the last known good version in the database. Long-term undo. Sometimes we mess up bad. Suppose you made a change a year ago, and it had a bug. Jump back to the old version, and see what change was made that day. Track Changes. As files are updated, you can leave messages explaining why the change happened (stored in the VCS, not the file). This makes it easy to see how a file is evolving over time, and why. Track Ownership. A VCS tags every change with the name of the person who made it. Helpful for blamestorming giving credit. Sandboxing, or insurance against yourself. Making a big change? You can make temporary changes in an isolated area, test and work out the kinks before checking in your changes. Branching and merging. A larger sandbox. You can branch a copy of your code into a separate area and modify it in isolation (tracking changes separately). Later, you can merge your work back into the common area.
12 Revision control in various aspects Revision control in Book Inventory
13 Revision control in various aspects Applicant in the working under Microsoft Operating Systems
14 Common Vacabulary Terminology can vary in different version control systems, but some terms in common usage include: Commit: To make a change to the project Log message: A bit of commentary attached to each commit, describing the nature and purpose of the commit Update: To ask that others' changes (commits) be incorporated into your local copy of the project; that is, to bring your copy "up-to-date". Repository: A database in which changes are stored. Some version control systems are centralized: there is a single, master repository, which stores all changes to the project. Others are decentralized: each developer has his own repository, and changes can be swapped back and forth between repositories arbitrarily. Checkout: The process of obtaining a copy of the project from a repository. Working copy: A developer's private directory tree containing the project's source code files, and possibly its web pages or other documents.
15 Common Vacabulary Revision/Change: one specific incarnation of a particular file or directory Diff: A textual representation of a change. A diff shows which lines were changed and how, plus a few lines of surrounding context on either side. Tag: A label for a particular collection of files at specified revisions. Branch: A copy of the project, under version control but isolated, so that changes made to the branch don't affect the rest of the project, and vice versa, except when changes are deliberately "merged" from one side to the other Merge: To move a change from one branch to another. This includes merging from the main trunk to some other branch, or vice versa. Conflict: What happens when two people try to make different changes to the same place in the code. Lock: A way to declare an exclusive intent to change a particular file or directory.
16 Visual Example Checkins: checking in a file (list.txt) and modifying it over time. Each time we check in a new version, we get a new revision (r1, r2, r3, etc.).
17 Visual Example Checkouts and Editing: In reality, you might not keep checking in a file. You may have to check out, edit and check in. If you don t like your changes and want to start over, you can revert to the previous version and start again (or stop). When checking out, you get the latest revision by default. The cycle looks as follows:
18 Visual Example Diffs: The trunk has a history of changes as a file evolves. Diffs are the changes you made while editing: imagine you can peel them off and apply them to a file. For example, to go from r1 to r2, we add eggs (+Eggs). Imagine peeling off that red sticker and placing it on r1, to get r2. And to get from r2 to r3, we add Juice (+Juice). To get from r3 to r4, we remove Juice and add Soup (- Juice, +Soup). Most version control systems store diffs rather than full copies of the file.
19 Visual Example Branches: let us copy code into a separate folder so we can monkey with it separately. For example, we can create a branch for new, experimental ideas for our list: crazy things like Rice or Eggo waffles. Depending on the version control system, creating a branch (copy) may change the revision number.
20 Visual Example Merging
21 Visual Example Conflicts: Many times, the VCS can automatically merge changes to different parts of a file.conflicts can arise when changes appear that don t gel: Joe wants to remove eggs and replace it with cheese (-eggs, +cheese), and Sue wants to replace eggs with a hot dog (-eggs, +hot dog).
22 Visual Example Tagging: Who would have thought a version control system would be Web 2.0 compliant? Many systems let you tag (label) any revision for easy reference. This way you can refer to Release 1.0 instead of a particular build number:
23 Revision Control Software There are a lot of notable software for revision control: According to control model, they can be categorized as: Local only Client/Server Model Distributed Model According to the charging property Free/Open Source Proprietary As the course concerns, we will just focus on the free revision control software. Actually, the most popular and valuable revision control software are mostly free and open source.
24 Historical local only Initially, revision control software is firstly developed for an individual project, where developer(s) must use the same computer. These software often manage single files individually and are largely replaced or embedded within new software. Free local only software Revision Control System (RCS, 1982): stores the latest version and backward deltas for fastest access to the trunk tip compared to SCCS and an improved user interface, at the cost of slow branch tip access and missing support for included/excluded deltas. Source Code Control System (SCCS, 1972): part of UNIX; based on interleaved deltas, can construct versions as arbitrary sets of revisions. Extracting an arbitrary version takes essentially the same speed and is thus more useful in environments that rely heavily on branching and merging with multiple "current" and identical versions.
25 Client/Server Model Traditional revision control systems use a centralized model where all the revision control functions take place on a shared server. Free CVS (1986) CVSNT (1998) Subversion (2004) Proprietary Perforce (1995) StarTeam (1995) Vault (2003)
26 Concurrent Versions Systems (CVS) CVS is the grandfather of revision control systems. It was first released in It is the de facto standard and is installed virtually everywhere. The learning curve isn t too steep for CVS, and it s a very simple system for making sure files and revisions are kept up to date. While CVS may be an older technology, it s still quite useful for any designer or developer for backing up and sharing files. Tortoise CVS is a great client for CVS on Windows, and there are many different IDEs, such as Xcode(Mac), Eclipse, NetBeans and Emacs, that use CVS. Originally built on RCS, licensed under the GPL. CVSNT: cross-platform port of CVS that allows case insensitive file names among other changes OpenCVS: CVS clone under the BSD license, with emphasis put on security and source code correctness
27 Concurrent Versions Systems (CVS)
28 Subversion (SVN) SVN is a free software founded and sponsored in 2000 by CollabNet Inc. Its goal is to be a mostly-compatible successor to the widely used CVS. Subversion is currently the version control system with the widest adoption. Most open-source projects use Subversion as a repository because other larger projects, such as SourceForge, Apache, Python, Ruby and many others, use it as well. Google Code uses Subversion exclusively to distribute code. Subversion uses the Apache License, making it free software and open source.
29 Subversion (SVN) Features Commits as true atomic operations Renamed/copied/moved/removed files retain full revision history. The system maintains versioning for directories, renames, and file metadata (but not for timestamps). Versioning of symbolic links. Native support for binary files, with space-efficient binary-diff storage. Apache HTTP Server as network server, WebDAV/Delta-V for protocol Branching as a cheap operation, independent of file size Costs proportional to change size, not to data size. Internationalized program messages. Path-based authorization. Language bindings for C#, PHP, Python, Perl, Ruby, and Java. Full MIME support - users can view or change the MIME type of each file
30 Distributed Model Distributed revision control (DRCS) takes a peer-to-peer approach, as opposed to the client-server approach of centralized systems. Rather than a single, central repository on which clients synchronize, each peer's working copy of the codebase is a bona-fide repository. Free Monotone (2003) Git (2005) Mercurial (2005) Bazaar (2005) Proprietary BitKeeper (1998) Plastic SCM (2006)
31 Distributed vs. Client/Server Compared with Client/Server model, distributed revision control software has the following features: No canonical, reference copy of the codebase exists by default; only working copies. Common operations (such as commits, viewing history, and reverting changes) are fast, because there is no need to communicate with a central server. Rather, communication is only necessary when pushing or pulling changes to or from other peers. Each working copy effectively functions as a remote backup of the codebase and of its change-history, providing natural protection against data loss.
32 Distributed vs. Client/Server Advantages of Distributed Model: Allows users to work productively even when not connected to a network Makes most operations much faster since no network is involved Allows participation in projects without requiring permissions from project authorities, and thus arguably better fosters culture ofmeritocracy[citation needed] instead of requiring "committer" status Allows private work, so users can use their revision control system even for early drafts they do not want to publish Avoids relying on a single physical machine as a single point of failure. Still permits centralized control of the "release version" of the project For FLOSS software projects, it becomes much easier to create a project fork from a project that is stalled because of leadership conflicts or design disagreements. Disadvantage: initial cloning of a repository is slower compared to centralized checkout, because all branches and revision history are copied.
33 Distributed vs. Client/Server Advantages of Distributed Model: Allows users to work productively even when not connected to a network Makes most operations much faster since no network is involved Allows participation in projects without requiring permissions from project authorities, and thus arguably better fosters culture ofmeritocracy[citation needed] instead of requiring "committer" status Allows private work, so users can use their revision control system even for early drafts they do not want to publish Avoids relying on a single physical machine as a single point of failure. Still permits centralized control of the "release version" of the project For FLOSS software projects, it becomes much easier to create a project fork from a project that is stalled because of leadership conflicts or design disagreements. Disadvantage: initial cloning of a repository is slower compared to centralized checkout, because all branches and revision history are copied.
34 Git Git is the new fast-rising version control systems based on distributed model. Initially developed by Linux kernel creator Linus Torvalds, Git has recently taken the Web development community by storm. Git prides itself on being a fast and efficient system, and many major open-source projects use Git to power their repositories; projects like: Linux Kernel, WINE, Fedora, and many others.
35 Git GitHub has recently helped establish Git as a great version control system, providing a beautiful front end for many large projects, such as Rails and Prototype. However, Git isn t as easy to pick up as CVS or SVN, so it s much harder to use for a beginner.
36 Mercurial Mercurial is another open-source distributed version control system, like Git. Mercurial was designed for larger projects, most likely outside the scope of designers and independent Web developers. That doesn t mean that small development teams can t or shouldn t use it. Mercurial is extremely fast, and the creators built the software with performance as the most important feature. The name mercurial is an adjective that means Relating to or having characteristics (eloquence, swiftness, cleverness) attributed to the god Mercury. Aside from being very fast and scalable, Mercurial is a much simpler system than Git, which is why it appeals to some developers. There aren t as many functions to learn, and the functions are similar to those in other CVS systems. It also comes equipped with a stand-alone Web interface and extensive documentation on understanding Mercurial if you have been using another system.
37 Mercurial Bazaar is yet another distributed version control system, like Mercurial and Git, that offers a very friendly user experience. It calls itself Version control for human beings. It supports many different types ofworkflows, from solo to centralized to decentralized, with many variations in between. Bazaar also has a strong community that maintains things like plug-ins and lots of third-party tools, such as GUI software to add a graphical interface to the system. One of the main features of Bazaar is the fine-grained control you ll have over the setup. As shown with the workflows, you can use it to fit almost any scenario of users and setups. This is a great revision control system for nearly any project because it s so easy to modify. It s also embeddable, so you can add it to existing projects.
38 Current State Figure.1 Top Ten Version Control Systems in 2008 Figure.2 Eclipse Community Survey 2011 on Version Control Systems
39 Best Practices Coordinate all Designer upgrades with your entire team When you upgrade to a new version of Designer, many of the files in your project are changed by the project converter, so you need to coordinate with the rest of your team. In the ideal upgrade process, everyone checks in all of their changes, one team member runs the project converter and checks in the converted project, then everyone installs the new version of Designer and reimports the project. Coordinate deployment When you are using version control and the same edirectory server with multiple people, it is possible to overwrite changes. You should coordinate deployment with your team members to make sure that you do not overwrite other team members changes. Best practice is to assign one person to deploy a project to a production environment.
40 Best Practices Assign policies Assign one team member to a policy rather than having multiple team members work on one policy. Multiple team members writing and modifying shared policies in a driver is a recipe for disaster. Define an acceptable modeler layout for the team Personal Modeler layouts in a team environment are only maintained if there is a version control conflict on the Modeler layout between your Modeler view layout and another s Modeler view layout. If there is no conflict and you perform an Update from the version control server, you get the last Modeler layout that was checked into version control. Choose a Modeler layout that the team can live with and leave it alone.
41 Reference 7 Version Control Systems Reviewed, Glen Stansberry, September 18th, Version-Control-Systems.aspx Eclipse Community Survey 2011 Results bestpractice.html Producing Open Source Software, Karl Fogel, Chapter 3, 2010
Version control. Michael Tsai 2012/4/10
Version control Michael Tsai 2012/4/10 2 Reference http://betterexplained.com/articles/a-visualguide-to-version-control/ http://www.ericsink.com/scm/source_control.ht ml http://betterexplained.com/articles/intro-todistributed-version-control-illustrated/
More information2/9/2013 LAB OUTLINE INTRODUCTION TO VCS WHY VERSION CONTROL SYSTEM(VCS)? II SENG 371 SOFTWARE EVOLUTION VERSION CONTROL SYSTEMS
SENG 371 SOFTWARE EVOLUTION LAB OUTLINE Introduction to Version Control Systems VERSION CONTROL SYSTEMS Subversion Git and Github 1 Prepared by Pratik Jain 2 INTRODUCTION TO VCS A version control system
More informationI m an egotistical bastard, and I name all my projects after myself. First Linux, now git. Linus Torvalds, creator of Linux and Git
I m an egotistical bastard, and I name all my projects after myself. First Linux, now git. Linus Torvalds, creator of Linux and Git Git Benedict R. Gaster University of West of England November 23, 2015
More informationA Practical Introduction to Version Control Systems
A Practical Introduction to Version Control Systems A random CAKES(less) talk on a topic I hope others find useful! a.brampton@lancs.ac.uk 4th February 2009 Outline 1 What is Version Control Basic Principles
More informationLaboratorio di Programmazione. Prof. Marco Bertini
Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Code versioning: techniques and tools Software versions All software has multiple versions: Each
More informationWhat is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)
1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?
More informationVersion Control. So#ware Quality Quality Audit and Cer2fica2on. Master in Computer Engineering. Roberto García
Version Control So#ware Quality Quality Audit and Cer2fica2on Master in Computer Engineering Roberto García (rgarcia@diei.udl.cat) Introduc2on Change- control procedures. Avoid uncontrolled changes, destabilize
More informationCPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management
CPSC 491 Lecture 19 & 20: Source Code Version Control VCS = Version Control Software SCM = Source Code Management Exercise: Source Code (Version) Control 1. Pretend like you don t have a version control
More information12/7/09. How is a programming language processed? Picasso Design. Collaborating with Subversion Discussion of Preparation Analyses.
Picasso Design Finish parsing commands Collaborating with Subversion Discussion of Preparation Analyses How is a programming language processed? What are the different phases? Start up Eclipse User s Input
More informationVersion Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018
Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 17, 2018 1 But first, Screen Readers The software you
More informationProject Management. Overview
Project Management Overview How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 1 What is Project Management? Effective
More informationA quick (and maybe practical) guide to Git and version control. By Jay Johnson
A quick (and maybe practical) guide to Git and version control By Jay Johnson Necessary shout outs and reference links from slides from CSE 380 with Dr. Chris Simmons (UT-Austin) and notes from Prof. Jean-Luc
More information2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM)
Overview Project Management How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 What is Project Management? Effective
More informationVersion Control Systems
Nothing to see here. Everything is under control! September 16, 2015 Change tracking File moving Teamwork Undo! Undo! UNDO!!! What strategies do you use for tracking changes to files? Change tracking File
More informationPush up your code next generation version control with (E)Git
Push up your code next generation version control with (E)Git Dominik Schadow Senior Consultant Application Development dominik.schadow@trivadis.com Java Forum Stuttgart, 07.07.2011 Basel Bern Lausanne
More informationIngegneria del Software Corso di Laurea in Informatica per il Management (D)VCS. Davide Rossi Dipartimento di Informatica Università di Bologna
Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS Davide Rossi Dipartimento di Informatica Università di Bologna Rationale for version control Control the revisions of artifacts
More informationProgramming with Haiku
Programming with Haiku Lesson 4 Written by DarkWyrm All material 2010 DarkWyrm Source Control: What is It? In my early days as a developer on the Haiku project I had troubles on occasion because I had
More informationDepartment of Computer Science College of Engineering Boise State University
Department of Computer Science College of Engineering Boise State University 1/18 Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control
More informationGIT TUTORIAL. Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson
GIT TUTORIAL Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson SCM SOFTWARE CONFIGURATION MANAGEMENT SOURCE CODE MANAGEMENT Generic term for the ability to manage multiple
More informationINET
INET Framework@GitHub Proposal: How to Collaborate on Model Development Andras Varga, Rudolf Hornig INET: Current Stand Several branches in private repositories i Several extensions various web sites Patches,
More informationVersion Control for Fun and Profit
Version Control for Fun and Profit Chris Brady Heather Ratcliffe The Angry Penguin, used under creative commons licence from Swantje Hess and Jannis Pohlmann. Warwick RSE 30/11/2017 Version control 30/11/2017
More informationTopics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2
Git Git 1 Topics covered Introduction to Git Git workflows Git key concepts Hands on session Branching models Git 2 Introduction to Git Git 3 Version control systems The source files of a project changes
More information[Software Development] Development Tools. Davide Balzarotti. Eurecom Sophia Antipolis, France
[Software Development] Development Tools Davide Balzarotti Eurecom Sophia Antipolis, France Version Control Version (revision) control is the process of tracking and recording changes to files Most commonly
More informationVersion Control: Gitting Started
ting Started Cai Li October 2014 What is Version Control? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Local Version
More informationSource Code Control & Bug Tracking
http://home.hit.no/~hansha/?page=software_development O. Widder. (2013). geek&poke. Available: http://geek-and-poke.com Source Code Control & Bug Tracking Hans-Petter Halvorsen O. Widder. (2013). geek&poke.
More informationRevision control. INF5750/ Lecture 2 (Part I)
Revision control INF5750/9750 - Lecture 2 (Part I) Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same
More informationDecentralized Version Control Systems
Decentralized Version Control Systems Matthieu Moy Verimag 2007 Matthieu Moy (Verimag) DVC 2007 < 1 / 43 > Outline 1 Motivations, Prehistory 2 History and Categories of Version Control Systems 3 Version
More informationCSE 390 Lecture 9. Version control and Subversion (svn)
CSE 390 Lecture 9 Version control and Subversion (svn) slides created by Marty Stepp, modified by Jessica Miller and Ruth Anderson http://www.cs.washington.edu/390a/ 1 Working Alone Ever done one of the
More informationVersioning Systems. Tolu Oguntusin(too06u) 12th November, University of Nottingham
Introduction to in Software Quality. (too06u) University of Nottingham 12th November, 2008 Outline Introduction to in Software Quality. 1 Introduction to What are? How do they work? How are files stored?
More informationCSC 2700: Scientific Computing
CSC 2700: Scientific Computing Record and share your work: revision control systems Dr Frank Löffler Center for Computation and Technology Louisiana State University, Baton Rouge, LA Feb 13 2014 Overview
More informationSource Control. Comp-206 : Introduction to Software Systems Lecture 21. Alexandre Denault Computer Science McGill University Fall 2006
Source Control Comp-206 : Introduction to Software Systems Lecture 21 Alexandre Denault Computer Science McGill University Fall 2006 Source Revision / Control Source Control is about the management of
More informationUSPAS Simulation of Beam and Plasma Systems Steven M. Lund, Jean-Luc Vay, Remi Lehe, Daniel Winklehner and David L. Bruhwiler Lecture: Software Version Control Instructor: David L. Bruhwiler Contributors:
More informationVersion (Source Code) Control SWEN-250
Version (Source Code) Control SWEN-250 Overview Motivation why is version control useful? Key concepts Variations on the basic theme Example version control systems 1/10/2019 (c) 2013 RIT Dept. of Software
More informationFundamentals of Git 1
Fundamentals of Git 1 Outline History of Git Distributed V.S Centralized Version Control Getting started Branching and Merging Working with remote Summary 2 A Brief History of Git Linus uses BitKeeper
More informationGit AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.
Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I
More informationVersion Control Systems (Part 1)
i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Version
More informationCSE 391 Lecture 9. Version control with Git
CSE 391 Lecture 9 Version control with Git slides created by Ruth Anderson & Marty Stepp, images from http://git-scm.com/book/en/ http://www.cs.washington.edu/391/ 1 Problems Working Alone Ever done one
More informationIntroduction to Revision Control
Introduction to Revision Control Henrik Thostrup Jensen September 19 th 2007 Last updated: September 19, 2007 1 Todays Agenda Revision Control Why is it good for? What is it? Exercises I will show the
More informationTCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE
TCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE Scrum Software Process, Version Control, Git/Github Github, Postman Wes J. Lloyd Institute of Technology University of Washington - Tacoma OBJECTIVES
More informationCOSC345 Software Engineering. Version Control
COSC345 Software Engineering Version Control Some Problems Communications File system problems Version control Basic principles and use Outline When to use version control Examples SCCS RCS Subversion
More informationUsing Git For Development. Shantanu Pavgi, UAB IT Research Computing
Using Git For Development Shantanu Pavgi, pavgi@uab.edu UAB IT Research Computing Outline Version control system Git Branching and Merging Workflows Advantages Version Control System (VCS) Recording changes
More informationRevision control systems (RCS) and. Subversion
Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer
More informationM E R C U R I A L (The Source Control Management)
M E R C U R I A L (The Source Control Management) Jamshaid Iqbal Janjua, Shahid Awan jamshaid.janjua@kics.edu.pk shahidawan@kics.edu.pk Al-Khawarizmi Institute of Computer Science University of Engineering
More informationComparison of Software Configuration Management Tools
e-issn 2455 1392 Volume 2 Issue 9, September 2016 pp. 40 46 Scientific Journal Impact Factor : 3.468 http://www.ijcter.com Comparison of Software Configuration Management Tools Aishwarya Nair 1, Meenakshi
More informationYou Can t Move Forward Unless You Can Roll Back. By: Michael Black
You Can t Move Forward Unless You Can Roll Back By: Michael Black The VP of Sales walks in and tells you that your largest and oldest client wants to pay for a custom modification. But here s the clincher,
More informationTechnology Background Development environment, Skeleton and Libraries
Technology Background Development environment, Skeleton and Libraries Christian Kroiß (based on slides by Dr. Andreas Schroeder) 18.04.2013 Christian Kroiß Outline Lecture 1 I. Eclipse II. Redmine, Jenkins,
More informationChapter 3. Revision Control
Chapter 3 Revision Control We begin our journey into software engineering before we write a single line of code. Revision control systems (RCSes) such as Subversion or CVS are astoundingly useful for single-developer
More informationGetting started with GitHub
Getting started with GitHub A beginner s guide. (There s no code in this slide deck!) Presented by Quinn Supplee https://github.com/quinns What is GitHub? GitHub is a code hosting platform for version
More informationIntroduction to Version Control
Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria 21-Nov-2013 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline General
More informationGit AN INTRODUCTION. Introduction to Git as a version control system: concepts, main features and practical aspects.
Git AN INTRODUCTION Introduction to Git as a version control system: concepts, main features and practical aspects. How do you share and save data? I m working solo and I only have one computer What I
More informationVersion Control Systems: Overview
i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Version
More informationWhat is Subversion and what does it do?
What is Subversion and what does it do? A version control system Manages files and directories and any changes made to those files and directories Can be used across networks to promote remote collaboration
More informationCONFIGURATION MANAGEMENT PLAN FİZAN MACROHARD
CONFIGURATION MANAGEMENT PLAN FİZAN MACROHARD INDEX 2 1 INTRODUCTION.. 3 1.1 PURPOSE OF CONFIGURATION MANAGEMENT REPORT. 3 1.2 SCOPE OF CONFIGURATION MANAGEMENT PLAN 3 1.3 ACRONYMS... 4 2 CONFIGURATION
More informationTDDC88 Lab 4 Software Configuration Management
TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists
More informationAgenda. What is Replication?
!"#$%% "#&'( Agenda What is Replication? Why Replicate? Approaches to Replication Master/Slave Disconnected Repositories (Git / Bitkeeper / Mercurial / Bazaar) Active/Active Master/Slave vs Active/Active
More informationVersion Control Systems
Version Control Systems Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 12 B3B36PRG C Programming Language Jan Faigl, 2017 B3B36PRG
More informationPart I Part 1 Version Control Systems (VCSs)
Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 09 BE5B99CPL C Programming Language Part 1 Introduction and
More informationRevision Control. An Introduction Using Git 1/15
Revision Control An Introduction Using Git 1/15 Overview 1. What is revision control? 2. 30,000 foot view 3. Software - git and gitk 4. Setting up your own repository on onyx 2/15 What is version control?
More informationTechnology Background Development environment, Skeleton and Libraries
Technology Background Development environment, Skeleton and Libraries Slides by Prof. Dr. Matthias Hölzl (based on material from Dr. Andreas Schröder) Outline Lecture 1 I. Eclipse II. Git Lecture 2 IV.
More informationPart I Part 1 Version Control Systems (VCSs)
Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 12 B3B36PRG C Programming Language Part 1 Introduction and
More informationCSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019
CSCI 2132: Software Development Subversion (and Git) Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Version Control Systems A version control system allows us to Record the history
More informationVersion control CSE 403
Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,
More informationPart I Part 1 Version Control Systems (VCSs)
Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 14 B0B36PRP Procedurální programování Part 1 Introduction
More informationTask-Oriented Solutions to Over 175 Common Problems. Covers. Eclipse 3.0. Eclipse CookbookTM. Steve Holzner
Task-Oriented Solutions to Over 175 Common Problems Covers Eclipse 3.0 Eclipse CookbookTM Steve Holzner Chapter CHAPTER 6 6 Using Eclipse in Teams 6.0 Introduction Professional developers frequently work
More informationManage quality processes with Bugzilla
Manage quality processes with Bugzilla Birth Certificate of a Bug: Bugzilla in a Nutshell An open-source bugtracker and testing tool initially developed by Mozilla. Initially released by Netscape in 1998.
More informationSoftware Architecture
Chair of Software Engineering Software Architecture Bertrand Meyer, Carlo A. Furia, Martin Nordio ETH Zurich, February-May 2011 Lecture 9: Configuration management About your future You will never work
More informationVersion Control Systems
Version Control Systems Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 09 BE5B99CPL C Programming Language Jan Faigl, 2016 BE5B99CPL
More informationVersion control CSE 403
Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,
More informationVersion Control. 1 Version Control Systems. Ken Bloom. Linux User Group of Davis March 1, 2005
Version Control Ken Bloom Linux User Group of Davis March 1, 2005 You ve probably heard of version control systems like CVS being used to develop software. Real briefly, a version control system is generally
More informationRecap: Developer's Environment
Recap: Developer's Environment There's no audio yet. We'll start at 2PM (Eastern Time). Standardizing Your Test Environment VirtualBox -> machine inside a machine the oracle thing Chef -> configuration
More informationPart I Part 1 Version Control Systems (VCSs)
Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 14 B0B36PRP Procedurální programování Part 1 Introduction
More informationPart I Part 1 Version Control Systems (VCSs)
Overview of the Lecture Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague Lecture 14 B0B36PRP Procedurální programování Part 1 Introduction
More informationVersion Control with Git ME 461 Fall 2018
Version Control with Git ME 461 Fall 2018 0. Contents Introduction Definitions Repository Remote Repository Local Repository Clone Commit Branch Pushing Pulling Create a Repository Clone a Repository Commit
More informationVSO. Configuration Management
VSO Configuration Management Timo Wolf Copyright 2005 Bernd Brügge & Timo Wolf VSO General Meeting, 3.Nov 2005 1 Outline Mapping the IEEE Standard to Subversion (SVN) Introduction to Subversion Subversion
More informationFreeBSD and Git. Ed Maste - FreeBSD Vendor Summit 2018
FreeBSD and Git Ed Maste - FreeBSD Vendor Summit 2018 Purpose History and Context - ensure we re starting from the same reference Identify next steps for more effective use / integration with Git / GitHub
More informationGit for Version Control
Git for Version Control These slides are heavily based on slides created by Ruth Anderson for CSE 390a. Thanks, Ruth! images taken from http://git-scm.com/book/en/ http://www.cs.washington.edu/403/ About
More informationDistributed Version Control
Distributed Version Control David Grellscheid 2014-03-17 Workshop on Advanced Techniques for Scientific Programming and Management of Open Source Software Packages 10 21 March 2014 Version management In
More informationGIT VERSION CONTROL TUTORIAL. William Wu 2014 October 7
GIT VERSION CONTROL TUTORIAL William Wu w@qed.ai 2014 October 7 ABOUT ME Scientific Computing Specialist background: math, cs, ee interests: machine learning, DSP, imaging, data viz, cloud work: various
More informationSource Code Control. Quiz with Explainations. Hans-Petter Halvorsen, M.Sc.
Source Code Control Quiz with Explainations Hans-Petter Halvorsen, M.Sc. Questions 1. What is SCC? 2. List at least 5 different SSC Systems 3. Why do we need a SCC/Version Control System? 4. What is Distributed
More informationVersion Control. Kyungbaek Kim. Chonnam National University School of Electronics and Computer Engineering. Original slides from James Brucker
Version Control Chonnam National University School of Electronics and Computer Engineering Kyungbaek Kim Original slides from James Brucker What is version control Manage documents over time Keep a history
More informationWelcome! Virtual tutorial will start at 15:00 GMT. Please leave feedback afterwards at:
Welcome! Virtual tutorial will start at 15:00 GMT Please leave feedback afterwards at: www.archer.ac.uk/training/feedback/online-course-feedback.php Introduction to Version Control (Part 2) ARCHER Virtual
More informationImproving Your Life With Git
Improving Your Life With Git Lizzie Lundgren elundgren@seas.harvard.edu Graduate Student Forum 26 April 2018 Scenarios to Avoid My code was deleted from 90-day retention! Crap, I can t remember what I
More informationGit and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48
Git and GitHub Dan Wysocki February 12, 2015 Dan Wysocki Git and GitHub February 12, 2015 1 / 48 1 Version Control 2 Git 3 GitHub 4 Walkthrough Dan Wysocki Git and GitHub February 12, 2015 2 / 48 Version
More informationFebruary 2 nd Jean Parpaillon
Using GIT with Kerrighed project Kerrighed Summit '07 February 2 nd 2007 Jean Parpaillon Table of contents Kerrighed SCM Subversion GIT GIT with Kerrighed References 2 Kerrighed
More informationCS108, Stanford Handout #37. Source Control CVS
CS108, Stanford Handout #37 Fall, 2008-09 Osvaldo Jiménez Source Control CVS Thanks to Nick Parlante for much of this handout Source Control Any modern software project of any size uses "source control"
More informationVersion Control Systems. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University
Version Control Systems Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn/review: Version control systems (VCSs), as mechanisms for Maintaining file versions Safely
More informationSource control with Subversion A user perspective
http://svnbook.red-bean.com/ Source control with Subversion A user perspective Aaron Ponti What is Subversion? } It is a free and open-source version control system } It manages files and directories,
More informationSubversion Repository Layout
Subversion Subversion Control manages documents over time keeps a history of all changes - multiple versions of every file coordinates work of multiple authors avoids conflicts...and helps to resolve them
More informationSoftware Tools Subversion
Software Tools Subversion Part II Lecture 4 1 Today s Outline Subversion (SVN) TortoiseSVN Client SVN Tips 2 Subversion (SVN) 3 Subversion (SVN) Centralized open-source VCS; started in 2000 Developed as
More informationGit: Distributed Version Control
Git: Distributed Version Control Computer Science and Engineering College of Engineering The Ohio State University Lecture 3 Demo Prep: Empty (but initialized) repo Linear development: Create, edit, rename,
More informationRevision Control II. - svn
Revision Control II. - svn Tomáš Kalibera, Peter Libič Department of Distributed and Dependable Systems http://d3s.mff.cuni.cz CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Subversion Whole
More informationWorking in Teams CS 520 Theory and Practice of Software Engineering Fall 2018
Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018 Version Control September 18, 2018 Thursday (September 20) First in-class exercise On using git (today is a prelude with useful
More informationVersion Control. CSC207 Fall 2014
Version Control CSC207 Fall 2014 Problem 1: 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 you can remember what changes
More informationTools for SW Projects
Tools for SW Projects Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar SAPM Spring 2012: Tools 1 Automating Drudgery Most of the techniques we ll talk about can benefit from
More informationIntroduction to Git and Github
Introduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017 What is git and GitHub? git is a version control system. Other version control systems
More informationLab session 1 Git & Github
Lab session 1 Git & Github Administration Course personnel: Lecturer - Refael Dakar, currentintec@gmail.com TA - Avi Hayoun, hayounav@cs.bgu.ac.il Office hours - Tuesdays, 14:00-16:00 @ 109/37 (might change)
More informationSOFTWARE CONFIGURATION MANAGEMENT
SOFTWARE CONFIGURATION MANAGEMENT Cape Town SPIN - Albert Visagie - 19 March 2008 Goals Where were we? And get back there reliably. Where are we? How did we get here? Which bugs were fixed in this version?
More informationSource Code Management
SCM Source Code Management Fabien Spindler http://www.irisa.fr/lagadic June 26, 2008 Overview 1. Application and interest 2. Centralized source code control Bases CVS Subversion (SVN) 3. Getting started
More informationSubversion. CS 490MT/5555, Fall 2015, Yongjie Zheng
Subversion CS 490MT/5555, Fall 2015, Yongjie Zheng About Subversion } Subversion } A free/open source version control system } A typical client-server model } Uses the copy-modify-merge strategy } History
More informationSoftware Project (Lecture 4): Git & Github
Software Project (Lecture 4): Git & Github Wouter Swierstra, Atze Dijkstra Feb 2016 Wouter Swierstra, Atze Dijkstra Software Project (Lecture 4): Git & Github Feb 2016 1 / 45 Wouter Swierstra, Atze Dijkstra
More information