ClearCase, the journey to Git Migrating your skills and VOBs to Git

Similar documents
Mobile Development with Git, Gerrit & Jenkins

key benefits of CloudForge

The Role of Feedback in Continuous Integration, Continuous Delivery and Agile ALM

Using Git with Rational Team Concert and Rational ClearCase in enterprise environments

Putting DevOps and the Hybrid Cloud into Practice with CollabNet TeamForge. Laurence Sweeney October 2012

Building Value with Continuous Integration

An Enterprise Cloud Development (ECD) Blueprint with TeamForge. An Implementation Checklist

Application Lifecycle Management White Paper. Source Code Management Best Practice: Applying Economic Logic to Migration ALM

Using Git for Project Management with µvision

Continuous Integration. CSC 440: Software Engineering Slide #1

Software Configuration Management (SCM)

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

Building Value with Continuous Integration

IBM Rational ClearCase, Version 8.0

DATASHEET COLLABNET TEAMFORGE

Building a Continuous Integration Pipeline with Docker

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

Source Control Systems

Introduction to Subversion

Theme 1 Software Processes. Software Configuration Management

Version Control Systems

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

Software configuration management

Product Stack and Corporate Overview

PKI, Git and SVN. Adam Young. Presented by. Senior Software Engineer, Red Hat. License Licensed under

RELEASE HIGHLIGHTS INTRODUCING COLLABNET TEAMFORGE 8.2

Version Control Tools

Introduction to Version Control

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

Work. MATLAB Source Control Using Git

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

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

CliQr CloudCenter. Multi-Tenancy

Introduction to the Git Version Control System

Introduction to Git. Markus Kötter Notes. Leinelab Workshop July 28, 2015

Integrity 10. Curriculum Guide

SOFTWARE DEVELOPMENT BASICS SED

An Introduction to Mercurial Version Control Software

Version control with GIT

Version Control with Git. Dylan Nugent

Two Best Practices for Scientific Computing

Software Development. Overview.

Introducing Xcode Source Control

MATLAB & Git Versioning: The Very Basics

Comparative Analysis of SCM tools and Coexistence with Agile Methodology

SourceForge Enterprise Edition 4.4 SP1 User Guide

Managing your Red Hat Enterprise Linux guests with RHN Satellite

Version Control with Git

Implementing Microsoft Azure Infrastructure Solutions 20533B; 5 Days, Instructor-led

Course 20533B: Implementing Microsoft Azure Infrastructure Solutions

Perforce Helix vs. ClearCase

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

NAS 259 Protecting Your Data with Remote Sync (Rsync)

Implementing Microsoft Azure Infrastructure Solutions

Best Practices for Deploying and Managing Linux with Red Hat Network

McAfee Web Gateway Administration Intel Security Education Services Administration Course Training

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

Comparison of Version Control Systems for Software Maintenance

McAfee VirusScan and epolicy Orchestrator Administration Course

Version Control with. Ben Morgan

WhiteWave's Integrated Managed File Transfer (MFT)

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

STAR JPSS Algorithms Integration Team Configuration Management Plan Version 1.2

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

IBM Rational ClearCase 4.x and Active Directory

Module 11 Setting up Customization Environment

Introduction to Version Control with Git

Implementing Microsoft Azure Infrastructure Solutions

CA ARCserve Replication and High Availability Deployment Options for Hyper-V

Version Control. Luka Milovanov

Improving your Drupal Development workflow with Continuous Integration

Software Configuration Management. Context. Learning Objectives

Continuous Delivery for Force.com

Version Control. Version Control

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

State of Alaska Enterprise Messaging and Directory Services Strategy Vision and Scope

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

Life Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs

White Paper. CCRM Services on Cloud Benefits of Private Cloud for CCRM Services. Abstract. - Krishna Vaddadi

Sparx Systems Enterprise Architect Cloud-based repository hosting

Migration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module

Global Software Change Management for PVCS Version Manager

Developer Workshop Marc Dumontier McMaster/OSCAR-EMR

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

Data management on HPC platforms

Hosting Drupal on Amazon Web Services (AWS) Heather Wozniak, Ph.D. Web Developer, UW College of Arts & Sciences hwozniak@uw.edu

Source Control Guide: Git

Introduction to Source Control Management in OO 10

Version Control with Subversion

Surround SCM Best Practices

Integrated version control with Fossil SCM

Distributed Version Control

Realizing the Benefits of Hybrid Cloud. Anand MS Cloud Solutions Architect Microsoft Asia Pacific

Transcription:

ClearCase, the journey to Git Migrating your skills and VOBs to Git Luca Milanesio Luca@GerritForge.com June 2013 1 ENTERPRISE CLOUD DEVELOPMENT Copyright 2013 CollabNet, Inc. All Rights Reserved.

About the Speakers Luca Milanesio Luca Milanesio is Director and cofounder of GerritForge LLP, the leader Git and Gerrit competence center for the Enterprise and key technology partner of CollabNet Inc. Luca contributed to the Gerrit community and allowed the introduction of Enterprise code-review workflow in large Enterprises worldwide. Thanks to GerritForge LLP and CollabNet Inc. TeamForge is now the most advanced ALM platform with integrated Git support and Code-Review for the Enterprise. Fredrik Luthander Fredrik Luthander is an independent Git and Software Configuration Management consultant at Ericsson across four large R&D sites in Europe, Asia and North America. Fredrik is one of the historical Gerrit contributors and has more than 10 years' experience in ClearCase Multisite Application Management and Training and, before Ericsson, has administered very large installations at Siemens Medical and SONY Mobile and driven the company migration to Git. About CollabNet Industry leader in Enterprise Cloud Development (ECD) Agile ALM, DevOps, SCM, Git & SVN Product & Services Download TeamForge for FREE @ www.collab.net/git 2 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Agenda Bird's-eye view Changes and revisions Version control lifecycle Branches strategy and workarea Migration strategy and problems Security Replication 3 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Enterprise Git - 100% Annual Growth Source: Indeed.com Learn more: www.collab.net/pullahead 4 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Bird's-eye view ClearCase and Git concepts and differences 5 Copyright 2013 CollabNet, Inc. All Rights Reserved.

ClearCase (CC) vs. Git at a glance Aspect ClearCase Git Repository model Client-server Distributed Revision IDs Branch + number Global alphanumeric ID Scope of Change File Directory tree snapshot Concurrency model Merge Merge Storage Method Deltas Full content Client CLI, Eclipse, CC Client CLI, Eclipse, GitEye Server UNIX, Windows legacy systems UNIX, Windows, OS X, Cloud-based (CloudForge) License Proprietary GPL 6 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Centralized vs. Distributed Version Control Centralized Distributed Server = Single Point of Failure High availability / bandwidth needed Peer-to-Peer availability High performance with lowbandwidth 7 Copyright 2013 CollabNet, Inc. All Rights Reserved.

CC file deltas vs. Git snapshots CC = individual files version deltas T1 Base line T2 T3 T4 T5 T6 Legend File A File B V1 V2 V1 Time / Version snapshot File C V1 V2 V3 V4 Git = full content snapshot Time line File Delta File content Version 1 File A Version 2 Version 3 Version 4 Version 5 Version 6 File A1 File A1 File A2 File A2 File A2 File link File B File B File B File B File B File B1 File C File C1 File C2 File C2 File C3 File C4 8 Copyright 2013 CollabNet, Inc. All Rights Reserved.

CC: linear version history Every file has an incremental version history One version has one predecessor Branch and merge points between baselines \main X Each file has a different history Branches REL_1.0 0 1 2 Version number Branch point X Lots of tags needed for builds demarcation \releasebeta 0 1 3 4 5 6 \bugfix 0 1 REL_1.1 Versions label X Difficult to reconstruct the full graph of changes 2 7 REL_2.0 Merge point 9 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Git: graph of commits Global view of the repository Commit ID identify a full consistent snapshot X Commits may belong to more than one branch Git a generic directed acyclic graph of commits Commits branches are paths in the graph Tags are first class objects for actual releases 1 4 2 3 6 5 Annotated / Signed Tags X Branches complexity may increase 9 7 8 PROTO_1 MASTER 10 EXPERIMENTAL 10 Copyright 2013 CollabNet, Inc. All Rights Reserved.

POLL: What is your organizations Git experience? None - New to Git Familiar with Git, but not using Started ramping up on Git skills Git used actively, alongside other tools Git is our leading SCM tool 11 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Version Control lifecycle ClearCase versus Git lifecycle 12 Copyright 2013 CollabNet, Inc. All Rights Reserved.

CC Join UCM project vs. Git clone CC: to join a UCM project 1. Select the VOB (versioned object base) + join the project 2. Create a local UCM (Unified Change Management) 3. Create a local UCM integration view to provide changes. GIT: different ways to start a project Clone the entire repository Create a local repository Connect to a remote repository Define your company workflow and policy + Publish your Git cheat-sheet 13 Copyright 2013 CollabNet, Inc. All Rights Reserved.

CC: file Lifecycle Untracked Unmodified Modified Hijacked Add file to source control Checkout file, Edit a file Checkin file Uncheckout file Edit a file Checkout file, Checkin file Remove file from source control 14 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Git: content Lifecycle Add file Edit, add, remove content Stage content Un-stage content Commit + Push 15 Copyright 2013 CollabNet, Inc. All Rights Reserved.

CC checkout CC vs. Git Checkout CC Define the intention to change a file / LOCKING Reserved: exclusive lock nobody can checkout the same file Unreserved: shared lock others can perform an unreserved checkout Checkout Git Locking DOES NOT EXIST (Git is peer-to-peer) Operations are made LOCALLY (1 user = locking not needed) what then is Git Checkout for? Restore files in the working tree to the archived version Move to a different version / branch 16 Copyright 2013 CollabNet, Inc. All Rights Reserved.

CC: files updates Not applicable when directories / files are checked out Update modes OVERWRITE Replace hijacked contents with the latest version NOVERWRITE Leaves unchanged hijacked files RENAME Renames hijacked files (fileexample.keep) Old View hijackedfile.h Update overwrite New View Old View hijackedfile.h Update noverwrite New View hijackedfile.h 17 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Git: content stash, pull and rebase 1. Git STASH Local changes are put into a temporary area 2. Git PULL (with rebase / with merge) Fetches the contents from the remote repository and rebase / merge the local branch 3. Git STASH POP Restore and merge local changes (conflicts to be resolved manually) 1 2 3 Old Branch modifyfile.h git stash Old Branch git pull --rebase New Branch git stash pop New Branch modifyfile.h Stash Area modifyfle.h Stash Area modifyfile.h 18 Copyright 2013 CollabNet, Inc. All Rights Reserved.

CC: files checkin Checkin creates a new version of a file Checkin of reserved / unreserved checkouts SUCCEEDS when You are the owner of reserved checkout. All checkouts unreserved, and no one has checked in. FAILS when Another user have reserved checkout. Another user checked in a successor version before you. 19 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Git: content add, commit and push 1. Git ADD Adds your contents to the "staging area" for commit 2. Git COMMIT Check-in ALL the staged content to the local repository 3. Git PUSH Synchronize all the commits to the remote repository. 1 2 3 Unstaged Git add <files> Staged Git commit Local REPO Git push Remote REPO 20 Copyright 2013 CollabNet, Inc. All Rights Reserved.

POLL: What is your ClearCase vs. Git adoption? High level assessment of alternatives Training on Git or other Version Controls Using Git and ClearCase side-by-side Started ClearCase to Git migration Completing ClearCase to Git migration 21 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Migrating to Git Strategies, tools and issues in the ClearCase migration to Git 22 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Migration overview and approach 1 Manage costs & benefits vs. expectation Evaluate options assess costs and benefits Talk to Teams and manage expectations 2 Plan and automate VOB-2-Git converter does not exist Transition period to be planned and managed Script the migration and automate in small chunks 3 Track and assess risks and issues X Big VOBs could be problematic X Git file size limited to 2GB (32bit systems) X Different concurrency model 23 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Tools and options There is no magic tool! ClearCase cannot be mapped 1:1 to Git Option 1 Bridge through Subversion CC to SVN (SVN Importer) SVN to Git ($ git svn clone http://svn/repo/here/trunk) Keep SVN for full history backup Option 2 Git from ClearCase baseline Check out baseline from ClearCase Continue on Git Leave ClearClase confined to maintenance / archive 24 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Planning 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% M1 M2 M3 M4 M5 M6 Residual footprint to assess and manage Transition period 25 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Problems and workarounds File Size Files are compressed in memory (2 GB on 32-bit systems) Binary files increase the repo size Solutions and workarounds: Store big / binary files in Subversion or binary repositories git-annex / git-bigfile - binary files outside Git Bup (https://github.com/bup/bup) - client-based script on top of Git repo Repository size vs. bandwidth Provide Git snapshot bundles over HTTPS Use Gerrit Code Review replication Split into Git sub-modules 26 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Security Authentication / Protocol Security ClearCase protocol Proprietary RPC protocol User always authenticated via OS (and thus via LDAP) NOT Internet-friendly (requires VPNs) Git protocol SSH, HTTPS or TCP/Git (discouraged) User authenticated via OS (discouraged) or OpenID / LDAP / External (i.e. Gerrit with CollabNet TeamForge) Works on the Internet / works in Disconnected mode Fully audited, X.509 and Strong Encryption / Authentication 27 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Security Access Control ClearCase is OS-level permission scheme File-system VOBs based security RWX scheme on a per Owner / Group / Others Assign ACLs to files ClearCase Meta-Data are objects for permissions (Projects, Activies) Git/Gerrit is RBAC (as CollabNet TeamForge) Project / Branch / Name-space based security Fine-grained Git scheme on a per role-based NO file-based Access Control Meta-data Access Control driven by CollabNet TeamForge 28 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Replication strategy ClearCase - multi-site read/write Client 1 write/read Server1 write/read Server2 Client 3 Client 2 Client 4 Git - master-slave read Client 1 write/read Client 3 write Slave 1 Slave 2 Master Client 2 Client 4 29 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Summary ClearCase is very different from Git File vs content snapshot for version tracking Branches strategy to be defined and agreed Migration strategy and problems Security guidelines Replication strategy 30 Copyright 2013 CollabNet, Inc. All Rights Reserved.

CollabNet for ClearCase > Git Migration 31 Copyright 2013 CollabNet, Inc. All Rights Reserved.

What Developers Love about Git 65% of Git using organizations like powerful branching & merging (and 57% like this the most) 57% of Git using organizations like network performance (and 22% like this the most) 32% of Git using organizations like Git s popularity (and 10% like this the most) People love Git for its powerful branching and merging capabilities and solid network performance. Source: InformationWeek Survey 2013, State of Git in Enterprise, http://visit.collab.net/git-survey.html 32 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Enterprises continue to have reservations about Git Anybody (Git using orgs): 37% Tool integration (trackers, CI/CD, ) 36% Co-existence with other SCM tools 33% Security, traceability, process governance 16% 24/7 Support and SLA s Managers and Above (Git using orgs): 51% Security, traceability, process governance 49% Tool integration 37% Co-existence with other SCM tools 22% 24/7 Support and SLA s Source: InformationWeek Survey 2013, State of Git in Enterprise, http://visit.collab.net/git-survey.html 33 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Manage Git and Subversion with One Enterprise Platform 34 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Why TeamForge for Enterprise Git The Six Reasons Git + Subversion Integrate or Mitigate Tool Integration Application Lifecycle Dev Productivity Code Reviews & Discovery History protection Un-do Any Commit Access Control Protect Your IP 24/7 Support + Services Enterprise-Ready Git 35 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Learn More WHITEPAPER: The Case for Open Source over ClearCase http://visit.collab.net/ MakingtheCaseforOpenSourceoverCCandTCO_WP.html Free 5 page executive whitepaper TeamForge for Enterprise Git http://www.collab.net/products/teamforge/git-for-the-enterprise WORKSHOP: Plan your Migration Strategy http://www.collab.net/pullahead 36 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Questions? Luca Milanesio luca@gerritforge.com www.collab.net +1-650-228-2500 +1-888-778-9793 blogs.collab.net twitter.com/collabnet www.facebook.com/collabnet www.linkedin.com/company/collabnet-inc 37 Copyright 2013 CollabNet, Inc. All Rights Reserved.

About CollabNet CollabNet is a leading provider of Enterprise Cloud Development and Agile ALM products and services for software-driven organizations. With more than 10,000 global customers, the company provides a suite of platforms and services to address three major trends disrupting the software industry: Agile, DevOps and hybrid cloud development. Its CloudForge development-platform-as-a-service (dpaas) enables cloud development through a flexible platform that is team friendly, enterprise ready and integrated to support leading third party tools. The CollabNet TeamForge ALM, ScrumWorks Pro project management and SubversionEdge source code management platforms can be deployed separately or together, in the cloud or on-premise. CollabNet complements its technical offerings with industry leading consulting and training services for Agile and cloud development transformations. Many CollabNet customers improve productivity by as much as 70 percent, while reducing costs by 80 percent. For more information, please visit www.collab.net. 38 Copyright 2013 CollabNet, Inc. All Rights Reserved.

CollabNet, Inc. 8000 Marina Blvd., Suite 600 Brisbane, CA 94005 www.collab.net +1-650-228-2500 +1-888-778-9793 blogs.collab.net twitter.com/collabnet www.facebook.com/collabnet www.linkedin.com/company/collabnet-inc 2012 CollabNet, Inc., All rights reserved. CollabNet is a trademark or registered trademark of CollabNet Inc., in the US and other countries. All other trademarks, brand names, or product names belong to their respective holders. 39 Copyright 2013 CollabNet, Inc. All Rights Reserved.