SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
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?

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Using Subversion and Git Together
Using Subversion and Git TogetherUsing Subversion and Git Together
Using Subversion and Git Together
 
Git commands
Git commandsGit commands
Git commands
 
Getting started with git svn
Getting started with git svnGetting started with git svn
Getting started with git svn
 
Basic Git
Basic GitBasic Git
Basic Git
 
Git introduction workshop for scientists
Git introduction workshop for scientists Git introduction workshop for scientists
Git introduction workshop for scientists
 
Git
GitGit
Git
 
Advanced Git Presentation By Swawibe
Advanced Git Presentation By SwawibeAdvanced Git Presentation By Swawibe
Advanced Git Presentation By Swawibe
 
Version Control & Git
Version Control & GitVersion Control & Git
Version Control & Git
 
Git basic
Git basicGit basic
Git basic
 
Git basics
Git basicsGit basics
Git basics
 
Git basics
Git basicsGit basics
Git basics
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
Basic principles of Git
Basic principles of GitBasic principles of Git
Basic principles of Git
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Version Control Systems with git (and github) as an example
Version Control Systems with git (and github) as an exampleVersion Control Systems with git (and github) as an example
Version Control Systems with git (and github) as an example
 
Subversion in a distributed world
Subversion in a distributed worldSubversion in a distributed world
Subversion in a distributed world
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Git in 5 Minutes
Git in 5 MinutesGit in 5 Minutes
Git in 5 Minutes
 

Andere mochten auch

Five Minute Fleet Market Findings
Five Minute Fleet Market FindingsFive Minute Fleet Market Findings
Five Minute Fleet Market Findingscwrighttelematics
 
Practical eCommerce with WooCommerce
Practical eCommerce with WooCommercePractical eCommerce with WooCommerce
Practical eCommerce with WooCommerceBrian Krogsgard
 
Final project for eme 2040
Final project for eme 2040Final project for eme 2040
Final project for eme 2040ellapeters92
 
長野市放課後子ども総合プラン有料化の方針
長野市放課後子ども総合プラン有料化の方針長野市放課後子ども総合プラン有料化の方針
長野市放課後子ども総合プラン有料化の方針長野市議会議員小泉一真
 
Python - پایتون
Python - پایتونPython - پایتون
Python - پایتونefazati
 
United States Armed Forces Decoded
United States Armed Forces DecodedUnited States Armed Forces Decoded
United States Armed Forces Decodedgranimal
 
Power Notes Atomic Structure Day 3
Power Notes   Atomic Structure Day 3Power Notes   Atomic Structure Day 3
Power Notes Atomic Structure Day 3jmori1
 
Kewajipan menunaikan solat
Kewajipan menunaikan solatKewajipan menunaikan solat
Kewajipan menunaikan solatawatifz83
 
Cells homeostasis_and_disease
Cells  homeostasis_and_diseaseCells  homeostasis_and_disease
Cells homeostasis_and_diseasellVictorGmll
 
Overview of the Virginia Education Wizard
Overview of the Virginia Education WizardOverview of the Virginia Education Wizard
Overview of the Virginia Education Wizardchjensen
 
Cameco and indigenous development case study
Cameco and indigenous development   case studyCameco and indigenous development   case study
Cameco and indigenous development case studyWayne Dunn
 

Andere mochten auch (20)

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

Ähnlich wie Subversion to Git Migration

Ähnlich wie Subversion to Git Migration (20)

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

Kürzlich hochgeladen

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Subversion to Git Migration