SlideShare a Scribd company logo
SVN to Git Migration
Technology
➔
    Gitolite.
➔
    Atlassian Suite.
➔
    Internal system ”Octopus”.
Migrating
 the code
git-svn
➔
    Slow...
➔
    Didn't handle shallow merges well.
➔
    Our old branches didn't map well.
➔
    Works fine for small repos.
➔
    Not right for our repo.
svn-all-fast-export
➔
    Faster.
➔
    Direct access to git from C libs.
➔
    Easier to configure.
svn-all-fast-export
# rules­map
create repository bigcommerce
end repository 
match /trunk/ 
   repository bigcommerce 
   branch master 
end match
...
match /branches/([^/]+)/
   repository bigcommerce
   branch 1
end match
...
match /tags/7.3.23/
   repository bigcommerce
   branch refs/tags/7.3.23
   annotated true
end match
svn-all-fast-export
# svn­authors
anna.pomroy = Anna Pomroy <anna.pomroy@bigcommerce.com>
chris.beckett = Chris Beckett <chris.beckett@bigcommerce.com>
chris.boulton = Chris Boulton <chris.boulton@bigcommerce.com>
...

# import command
svn­all­fast­export ­­identity­map svn­authors ­­rules 
map ­­add­metadata /var/svn/bigcommerce
svn-all-fast-export
➔
    Problem:
       
           Post migration branch amnesia.
       
           Only affected some branches.
➔
    Solution(s):
       
           Patch from the original svn branch.
       
           Rebranch in git, resolve lots of conflicts and
            pay close attention!
svn-all-fast-export
➔
    Problem:
       
           Wrong revision used to create a branch on
            import.
➔
    Solution:
       
           Fix it in the source & submit a patch!
       
           Check & double check...
How are we
 using git?
SVN branching model
                                        Tues       Mon            Tues       Mon


Stability
                        Feature-Y



            Feature-X



       Trunk


                                                                     RC-02




                                                              x
                                    RC-01




                                                           tfi
                                                         Ho
                                                   1.0                       1.2


                                            Time
Gitflow branching model
                                    Tues       Mon   Tues        Mon


Stability
                        Feature/y



            Feature/x



     Develop




                                     Release/1.0       Release/1.3


    master                                                           1.3
                                               1.0   1.2             1.3


                                        Time
Rome wasn't
built in a day...
Identified issues
➔
    svn:ignore.
       
           Create .gitignore
➔
    Empty directories.
       
           Fill with .empty files
➔
    Commit hooks.
       
           Use gitty for hook management.
Unidentified problems

➔
    ”Time & tide waits for no man”.
       
           We were fixing the deployment system
            ”Octopus” on the day.
       
           Last minute cherry-picks to tags/branches to
             get them working.
Why did we do it?
                           ”...what if anything is
    ”I miss my git            blocking us from
                            switching to git for
staging area already”          source control?”




  ”Maybe we should          ”f**k; I keep
  evaluate git more”      typing git status”
Immediate Benefits
➔
    Decentralised, remote work.
➔
    Much, much faster.
➔
    Staged commits, stashes.
➔
    Flexible & powerful cmd line.
Questions?

More Related Content

PDF
Subversion to Git Migration
PDF
Git vs Subversion: ¿Cuando elegir uno u otro?
PDF
SVN 2 Git
PPTX
01 - Git vs SVN
PPTX
From svn to git
ODP
Git vs svn
PPTX
Svn vs mercurial vs github
PPTX
Git vs svn
Subversion to Git Migration
Git vs Subversion: ¿Cuando elegir uno u otro?
SVN 2 Git
01 - Git vs SVN
From svn to git
Git vs svn
Svn vs mercurial vs github
Git vs svn

What's hot (20)

PDF
Using Subversion and Git Together
PPTX
Git commands
PDF
Getting started with git svn
KEY
Basic Git
PDF
Git introduction workshop for scientists
PPTX
Advanced Git Presentation By Swawibe
PDF
Version Control & Git
PPT
Git basic
PPTX
Git basics
PDF
Git basics
PDF
Git tutorial
PPTX
Basic principles of Git
PPTX
Git tutorial
PDF
Git for beginners
PDF
Version Control Systems with git (and github) as an example
ODP
Subversion in a distributed world
PDF
Git tutorial
PPTX
Git - Basic Crash Course
PDF
Git in 5 Minutes
Using Subversion and Git Together
Git commands
Getting started with git svn
Basic Git
Git introduction workshop for scientists
Advanced Git Presentation By Swawibe
Version Control & Git
Git basic
Git basics
Git basics
Git tutorial
Basic principles of Git
Git tutorial
Git for beginners
Version Control Systems with git (and github) as an example
Subversion in a distributed world
Git tutorial
Git - Basic Crash Course
Git in 5 Minutes
Ad

Viewers also liked (20)

PPTX
Five Minute Fleet Market Findings
PPT
Big era 2
PDF
Mm wcmc v12
PDF
Practical eCommerce with WooCommerce
PPTX
Final project for eme 2040
PDF
長野市放課後子ども総合プラン有料化の方針
PDF
Python - پایتون
PPTX
United States Armed Forces Decoded
PPTX
Традо питание по дошам
PDF
Notam 01-01-17
PPT
Power Notes Atomic Structure Day 3
PPTX
DOCX
100 quotes
DOCX
What do you know about the moon
PPSX
Kewajipan menunaikan solat
DOCX
India
PDF
Cells homeostasis_and_disease
PPTX
Overview of the Virginia Education Wizard
PPSX
Accesspro3
PDF
Cameco and indigenous development case study
Five Minute Fleet Market Findings
Big era 2
Mm wcmc v12
Practical eCommerce with WooCommerce
Final project for eme 2040
長野市放課後子ども総合プラン有料化の方針
Python - پایتون
United States Armed Forces Decoded
Традо питание по дошам
Notam 01-01-17
Power Notes Atomic Structure Day 3
100 quotes
What do you know about the moon
Kewajipan menunaikan solat
India
Cells homeostasis_and_disease
Overview of the Virginia Education Wizard
Accesspro3
Cameco and indigenous development case study
Ad

Similar to Subversion to Git Migration (20)

PDF
With git
PDF
Wokshop de Git
PDF
M.Mozūras - git
PDF
Git and git hub
KEY
Moving to Git
PDF
インフラエンジニアのためのGit入門
ODP
How to use git without rage
PPTX
PDF
Working with Git
ODP
Introduction to Git (Greg Lonnon)
PPTX
Using Git as your VCS with Bioconductor
PDF
Switching to Git
PPTX
Gitflow - Una metología para manejo de Branches
PPTX
Git basic stanley hsiao 2010_12_15
PDF
PDF
git fail --force (make it up with your pull requests)
KEY
Introduction to Git
With git
Wokshop de Git
M.Mozūras - git
Git and git hub
Moving to Git
インフラエンジニアのためのGit入門
How to use git without rage
Working with Git
Introduction to Git (Greg Lonnon)
Using Git as your VCS with Bioconductor
Switching to Git
Gitflow - Una metología para manejo de Branches
Git basic stanley hsiao 2010_12_15
git fail --force (make it up with your pull requests)
Introduction to Git

Recently uploaded (20)

PPTX
Spectroscopy.pptx food analysis technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PDF
Electronic commerce courselecture one. Pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
cuic standard and advanced reporting.pdf
Spectroscopy.pptx food analysis technology
20250228 LYD VKU AI Blended-Learning.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
Electronic commerce courselecture one. Pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Network Security Unit 5.pdf for BCA BBA.
Big Data Technologies - Introduction.pptx
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Encapsulation theory and applications.pdf
Review of recent advances in non-invasive hemoglobin estimation
Spectral efficient network and resource selection model in 5G networks
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Chapter 3 Spatial Domain Image Processing.pdf
cuic standard and advanced reporting.pdf

Subversion to Git Migration