Software Version Control With Mercurial and Tortoise Hg

Similar documents
Distributed Version Control with Mercurial and git

An Introduction to Mercurial Version Control Software

Theme 1 Software Processes. Software Configuration Management

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

Git Basics. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 22

Continuous Integration. CSC 440: Software Engineering Slide #1

Version Control Tools

Source Control Systems

Advanced Computing Tools for Applied Research Chapter 4. Version control

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

Version Control with Git

Introduction to Version Control

Version Control with Subversion

Version Control. Version Control

Revision control systems (RCS) and

Version Control with Git. Linux Users Group UT Arlington. Rohit Rawat

Version Control Systems

An Introduction to Mercurial Version Control Software

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University

Distributed Version Control

CS 2112 Lab: Version Control

Version Control! Scenarios, Working with Git!

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

Beginner s guide to continuous integration. Gilles QUERRET Riverside Software

Data management on HPC platforms

Comparison of Version Control Systems for Software Maintenance

Version Control with Mercurial and SSH

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

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

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

TIME. Programming in the large. Lecture 22: Configuration Management. Agenda for today. About your Future. CM: The short version. CM: The long version

Software Configuration Management and Continuous Integration

CSCB07 Software Design Version Control

Version control with Subversion

Version Control with Git. Dylan Nugent

Version Control Tutorial using TortoiseSVN and. TortoiseGit

Software Configuration Management.

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

SOFTWARE DEVELOPMENT BASICS SED

Version Control with Git. Kate Hedstrom ARSC, UAF

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

Using Git for Project Management with µvision

Module 11 Setting up Customization Environment

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

Introduction to the Git Version Control System

Modulo II Software Configuration Management - SCM

Software configuration management

Version Control with Git

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

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

Software Configuration Management. Context. Learning Objectives

Derived from Chris Cannam's original at, an.

Using GitHub for Rally Apps (Mac Version)

Source code management systems

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

Software Configuration Management and Change Management

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

Mercurial. Why version control (Single users)

Professional. SlickEdif. John Hurst IC..T...L. i 1 8 О 7» \ WILEY \ Wiley Publishing, Inc.

Version control with GIT

Why this lecture exists ITK Lecture 12: Open Source & Cross Platform Software Development

Software Development and Collaboration: Version Control Systems and Other Approaches

Git - Working with Remote Repositories

Source Code Management/Version Control

Version Uncontrolled! : How to Manage Your Version Control

Continuous Integration

How To Manage A Computer System

Integrated version control with Fossil SCM

Version Control with Subversion and Xcode

Source Code Control & Bugtracking

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

The Importance of Source Code Control in Custom Systems Integration Projects

Continuous Integration

Two Best Practices for Scientific Computing

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

S609. RDz and Source Control Management Systems

Content. Development Tools 2(63)

Software Development. Overview.

Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008

Introduction to Programming Tools. Anjana & Shankar September,2010

Methodologies. Adam Pasztory 12/19/07. Pasztory - 1

What CCPForge does Introduction to SESC and CCPForge Workshop Gemma Poulter

Software Engineering Practices for Python

Software Development Tools & Environments

Transcription:

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, distributed version control systems that have replaced the older tools such as RCS, CVS, and Subversion. This talk will cover a short review of last-year's presentation that introduced Mercurial and good software practices using configuration management from swebok.org, and then go on to cover more advanced scenarios of using CM such as: 1) Merging of source code from more than one developer, and 2) Branching for a release and handling bug-fixes in prior releases. This presentation will also cover how to recover from common mistakes.

Agenda Advertisement Advertisement Importance of Source Control to your project History of Source Control Tools Overview (Brief Review from Last Year) Advanced Topics branching and merging release branches Take-a-ways

Advertisement Certified Software Development Professional www.computer.org/csdp www.swebok.org Good software practices Many references

Advertisement www.ieee.org/join www.computer.org/join www.ieeeusa.org Benefits Financial Advantage, myieee, IEEE.tv, IEEE email alias, IEEE-USA jobs, IEEE Societies, IEEE Spectrum Magazine, Member-get-a-Member, ebook Classics, Career Navigator, Career Webinars, IEEE Job Site, IEEE Women-in-Engineering, Online Communities, GoogleApps@IEEE, Continuing Education, CLE training, Discounts and travel, volunteering and leadership training, Humanitarian Programs,... Member #40170447 mark.ciechanowski@ieee.org ($25 off)

Bio MSSE PE CSDP IEEE Volunteer since 2003 IEEE Past Section Chair 2013 IEEE Region 4 Secretary IEEE Senior Member

Revision Control Is... Manage changes to: source files, make files, tests release notes, doc, etc. Do not: copy and paste files is NOT revision control!! Source Control Is NOT Backup!!! Purpose: change history small changesets, check-in often

Importance of Source Control Good Source Control is your professional responsibility Not: mgr, project, program, Good practice, just like make, unit testing, bugtracker, lint, etc. It is our job as professionals to get better at what we do. -- Dr. Chris Wagner

History of Rev Control Systems SCCS (UNIX) RCS Lock-type concurrency model CVS, Visual SourceSafe (VSS) Subversion (SVN) ClearCase (IBM/Rational) All have client-server repository models GIT and Mercurial Merge-type concurrency model Distributed repository model

Mercurial Modern, distributed revision control system Distributed - no central repo Runs on Linux, Windows, Mac OS X Check-in changesets to entire repository not individual files (although you can choose which files to save) You check-in whole repository changeset All subdirectories

Mercurial Network ssh built-in, clone across net Tortoise Hg is the Windows interface Open source (GNU GPL v2) www.sourceforge.net

init $ hg init

Hg Workbench

Linux Command-Line hg init hg add hg stat hg commit hg log hg clone hg branch hg update

hg clone

hg clone

Tutorial www.hginit.com

References HgInit http://www.hginit.com SWEBOK IEEE Computer Society 2004 http://www.swebok.org Configuration Management Further Information on Technology and Careers IEEE Computer Society http://www.computer.org IEEE http://www.ieee.org IEEE-USA http://www.ieeeusa.org