53

True Git: The Great Migration

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: True Git: The Great Migration
Page 2: True Git: The Great Migration

STEFAN SAASEN • STASH DEVELOPMENT MANAGER • ATLASS IAN • @stefansaasen

True GitTHE GREAT MIGRATION

Page 3: True Git: The Great Migration

TODO Show of hands

Picture with hands/lighter/concert

Add attribution slide

Page 4: True Git: The Great Migration

Source Control Management

2011 2013 (projected) 2013 2015 (projected)

68

4941

20

55

706878

SVN Git

Page 5: True Git: The Great Migration

Why am I passionate about this?

Page 6: True Git: The Great Migration

Why Git?

Page 7: True Git: The Great Migration

Branching & Mergingfast, cheap and simple

first class concept

Page 8: True Git: The Great Migration

Branching & Mergingfast, cheap and simple

first class concept

Foundation for new workflows

Page 9: True Git: The Great Migration

Speed

git bisect

git log

git diffgit status

Page 10: True Git: The Great Migration

Bad

Good (v2.7) TestRegression!

Fast graph traversalFast checkout

git bisect

Page 11: True Git: The Great Migration

Enables new features

Improves basic featuresSpeed

git bisect

git log

git diffgit status

Page 12: True Git: The Great Migration

Local commitsRewrite History

Edit & Publish

Page 13: True Git: The Great Migration

FlexibilityLocal commitsRewrite History

Edit & Publish

Page 14: True Git: The Great Migration

Git does what you are doing today, only better

Page 15: True Git: The Great Migration

LABEL T ITLE

GIT

SVN

New ways of collaborating

Existing workflows

New branchworkflows

Page 16: True Git: The Great Migration

LABEL T ITLE

GIT

SVN

New ways of collaborating

Existing workflows

New branchworkflows

Page 17: True Git: The Great Migration

Release branching master

2.8

2.7

Bugfix

Page 18: True Git: The Great Migration

Git Workflows a-la-carte

N i c o l a P a o l u c c i

Rapid Agile Delivery

M a t t h e w W a t s o nT h u r s d a y - 1 1 : 1 5 a m T h u r s d a y - 1 : 1 5 p m

Page 19: True Git: The Great Migration
Page 20: True Git: The Great Migration

So you’ve decided to migrate!

Page 21: True Git: The Great Migration

The process

1

2

3

Inception

Adoption

Conversion

Page 22: True Git: The Great Migration

• 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

Inception 1

Page 23: True Git: The Great Migration

1

Page 24: True Git: The Great Migration

1

2

3

The process

Inception

Adoption

Conversion

Page 25: True Git: The Great Migration

• 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

Adoption 2

Page 26: True Git: The Great Migration

2

Page 27: True Git: The Great Migration

Just text by itself, for impact.

2

Page 28: True Git: The Great Migration

1

2

3

The process

Inception

Adoption

Conversion

Page 29: True Git: The Great Migration

We’ve got you covered!

&Scripts Tutorial & Documentation

bit.ly/go-dvcs

Page 30: True Git: The Great Migration

git-svn

3

Page 31: True Git: The Great Migration

jdeveloper = John Developer <[email protected]>

Map Authors

Identify SVN repository layout

/tags/trunk/branches

3Conversion - Preparation

Page 32: True Git: The Great Migration

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

3Conversion - Initial Clone

?

Page 33: True Git: The Great Migration

git svn fetch

3Conversion - Sync

Page 34: True Git: The Great Migration

Infrastructure first 3

CI Issues IDE

read-only

Sync every minute

Page 35: True Git: The Great Migration

• Cleanup branches

• Remove unused files

• Create git tags

• Remove commit metadata

3Conversion - Cleanup

Page 36: True Git: The Great Migration

Then your team 3

CI Issues IDE

read-only read-only

Page 37: True Git: The Great Migration

Other Tools?SubGit

Page 38: True Git: The Great Migration

1

2

3

The process

Inception

Adoption

Conversion

Page 39: True Git: The Great Migration

Or are you?

Page 40: True Git: The Great Migration

Just text by itself, for impact.

Collaboration model?Branching model?

Page 41: True Git: The Great Migration

Centralized=+

Enterprise

Builds

Metrics

Issues

Deployments

Page 42: True Git: The Great Migration

Workflows will changefor the better

but they don’t have to change on day one!

Page 43: True Git: The Great Migration

This happened in both Confluence and JIRA...

Page 44: True Git: The Great Migration

master

confluence-project-4.0

CONF-1234

git cherry-pick bae6251

From SVN like

Page 45: True Git: The Great Migration

master

confluence-project-4.1

CONF-2345

git merge confluence-project-4.1git merge confluence-project-4.1

To git branch based workflow

Page 46: True Git: The Great Migration

Contributions from outside of the team

Sub-Teams

Forks can be useful!

Page 47: True Git: The Great Migration

Conclusion

Page 48: True Git: The Great Migration

0

20

40

60

80

2011 2013 (projected) 2013 2015 (projected)

68

4941

20

55

706878

SVN Git

Page 49: True Git: The Great Migration

Subversion (58%) is being

threatened by Git (47%) for de facto leadership of the Version Control space. ZEROTURNAROUND DEVELOPER PRODUCTIVITY REPORT 2013

Page 50: True Git: The Great Migration

is here to stay

Page 51: True Git: The Great Migration

expands

Page 52: True Git: The Great Migration

migration is a solved problem

Page 53: True Git: The Great Migration

Thank you!

STEFAN SAASEN • STASH DEVELOPMENT MANAGER • ATLASS IAN • @stefansaasen