git vs. subversion an executive decision guide vs. subversion an executive decision guide luca...

32
1 Copyright ©2013 CollabNet, Inc. All Rights Reserved. ENTERPRISE CLOUD DEVELOPMENT Git vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins Director of Version Control Systems CollabNet

Upload: doannhu

Post on 06-Mar-2018

230 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

1 Copyright ©2013 CollabNet, Inc. All Rights Reserved. ENTERPRISE CLOUD DEVELOPMENT

Git vs. Subversion An Executive Decision Guide

Luca Milanesio Director, Git and Gerrit competence center GerritForge

August 2013

Bob Jenkins Director of Version Control Systems CollabNet

Page 2: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

2 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

About CollabNet

• Founded in 1999 (San Francisco)

• Subversion founder, enterprise Git supporter

• 10,000+ customers

• Leader in Agile ALM and DevOps (per Gartner, Forrester)

• Learn more at www.collab.net

Page 3: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

3 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Bob Jenkins

Bob Jenkins is Director of Version Control Services at CollabNet. Bob has over 27 years of experience in

providing software solutions to a varied set of markets and product offerings and has an abundance of first-

hand experience with version control systems like Subversion. He has nearly 17 years focused on SCM and

ALM customer implementations based on his work at Rational Software and the past 12 years at CollabNet.

At CollabNet, he defines and executes both consulting and training services for customers moving to and

using either Subversion or Git.

Luca Milanesio is Director and cofounder of GerritForge LLP, a leading Git and Gerrit competence center for

the Enterprise and partner of CollabNet. His background includes 20 years of experience in development

management, software configuration management and software development lifecycle in large Enterprises

worldwide. Just prior to GerritForge LLP, Luca was Technical Director and Senior Product of the Security and

Compliance platform for Electronic Payments at Primeur in Italy and UK. Since starting GerritForge LLP, Luca

contributed to the Gerrit community and allowed the introduction of Enterprise code-review workflow in

large Enterprises worldwide.

About the Speakers

Luca Milanesio

Page 4: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

4 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Agenda

• Why this Webinar – Scope and Objectives

• Pro’s and Con’s, And Top Use Cases

– Subversion

– Git

• Proven integration and migration strategies

• Industry trends

• Security and compliance implications

• Q&A

Page 5: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

5 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

• CollabNet is the one company who strongly backs both Subversion and Git.

• Enterprises are moving to Open Source solutions and want to know what tool is best for them.

• As a result it seems logical for CollabNet to speak to a comparison of the two market leaders as experts on both.

• The objective of this webinar is not to declare an overall winner, but rather to educate you on the pros, cons, and best fits for each as well as for both.

• We have had requests for lots of different information from this webinar, but our scope will be based on satisfying the declared objective.

Why this Webinar – Scope and Objectives

Page 6: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

6 Copyright ©2013 CollabNet, Inc. All Rights Reserved. 6 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Git and Subversion at-a-glance Features and tools comparison between version control systems

Page 7: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

7 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Subversion Overview

Client-Server – Central repository

– Local working copy

Evolutionary – Based on centralized version control experience

– Driven by large community needs

Monolithic – Concise command line

– Reuse of CVS syntax and underlying concepts

Flexible branching – Enhanced branching capabilities

Page 8: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

8 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Git Overview

Peer-to-peer – Distributed repositories

– Local clones

Revolutionary – Based on Linux development model

– Inspired by BitKeeper and Monotone

Extensible – Unix-style commands blocks

Flexible merging – Rich multi-branch merging strategies

Page 9: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

9 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Subversion Learning Curve

Time

Skills

Basic concepts and

use of the tool

Advanced SVN-specific

features

Tool mastering threshold

Smooth learning – Based on CVS terms and knowledge

– Reduced set of commands for common operations

– Self-learning possible and accessible

Entry level

Page 10: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

10 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Git Learning Curve

Distributed version control concepts and use of the basic

commands

Advanced Git-specific

features

Entry level

Tool mastering threshold

Time

Skills

Steep learning curve – Distributed version control is inherently complex

– Legacy CVS terms used with different meanings (e.g. checkout)

– Needs mentoring and "Git champions" for skills transfer

Page 11: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

11 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Subversion Tools and Features

Command line

File manager

IDE Cloud

Monolithic Tight integration

All major IDEs

Private and Public Cloud

Atomic commits

File renames

Branches tags and merging

Big files

Snapshots no rollback

Limited only by

file-system

Manual renames single-

repository

Supported as folders

single-merge

Replication

Mirroring only

Continuous Integration

Jenkins, TeamCity, Bamboo &

others.

Page 12: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

12 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Git Tools and Features

Command line

File manager

IDE Cloud

Atomic commits

File renames

Branches tags and merging

Big files Replication

Continuous Integration

> 150 commands

Command line front-

end

All major IDEs

Private and Public Cloud

First-class branches, tags merge, rebase

2 GB practical limit

Automatic and cross-repository

Master-slave Master-master Peer-to-peer

Jenkins, TeamCity, Bamboo &

others.

Snapshot with

rollback

Page 13: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

13 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

• Git

• Subversion

• ClearCase

• CVS

• others

POLL: Which SCM are you using ? (multiple choice)

Page 14: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

14 Copyright ©2013 CollabNet, Inc. All Rights Reserved. 14 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Migrate or Integrate ? Subversion and Git: migration and integration strategies.

Page 15: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

15 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

One Size Does Not Fit All: Different Projects = Different Needs

0

5

10

15

20

25

30

Source: InformationWeek Survey 2013, State of Git in Enterprise, http://visit.collab.net/git-survey.html

Page 16: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

16 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

A. Standardize on Subversion • New and existing projects use Subversion

B. Standardize on Git • New and existing projects use Git • Subversion (or other SCM) projects migrated

C.1 Side by side • Git and Subversion are equally important • New projects start on Git or Subversion,

depending on requirements / features needed • Limited or no migration activities

C.2 Side by side - Integrated • Leverage Git for the code versioning • Integrate with Subversion for artifacts and binaries

or other sub-project requirements

Deployment Scenarios

Page 17: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

17 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Migration Options

② Complete migration - New projects start on Git

- All SCM projects migrated with history

- Binary files moved to other artifacts repositories

① Partial migration - Active projects are migrated to Git

- New projects start on Git

- Projects with big binary files managed on Subversion

Page 18: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

18 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Example Migration Steps – Move to Git

① Repositories, skills and costs - Inventory and statistics of existing SCM repositories

- Plan skills migration for developers, SCM managers

- Assess costs vs. benefits

② Transition period - Git and existing SCM used side-by-side

- New projects start on Git

- Monitor progress and manage risks

- Use "champions" to accelerate the transition

③ Close up existing SCM - Git is the new standard

- Set SCM repositories read only

Page 19: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

19 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Needed: Hybrid SCM with Central Management

Central Management (SCM tools & repos):

How Important? • 44% Very important

• 40% Somewhat important

• 11% Not important

• 5% Don’t know … of Git using organizations

Source: InformationWeek Survey 2013, State of Git in Enterprise

http://visit.collab.net/git-survey.html

Page 20: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

20 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Example: Central Management with TeamForge

Page 21: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

21 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Subversion vs. Git Adoption Trends

Eclipse survey

Job trends analysis Git skills demand takes off from 2009

Subversion jobs stalled in 2010

Repository trends Subversion and Git make up more

than 75% of the market

Git over 100% growth in 2012

Page 22: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

22 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Git Products and Services

Hosted / Onsite Enterprise Git solutions

– CollabNet: 1st Enterprise Git provider (2011 introduction)

– Standalone or integrated with

– Professional training and 24x7 Support

– Learn more: www.collab.net/git

Cloud Git Repository (FREE for personal use)

– Git and Subversion hosting

– Enterprise-grade extensions

– FREE for personal use

– Sign up: www.collab.net/git

Page 23: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

23 Copyright ©2013 CollabNet, Inc. All Rights Reserved. 23 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Security and Compliance Assuring compliance to the Corporate Policies during migration

Page 24: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

24 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Git (and Gerrit) versus Subversion Security

Channel Security

Auth Fine-

grained security

Permissions Model

PKI, SSL, SSH

Basic Auth, X.509,

Kerberos, SSH, LDAP/AD, SSO

No auth, OS user,

SSH

Tag, path, branch

ACLs, RBAC

SSL, SSH (no PKI)

PKI, SSL, SSH

Basic Auth, X.509,

Kerberos, SSH, LDAP/AD, SSO

Only full repo R/W

Tag, branch (no path)

OS file permissions

ACLs, RBAC (with

TeamForge)

Page 25: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

25 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Protection Code Quality Control IT standard compliance ALM integration Hybrid SCM

Advanced Git security Git Projects organization Code-review Replication

TeamForge = Enterprise-Grade Git Mgmt. + ALM

Basic SCM features jGit engine Native engine GitWeb

Gerrit

With TeamForge and Gerrit, Git is ready for the enterprise. Realize all the benefits of Git, without compromising governance, security and compliance.

Learn more: www.collab.net/git

Page 26: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

26 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Compliance & Auditing with Git and Subversion

History loss

Operations log

Tamper-proof audit

Server history

preserved

Access, Security and SCM

TeamForge History

protection

Only at protocol level require hooks

OS file permissions

History recovery

with

History can be rewritten

Server history

preserved

Ref logs (excl. Garbage

Collection)

TeamForge History

protection

Access, Security and SCM

TeamForge audit-trail

TeamForge audit-trail

Page 27: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

27 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Full Compliance with History Protection

• PROBLEM: Git BIG compliance flaw

– Allows to "rewrite" the history

– Does not remember who did "rewrite"

• Enterprise requirement

I. Track who did what with time-stamp

II. Archive all history and allows to recover and undo any operation

• SOLUTION: Git history protection with

Track all Git operations, including history "rewrite"

Archive events in tamper-proof audit-trail

Notify alarms in case of Git "rewrite" or other sensitive operation

Allows complete recovery of the code history

Page 28: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

28 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

• Git and Subversion are focused on different domains and features.

• Enterprise specific functionality is included in CollabNet TeamForge to use Git and Subversion effectively.

• Hybrid usage of Git and Subversion will be a common reality in both migration and side-by-side scenarios.

• When choosing to adopt Git, security and compliance are big gaps to be filled: TeamForge with Git history protection is the solution.

• CollabNet TeamForge provides the industry’s only enterprise-grade solution for both Git and Subversion Security and Compliance.

Summary

Page 29: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

29 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

FREE Subversion and Git Hosting http://www.cloudforge.com Get started today!

Next Steps

Subversion/Git Support & Services http://visit.collab.net/contact_us Implementations, migrations, 24x7 professional support

CollabNet TeamForge – FREE Trial http://www.collab.net/teamforge Industry’s 1st enterprise-grade Subversion & Git solution

Page 30: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

30 Copyright ©2013 CollabNet, Inc. All Rights Reserved. 30 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

Questions?

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

Page 31: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

31 Copyright ©2013 CollabNet, Inc. All Rights Reserved. 31 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.

Page 32: Git vs. Subversion An Executive Decision Guide vs. Subversion An Executive Decision Guide Luca Milanesio Director, Git and Gerrit competence center GerritForge August 2013 Bob Jenkins

32 Copyright ©2013 CollabNet, Inc. All Rights Reserved. 32 Copyright ©2013 CollabNet, Inc. All Rights Reserved.

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

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