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
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
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
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
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
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
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
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
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
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
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.
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
13 Copyright ©2013 CollabNet, Inc. All Rights Reserved.
• Git
• Subversion
• ClearCase
• CVS
• others
POLL: Which SCM are you using ? (multiple choice)
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.
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
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
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
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
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
20 Copyright ©2013 CollabNet, Inc. All Rights Reserved.
Example: Central Management with TeamForge
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
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
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
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)
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
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
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
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
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
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
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.
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