SlideShare a Scribd company logo
True Git
True Git
THE GREAT MIGRATION

STEFAN SAASEN • STASH DEVELOPMENT MANAGER

• ATLASSIAN • @stefansaasen
TODO Show of hands

Picture with hands/lighter/concert
Source Control Management

SVN

Git
Source Control Management

2011

2013 (projected)
SVN

2013
Git

2015 (projected)
Source Control Management
78

20

2011

2013 (projected)
SVN

2013
Git

2015 (projected)
Source Control Management
78
68
41
20

2011

2013 (projected)
SVN

2013
Git

2015 (projected)
Source Control Management
78

70

68

49

41
20

2011

2013 (projected)
SVN

2013
Git

2015 (projected)
Source Control Management
78

70

68

68
49

41

55

20

2011

2013 (projected)
SVN

2013
Git

2015 (projected)
Why am I passionate about this?
Why am I passionate about this?
Why Git?
Branching & Merging
Branching & Merging
fast, cheap and simple
first class concept

Branching & Merging
fast, cheap and simple
first class concept

Branching & Merging
fast, cheap and simple
Foundation for new
workflows
Speed
Speed
git log
git status

git diff
git bisect

Speed
git log
git status

git diff
git bisect
Bad
git bisect
Good (v2.7)

Bad
git bisect
Test

Bad
git bisect
Test

Bad
git bisect
Regression!

Bad
git bisect
Regression!

git bisect

Fast graph traversal
Fast checkout
git bisect

Speed
git log
git status

git diff
Enables new features
Improves basic features
Local commits
Edit & Publish

Local commits
Edit & Publish

Local commits
Rewrite History
Edit & Publish

Local commits
Rewrite History
Flexibility
Git does what you are
doing today, only better
SVN
GIT

SVN

LABEL TITLE
GIT

SVN

LABEL TITLE

Existing
workflows
GIT

SVN

LABEL TITLE

Existing
workflows

New ways of
collaborating
GIT

SVN

LABEL TITLE

Existing
workflows

New branch
workflows

New ways of
collaborating
GIT

SVN

LABEL TITLE

Existing
workflows

New branch
workflows

New ways of
collaborating
GIT

SVN

LABEL TITLE

Existing
workflows

New branch
workflows

New ways of
collaborating
GIT

SVN

LABEL TITLE

Existing
workflows

New branch
workflows

New ways of
collaborating
Release branching
master

2.8

2.7
Release branching
master

2.8

2.7

Bugfix
Release branching
master

2.8

2.7

Bugfix


Release branching
master

2.8

2.7

Bugfix


Release branching
master

2.8

2.7

Bugfix


Release branching
master

2.8

2.7

Bugfix


Git Workflows
a-la-carte

Rapid Agile
Delivery

Nicola Paolucci
Thursday - 11:15 am

Matthew Watson
Thursday - 1:15 pm
True Git
So you’ve decided to
migrate!
The process

Adoption

2
1
3
Inception

Conversion
Inception

1
Inception
• Is git suitable?

1
Inception
• Is git suitable?
• Test the conversion

1
Inception
• Is git suitable?
• Test the conversion
• Identify the repositories that need to be converted

1
Inception
• Is git suitable?
• Test the conversion
• Identify the repositories that need to be converted
• Identify the tools that need to be updated. CI, issue
tracking, IDE, scripts and build tools, deployment
tools

1
1
The process

Adoption

2
1
3
Inception

Conversion
Adoption

2
Adoption
• You need to answer: “What’s in it for me”

2
Adoption
• You need to answer: “What’s in it for me”
• Make sure tooling is ready and can be used by
everyone

2
Adoption
• You need to answer: “What’s in it for me”
• Make sure tooling is ready and can be used by
everyone
• Identify the git champions - they will be thrilled to
help

2
Adoption
• You need to answer: “What’s in it for me”
• Make sure tooling is ready and can be used by
everyone
• Identify the git champions - they will be thrilled to
help
• Don’t expect to win everyone over immediately

2
2
2

Just text by itself, for
impact.
The process

Adoption

2
1
3
Inception

Conversion
We’ve got you covered!

&
Scripts

Tutorial & Documentation
We’ve got you covered!

&
Scripts

Tutorial & Documentation
bit.ly/go-dvcs
3

git-svn
Conversion - Preparation

3
Conversion - Preparation

3

Map Authors
jdeveloper = John Developer <jd@example.com>
Conversion - Preparation

3

Map Authors
jdeveloper = John Developer <jd@example.com>

/tags
/trunk
/branches

Identify SVN
repository layout
Conversion - Initial Clone

3

git svn clone 
--authors-file=/authors.txt 
--trunk=/trunk 
--tags=/tags 
--branches=/branches
Conversion - Initial Clone

?

3

git svn clone 
--authors-file=/authors.txt 
--trunk=/trunk 
--tags=/tags 
--branches=/branches
Conversion - Sync

3
Conversion - Sync

3
Conversion - Sync

git svn fetch

3
Infrastructure first

CI

Issues

IDE

3
Infrastructure first
read-only

CI

Issues

IDE

3
Infrastructure first
read-only

CI

Issues

IDE

3
Infrastructure first
read-only
Sync every minute

CI

Issues

IDE

3
Conversion - Cleanup
• Cleanup branches
• Remove unused files
• Create git tags
• Remove commit
metadata

3
Conversion - Cleanup
• Cleanup branches
• Remove unused files
• Create git tags
• Remove commit
metadata

3
3
read-only

CI

Issues

IDE
3

Then your team
read-only

CI

Issues

IDE
3

Then your team
read-only

CI

Issues

IDE
3

Then your team
read-only

CI

Issues

IDE
Other Tools?
SubGit
The process

Adoption

2
1
3
Inception

Conversion
Or are you?
Collaboration model?
Branching model?

Just text by itself, for
impact.
+

Enterprise
+

Enterprise

= Centralized
Metrics
Issues
Builds

Deployments

+

Enterprise

= Centralized
Workflows will change
for the better

Workflows will change
for the better

Workflows will change
but they don’t have to change on day one!
This happened in both
Confluence and JIRA...
From SVN like

confluence-project-4.0
CONF-1234

master
From SVN like
git cherry-pick bae6251

confluence-project-4.0
CONF-1234

master
From SVN like
git cherry-pick bae6251

confluence-project-4.0
CONF-1234

master
From SVN like

confluence-project-4.0
CONF-1234

master
From SVN like

confluence-project-4.0
CONF-1234

master
To git branch based workflow

confluence-project-4.1

master
To git branch based workflow

confluence-project-4.1

master
To git branch based workflow

confluence-project-4.1
CONF-2345

master
To git branch based workflow
git merge confluence-project-4.1

confluence-project-4.1
CONF-2345

master
To git branch based workflow

confluence-project-4.1
CONF-2345

master
To git branch based workflow
git merge confluence-project-4.1

confluence-project-4.1
CONF-2345

master
Forks can be
useful!
Forks can be
useful!

Sub-Teams
Forks can be
useful!

Sub-Teams
Forks can be
useful!

Contributions from
outside of the team

Sub-Teams
Conclusion
80

78

70

68

60

20
0

49

41

40

68
55

20

2011

2013 (projected)
SVN

2013
Git

2015 (projected)
80

78

70

68

60

20
0

49

41

40

68
55

20

2011

2013 (projected)
SVN

2013
Git

2015 (projected)
“

Subversion (58%) is being
threatened by Git (47%) for de
facto leadership of the Version
Control space.

”

ZEROTURNAROUND DEVELOPER PRODUCTIVITY REPORT 2013
is here to stay
expands
migration is a
solved problem
Thank you!
STEFAN SAASEN • STASH DEVELOPMENT MANAGER

• ATLASSIAN • @stefansaasen

More Related Content

What's hot (19)

ODP
Repositories as Code
Kris Buytaert
 
PDF
20170807 - How to Fail Your TDD Rollout - A Train Wreck Story
Chris Edwards, P.Eng.
 
PDF
Migrating to Puppet 5
Kris Buytaert
 
PDF
Super-powered CI with Git - Sarah Goff-Dupont
Atlassian
 
PDF
Software Supply Chains for DevOps @ InfoQ Live 2021
Aysylu Greenberg
 
PPTX
Scaling your CI Pipeline with Docker and Concourse
Chris Edwards, P.Eng.
 
PDF
從限制理論看 DevOps
William Yeh
 
PDF
Test your own stuff agile testing days usa 2018
Alex Kell
 
PDF
Help , My Datacenter is on fire
Kris Buytaert
 
PDF
Continuous Infrastructure First
Kris Buytaert
 
PDF
Introducing GitLab
Taisuke Inoue
 
PDF
Continuous Infrastructure First
Kris Buytaert
 
PDF
MesosCon Asia Keynote: Replacing a Jet Engine Mid-flight
Aysylu Greenberg
 
PDF
Project Under Pressure
Oleksiy Yegoshyn
 
PDF
Олексій Єгошин “Проект під тиском? Як вижити” Kyiv Project Management Day (28...
Lviv Startup Club
 
PPTX
Continuous Integration - NoVA CodeCamp 2014-10-11
Stephen Ritchie
 
PPTX
It's all about feedback - code review as a great tool in the agile toolbox
Stefan Lay
 
PDF
Devops is a Security Requirement
Kris Buytaert
 
PPTX
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Aysylu Greenberg
 
Repositories as Code
Kris Buytaert
 
20170807 - How to Fail Your TDD Rollout - A Train Wreck Story
Chris Edwards, P.Eng.
 
Migrating to Puppet 5
Kris Buytaert
 
Super-powered CI with Git - Sarah Goff-Dupont
Atlassian
 
Software Supply Chains for DevOps @ InfoQ Live 2021
Aysylu Greenberg
 
Scaling your CI Pipeline with Docker and Concourse
Chris Edwards, P.Eng.
 
從限制理論看 DevOps
William Yeh
 
Test your own stuff agile testing days usa 2018
Alex Kell
 
Help , My Datacenter is on fire
Kris Buytaert
 
Continuous Infrastructure First
Kris Buytaert
 
Introducing GitLab
Taisuke Inoue
 
Continuous Infrastructure First
Kris Buytaert
 
MesosCon Asia Keynote: Replacing a Jet Engine Mid-flight
Aysylu Greenberg
 
Project Under Pressure
Oleksiy Yegoshyn
 
Олексій Єгошин “Проект під тиском? Як вижити” Kyiv Project Management Day (28...
Lviv Startup Club
 
Continuous Integration - NoVA CodeCamp 2014-10-11
Stephen Ritchie
 
It's all about feedback - code review as a great tool in the agile toolbox
Stefan Lay
 
Devops is a Security Requirement
Kris Buytaert
 
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Aysylu Greenberg
 

Viewers also liked (7)

PDF
AtlasCamp 2013: Scratch your own itch
colleenfry
 
PDF
The 7 habits of high successful atlassian marketplace developers by dave meyer
colleenfry
 
PDF
AtlasCamp 2013: Confluence State of the Union
colleenfry
 
PDF
The 7 habits of high successful atlassian marketplace developers
colleenfry
 
PDF
The 7 habits of high successful atlassian marketplace developers
colleenfry
 
PDF
Introduction to JIRA & Agile Project Management
Dan Chuparkoff
 
PDF
Jira as a Project Management Tool
Paolo Mottadelli
 
AtlasCamp 2013: Scratch your own itch
colleenfry
 
The 7 habits of high successful atlassian marketplace developers by dave meyer
colleenfry
 
AtlasCamp 2013: Confluence State of the Union
colleenfry
 
The 7 habits of high successful atlassian marketplace developers
colleenfry
 
The 7 habits of high successful atlassian marketplace developers
colleenfry
 
Introduction to JIRA & Agile Project Management
Dan Chuparkoff
 
Jira as a Project Management Tool
Paolo Mottadelli
 
Ad

Similar to True Git (20)

PDF
True Git: The Great Migration
colleenfry
 
PDF
JAZOON'13 - Stefan Saasen - True Git: The Great Migration
jazoon13
 
PDF
Optimize Your Enterprise Git Webinar
CollabNet
 
PDF
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Perforce
 
PDF
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Gina Bustos
 
PDF
CICD_1670665418.pdf
edsonJeancarloRuedaS
 
PDF
Be a Happier Developer with Git / Productive Team #gettinggitright
Shunsuke (Sean) Osawa
 
PDF
A Business Case for Git - Tim Pettersen
Atlassian
 
PPTX
Git essential training & sharing self
Chen-Tien Tsai
 
PPTX
Que nos espera a los ALM Dudes para el 2013?
Bruno Capuano
 
PPT
Embracing Distributed Version Control
Nowell Strite
 
PPTX
Lets git to it
Yoram Michaeli
 
PDF
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Bartosz Chrabski
 
PPTX
Introduction to git
Ram0603
 
PDF
Git. Transition.
Pavel Grushetzky
 
PDF
Making the switch to DVCS
Sven Peters
 
PDF
Git collaboration
Ivelin Yanev
 
PPTX
Introduction to Git and Github
Max Claus Nunes
 
PPT
Introduction to git
Nguyen Van Hung
 
True Git: The Great Migration
colleenfry
 
JAZOON'13 - Stefan Saasen - True Git: The Great Migration
jazoon13
 
Optimize Your Enterprise Git Webinar
CollabNet
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Perforce
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Gina Bustos
 
CICD_1670665418.pdf
edsonJeancarloRuedaS
 
Be a Happier Developer with Git / Productive Team #gettinggitright
Shunsuke (Sean) Osawa
 
A Business Case for Git - Tim Pettersen
Atlassian
 
Git essential training & sharing self
Chen-Tien Tsai
 
Que nos espera a los ALM Dudes para el 2013?
Bruno Capuano
 
Embracing Distributed Version Control
Nowell Strite
 
Lets git to it
Yoram Michaeli
 
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Bartosz Chrabski
 
Introduction to git
Ram0603
 
Git. Transition.
Pavel Grushetzky
 
Making the switch to DVCS
Sven Peters
 
Git collaboration
Ivelin Yanev
 
Introduction to Git and Github
Max Claus Nunes
 
Introduction to git
Nguyen Van Hung
 
Ad

More from colleenfry (20)

PDF
AtlasCamp 2013: Bring your own Stack
colleenfry
 
PDF
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
colleenfry
 
PDF
AtlasCamp 2013: Keynote
colleenfry
 
PDF
AtlasCamp 2013: Confluence patterns
colleenfry
 
PDF
AtlasCamp 2013: Modernizing your Plugin UI
colleenfry
 
PDF
AtlasCamp 2013: Confluence Blueprints
colleenfry
 
PDF
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
colleenfry
 
PDF
AtlasCamp 2013: ADG / Lean UX
colleenfry
 
PDF
Atlassian Summit 2013: Confluence State of the Union
colleenfry
 
PDF
Atlassian: More Awesome with Add-ons
colleenfry
 
PDF
Flying at the Speed of Git
colleenfry
 
PDF
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
colleenfry
 
PDF
Adopting Continuous Integration in an Ops Group
colleenfry
 
PDF
W4 0245 agility_v1
colleenfry
 
PDF
Cultivating Content: Designing Wiki Solutions That Scale
colleenfry
 
PDF
New Markets State of the Union
colleenfry
 
PDF
Putting it All Together: Utilizing Integrations Between Atlassian Products
colleenfry
 
PDF
HipChat State of the Union
colleenfry
 
PDF
Collaborating Across an Enterprise: Quarterly Planning at Twitter with JIRA a...
colleenfry
 
PDF
Ecosystem State of the Union
colleenfry
 
AtlasCamp 2013: Bring your own Stack
colleenfry
 
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
colleenfry
 
AtlasCamp 2013: Keynote
colleenfry
 
AtlasCamp 2013: Confluence patterns
colleenfry
 
AtlasCamp 2013: Modernizing your Plugin UI
colleenfry
 
AtlasCamp 2013: Confluence Blueprints
colleenfry
 
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
colleenfry
 
AtlasCamp 2013: ADG / Lean UX
colleenfry
 
Atlassian Summit 2013: Confluence State of the Union
colleenfry
 
Atlassian: More Awesome with Add-ons
colleenfry
 
Flying at the Speed of Git
colleenfry
 
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
colleenfry
 
Adopting Continuous Integration in an Ops Group
colleenfry
 
W4 0245 agility_v1
colleenfry
 
Cultivating Content: Designing Wiki Solutions That Scale
colleenfry
 
New Markets State of the Union
colleenfry
 
Putting it All Together: Utilizing Integrations Between Atlassian Products
colleenfry
 
HipChat State of the Union
colleenfry
 
Collaborating Across an Enterprise: Quarterly Planning at Twitter with JIRA a...
colleenfry
 
Ecosystem State of the Union
colleenfry
 

Recently uploaded (20)

PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 

True Git