SlideShare a Scribd company logo
1 of 13
Migrating to Git
PEDRO GONÇALVES • CTO • XPAND IT • @LPSG78
The integration between git and Subversion is
so well done that several of us have been
using git as our interface to all our Subversion
repositories.”
“
With git-svn you can use git to interface SVN repos
JOHN DOE DEVELOPER
GIT SVN
git-svn – use git to interface SVN repos
• Checking out a Subversion repository is as simple as can be
• git-svn clone -s http://example.com/my_subversion_repo local_dir
• Making local branches
• git checkout -b new_branch_name [old_branch_name]
• Adding changes and commiting
• git rm
• git add
• git commit
GIT SVN
git-svn – use git to interface SVN repos
• Merging local branches
• git checkout master
• git merge <feature_branch>
• Updating from and committing back to Subversion
• git-svn rebase
• git-svn dcommit
git-svn is not Git. To
make use of the full
power of Git, you should
migrate!
svn2git is a tiny utility for migrating projects from Subversion to
Git while keeping the trunk, branches and tags where they
should be.
SVN2GIT
svn2git
• Checking out a Subversion repository
• svn2git http://example.com/my_subversion_repo --authors ~/authors.txt
• git branch –a
• git tag –l
• Add remote Git repository
• git remote add origin https://lpsg@apps.xpand-it.com/stash/scm/sandbox/fly-to-the-moon.git
• Push all branches and tags
• git push --all
• git push --tags
SVN2GIT
Some work for the extra mile, don’t forget
to:
• Convert .svnignore to .gitignore (there is a helper script for this)
• Create a proper authors file (there is a helper script for this)
• Shutdown, or set your SVN repo to read-only after the migration
It is possible to use SVN
and Git at the same time!
SubGit is a tool for a smooth, stress-free SVN to Git migration.
Create writable Git mirror of a local or remote Subversion
repository and use both Subversion and Git as long as you like.
SUBGIT MIRROR
• Use SubGit to create a bi-directional
Git-SVN mirror of existing
Subversion repository.
• Push to Git or commit to Subversion
at your convenience.
• SubGit will take care of
synchronization
SVN Mirror for Atlassian Stash
HISTORY
• vss2git - Windows GUI application that exports all or parts of an existing Microsoft
Visual SourceSafe 6.0 repository to a new Git repository
• git-tfs - a two-way bridge between Team Foundation Server Control and git,
similar to git-svn. TFS 2013 already includes a Git Server (direct migration).
Other importers
HISTORY
• git cvsimport - Salvage your data out of another SCM people love to hate
• fast-export - A mercurial to git converter.
• git-p4 - Import from and submit to Perforce repositories
Other importers
Thank you!
PEDRO GONÇALVES • CTO • XPAND IT • @LPSG78

More Related Content

What's hot

Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentationMack Hardy
 
Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Ciro Miranda
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategiesjstack
 
Git tutorial git branches 20131206-Bryan
Git tutorial   git branches 20131206-BryanGit tutorial   git branches 20131206-Bryan
Git tutorial git branches 20131206-BryanLearningTech
 
Branch to branch by Photis Patriotis
Branch to branch by Photis PatriotisBranch to branch by Photis Patriotis
Branch to branch by Photis PatriotisProlific Interactive
 
How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHubNYC DevShop
 
Git Ready! Workflows
Git Ready! WorkflowsGit Ready! Workflows
Git Ready! WorkflowsAtlassian
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model abodeltae
 
Bitbucket pipelines
Bitbucket pipelinesBitbucket pipelines
Bitbucket pipelinesHoffman Lab
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyVivek Parihar
 
Git Series. Episode 2. Merge, Upstream Commands and Tags
Git Series. Episode 2. Merge, Upstream Commands and TagsGit Series. Episode 2. Merge, Upstream Commands and Tags
Git Series. Episode 2. Merge, Upstream Commands and TagsMikhail Melnik
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching modelPavlo Hodysh
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with gitJoseluis Laso
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIsTim Osborn
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence Parag Gajbhiye
 

What's hot (20)

Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
git Technologies
git Technologiesgit Technologies
git Technologies
 
Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)Git basics, Team Workflows (Ciro Miranda)
Git basics, Team Workflows (Ciro Miranda)
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
 
Git tutorial git branches 20131206-Bryan
Git tutorial   git branches 20131206-BryanGit tutorial   git branches 20131206-Bryan
Git tutorial git branches 20131206-Bryan
 
Git flow
Git flowGit flow
Git flow
 
Branch to branch by Photis Patriotis
Branch to branch by Photis PatriotisBranch to branch by Photis Patriotis
Branch to branch by Photis Patriotis
 
CI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelinesCI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelines
 
How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHub
 
Git Ready! Workflows
Git Ready! WorkflowsGit Ready! Workflows
Git Ready! Workflows
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
 
Bitbucket pipelines
Bitbucket pipelinesBitbucket pipelines
Bitbucket pipelines
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching Strategy
 
Git Series. Episode 2. Merge, Upstream Commands and Tags
Git Series. Episode 2. Merge, Upstream Commands and TagsGit Series. Episode 2. Merge, Upstream Commands and Tags
Git Series. Episode 2. Merge, Upstream Commands and Tags
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with git
 
Intro to Gitflow
Intro to GitflowIntro to Gitflow
Intro to Gitflow
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
 

Viewers also liked

Mgidigitalglobalization
MgidigitalglobalizationMgidigitalglobalization
MgidigitalglobalizationVera Kovaleva
 
Introduction Pentaho 5.0
Introduction Pentaho 5.0 Introduction Pentaho 5.0
Introduction Pentaho 5.0 Xpand IT
 
Tecnologìas de la Información y la Comunicación
Tecnologìas de la Información y la ComunicaciónTecnologìas de la Información y la Comunicación
Tecnologìas de la Información y la ComunicaciónYenmely
 
онлайн бронирование модуль для турагенств
онлайн бронирование модуль для турагенствонлайн бронирование модуль для турагенств
онлайн бронирование модуль для турагенствAdrian Parker
 
Online Travel: Today and Tomorrow
Online Travel: Today and TomorrowOnline Travel: Today and Tomorrow
Online Travel: Today and TomorrowYanis Dzenis
 
VirtualSense presentation at FBK
VirtualSense presentation at FBKVirtualSense presentation at FBK
VirtualSense presentation at FBKAlessandro Bogliolo
 
Division of roles and responsibilities
Division of roles and responsibilitiesDivision of roles and responsibilities
Division of roles and responsibilitieskausargulaid
 
MongoDB at Flight Centre Ltd
MongoDB at Flight Centre LtdMongoDB at Flight Centre Ltd
MongoDB at Flight Centre LtdMongoDB
 
Secret Life of a Weather Datum end of project event
Secret Life of a Weather Datum end of project eventSecret Life of a Weather Datum end of project event
Secret Life of a Weather Datum end of project eventlifeofdata
 
Review: Leadership Frameworks
Review: Leadership FrameworksReview: Leadership Frameworks
Review: Leadership FrameworksMariam Nazarudin
 
Amadeus big data
Amadeus big dataAmadeus big data
Amadeus big data승필 고
 
R Statistics With MongoDB
R Statistics With MongoDBR Statistics With MongoDB
R Statistics With MongoDBMongoDB
 
MongoDB and AWS Best Practices
MongoDB and AWS Best PracticesMongoDB and AWS Best Practices
MongoDB and AWS Best PracticesMongoDB
 
Strongly Typed Languages and Flexible Schemas
Strongly Typed Languages and Flexible SchemasStrongly Typed Languages and Flexible Schemas
Strongly Typed Languages and Flexible SchemasNorberto Leite
 
MongoDB at ex.fm
MongoDB at ex.fmMongoDB at ex.fm
MongoDB at ex.fmMongoDB
 
O Diferencial de uma Estratégia Mobile...e Multiplataforma!
O Diferencial de uma Estratégia Mobile...e Multiplataforma!O Diferencial de uma Estratégia Mobile...e Multiplataforma!
O Diferencial de uma Estratégia Mobile...e Multiplataforma!Xpand IT
 

Viewers also liked (20)

Mgidigitalglobalization
MgidigitalglobalizationMgidigitalglobalization
Mgidigitalglobalization
 
Introduction Pentaho 5.0
Introduction Pentaho 5.0 Introduction Pentaho 5.0
Introduction Pentaho 5.0
 
Tecnologìas de la Información y la Comunicación
Tecnologìas de la Información y la ComunicaciónTecnologìas de la Información y la Comunicación
Tecnologìas de la Información y la Comunicación
 
онлайн бронирование модуль для турагенств
онлайн бронирование модуль для турагенствонлайн бронирование модуль для турагенств
онлайн бронирование модуль для турагенств
 
Online Travel: Today and Tomorrow
Online Travel: Today and TomorrowOnline Travel: Today and Tomorrow
Online Travel: Today and Tomorrow
 
VirtualSense presentation at FBK
VirtualSense presentation at FBKVirtualSense presentation at FBK
VirtualSense presentation at FBK
 
Division of roles and responsibilities
Division of roles and responsibilitiesDivision of roles and responsibilities
Division of roles and responsibilities
 
MongoDB at Flight Centre Ltd
MongoDB at Flight Centre LtdMongoDB at Flight Centre Ltd
MongoDB at Flight Centre Ltd
 
Secret Life of a Weather Datum end of project event
Secret Life of a Weather Datum end of project eventSecret Life of a Weather Datum end of project event
Secret Life of a Weather Datum end of project event
 
Special project
Special projectSpecial project
Special project
 
Review: Leadership Frameworks
Review: Leadership FrameworksReview: Leadership Frameworks
Review: Leadership Frameworks
 
Amadeus big data
Amadeus big dataAmadeus big data
Amadeus big data
 
Part 1
Part 1Part 1
Part 1
 
Heyat terzi report (Mart 2016)
Heyat terzi report (Mart 2016)Heyat terzi report (Mart 2016)
Heyat terzi report (Mart 2016)
 
Creative Overview
Creative OverviewCreative Overview
Creative Overview
 
R Statistics With MongoDB
R Statistics With MongoDBR Statistics With MongoDB
R Statistics With MongoDB
 
MongoDB and AWS Best Practices
MongoDB and AWS Best PracticesMongoDB and AWS Best Practices
MongoDB and AWS Best Practices
 
Strongly Typed Languages and Flexible Schemas
Strongly Typed Languages and Flexible SchemasStrongly Typed Languages and Flexible Schemas
Strongly Typed Languages and Flexible Schemas
 
MongoDB at ex.fm
MongoDB at ex.fmMongoDB at ex.fm
MongoDB at ex.fm
 
O Diferencial de uma Estratégia Mobile...e Multiplataforma!
O Diferencial de uma Estratégia Mobile...e Multiplataforma!O Diferencial de uma Estratégia Mobile...e Multiplataforma!
O Diferencial de uma Estratégia Mobile...e Multiplataforma!
 

Similar to Migrating to git

Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitRobert Lee-Cann
 
Git extension-training
Git extension-trainingGit extension-training
Git extension-trainingEric Guo
 
Version control git day02
Version control   git day02Version control   git day02
Version control git day02Gourav Varma
 
Version control git day03
Version control   git day03Version control   git day03
Version control git day03Gourav Varma
 
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Ahmed El-Arabawy
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdfTilton2
 
Git and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slideGit and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slideRaghavendraVattikuti1
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHubUri Goldstein
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hubNaveen Pandey
 

Similar to Migrating to git (20)

Git
GitGit
Git
 
Subversion to Git Migration
Subversion to Git MigrationSubversion to Git Migration
Subversion to Git Migration
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
 
Git extension-training
Git extension-trainingGit extension-training
Git extension-training
 
Version control git day02
Version control   git day02Version control   git day02
Version control git day02
 
Git overview
Git overviewGit overview
Git overview
 
Git tips and tricks
Git   tips and tricksGit   tips and tricks
Git tips and tricks
 
Version control git day03
Version control   git day03Version control   git day03
Version control git day03
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
 
Git and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slideGit and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slide
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Git
GitGit
Git
 
GIT.pptx
GIT.pptxGIT.pptx
GIT.pptx
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
 
FLOSS.pptx
FLOSS.pptxFLOSS.pptx
FLOSS.pptx
 
GIT By Sivakrishna
GIT By SivakrishnaGIT By Sivakrishna
GIT By Sivakrishna
 

More from Xpand IT

Xray & Xporter were in Austria: Jira & Confluence Solutions Day 2018
Xray & Xporter were in Austria: Jira & Confluence Solutions Day 2018Xray & Xporter were in Austria: Jira & Confluence Solutions Day 2018
Xray & Xporter were in Austria: Jira & Confluence Solutions Day 2018Xpand IT
 
Using Xamarin for your Mobile+ Apps – Xamarin Experience London 2017
Using Xamarin for your Mobile+ Apps – Xamarin Experience London 2017Using Xamarin for your Mobile+ Apps – Xamarin Experience London 2017
Using Xamarin for your Mobile+ Apps – Xamarin Experience London 2017Xpand IT
 
Xporter for Jira - Overview
Xporter for Jira - OverviewXporter for Jira - Overview
Xporter for Jira - OverviewXpand IT
 
Xray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA processXray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA processXpand IT
 
Xpand Addons - Addon Discovery Day 2017
Xpand Addons - Addon Discovery Day 2017Xpand Addons - Addon Discovery Day 2017
Xpand Addons - Addon Discovery Day 2017Xpand IT
 
Xray for Jira 3.0 - What's New?
Xray for Jira 3.0 - What's New?Xray for Jira 3.0 - What's New?
Xray for Jira 3.0 - What's New?Xpand IT
 
Xray for Jira - Overview
Xray for Jira - OverviewXray for Jira - Overview
Xray for Jira - OverviewXpand IT
 
Xporter for Jira - Advanced topics
Xporter for Jira  - Advanced topicsXporter for Jira  - Advanced topics
Xporter for Jira - Advanced topicsXpand IT
 
Keynote - Xamarin Experience London 2017
Keynote - Xamarin Experience London 2017 Keynote - Xamarin Experience London 2017
Keynote - Xamarin Experience London 2017 Xpand IT
 
Welcome & Introduction – Xamarin Experience London 2017
Welcome & Introduction – Xamarin Experience London 2017 Welcome & Introduction – Xamarin Experience London 2017
Welcome & Introduction – Xamarin Experience London 2017 Xpand IT
 
Gathering Customer Insights with Sitecore - Xamarin Experience London 2017
Gathering Customer Insights with Sitecore - Xamarin Experience London 2017Gathering Customer Insights with Sitecore - Xamarin Experience London 2017
Gathering Customer Insights with Sitecore - Xamarin Experience London 2017Xpand IT
 
Why Speed Matters in Mobile Apps – Xamarin Experience London 2017
Why Speed Matters in Mobile Apps – Xamarin Experience London 2017Why Speed Matters in Mobile Apps – Xamarin Experience London 2017
Why Speed Matters in Mobile Apps – Xamarin Experience London 2017Xpand IT
 
Mobile & Cognitive Services | Harnessing the Power of IoT – Xamarin Experienc...
Mobile & Cognitive Services | Harnessing the Power of IoT – Xamarin Experienc...Mobile & Cognitive Services | Harnessing the Power of IoT – Xamarin Experienc...
Mobile & Cognitive Services | Harnessing the Power of IoT – Xamarin Experienc...Xpand IT
 
Atlassian Tools in Practice: A Customer Success Story – Xpand IT & Atlassian ...
Atlassian Tools in Practice: A Customer Success Story – Xpand IT & Atlassian ...Atlassian Tools in Practice: A Customer Success Story – Xpand IT & Atlassian ...
Atlassian Tools in Practice: A Customer Success Story – Xpand IT & Atlassian ...Xpand IT
 
The Secret Sauce of Successful Teams - Xpand IT & Atlassian JAM Sessions 2017
The Secret Sauce of Successful Teams - Xpand IT & Atlassian JAM Sessions 2017The Secret Sauce of Successful Teams - Xpand IT & Atlassian JAM Sessions 2017
The Secret Sauce of Successful Teams - Xpand IT & Atlassian JAM Sessions 2017Xpand IT
 
Quality Assurance Made Easy in JIRA - Xpand IT & Atlassian JAM Sessions 2017
Quality Assurance Made Easy in JIRA - Xpand IT & Atlassian JAM Sessions 2017Quality Assurance Made Easy in JIRA - Xpand IT & Atlassian JAM Sessions 2017
Quality Assurance Made Easy in JIRA - Xpand IT & Atlassian JAM Sessions 2017Xpand IT
 
Improved Reporting with JIRA Add-ons - Xpand IT & Atlassian JAM Sessions 2017
Improved Reporting with JIRA Add-ons - Xpand IT & Atlassian JAM Sessions 2017Improved Reporting with JIRA Add-ons - Xpand IT & Atlassian JAM Sessions 2017
Improved Reporting with JIRA Add-ons - Xpand IT & Atlassian JAM Sessions 2017Xpand IT
 
How our Team Collaborates with Atlassian Tools - Xpand IT & Atlassian JAM Ses...
How our Team Collaborates with Atlassian Tools - Xpand IT & Atlassian JAM Ses...How our Team Collaborates with Atlassian Tools - Xpand IT & Atlassian JAM Ses...
How our Team Collaborates with Atlassian Tools - Xpand IT & Atlassian JAM Ses...Xpand IT
 
Welcome & Introduction - Xpand IT & Atlassian JAM Sessions 2017
Welcome & Introduction - Xpand IT & Atlassian JAM Sessions 2017 Welcome & Introduction - Xpand IT & Atlassian JAM Sessions 2017
Welcome & Introduction - Xpand IT & Atlassian JAM Sessions 2017 Xpand IT
 
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017 The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017 Xpand IT
 

More from Xpand IT (20)

Xray & Xporter were in Austria: Jira & Confluence Solutions Day 2018
Xray & Xporter were in Austria: Jira & Confluence Solutions Day 2018Xray & Xporter were in Austria: Jira & Confluence Solutions Day 2018
Xray & Xporter were in Austria: Jira & Confluence Solutions Day 2018
 
Using Xamarin for your Mobile+ Apps – Xamarin Experience London 2017
Using Xamarin for your Mobile+ Apps – Xamarin Experience London 2017Using Xamarin for your Mobile+ Apps – Xamarin Experience London 2017
Using Xamarin for your Mobile+ Apps – Xamarin Experience London 2017
 
Xporter for Jira - Overview
Xporter for Jira - OverviewXporter for Jira - Overview
Xporter for Jira - Overview
 
Xray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA processXray for Jira - How to automate your QA process
Xray for Jira - How to automate your QA process
 
Xpand Addons - Addon Discovery Day 2017
Xpand Addons - Addon Discovery Day 2017Xpand Addons - Addon Discovery Day 2017
Xpand Addons - Addon Discovery Day 2017
 
Xray for Jira 3.0 - What's New?
Xray for Jira 3.0 - What's New?Xray for Jira 3.0 - What's New?
Xray for Jira 3.0 - What's New?
 
Xray for Jira - Overview
Xray for Jira - OverviewXray for Jira - Overview
Xray for Jira - Overview
 
Xporter for Jira - Advanced topics
Xporter for Jira  - Advanced topicsXporter for Jira  - Advanced topics
Xporter for Jira - Advanced topics
 
Keynote - Xamarin Experience London 2017
Keynote - Xamarin Experience London 2017 Keynote - Xamarin Experience London 2017
Keynote - Xamarin Experience London 2017
 
Welcome & Introduction – Xamarin Experience London 2017
Welcome & Introduction – Xamarin Experience London 2017 Welcome & Introduction – Xamarin Experience London 2017
Welcome & Introduction – Xamarin Experience London 2017
 
Gathering Customer Insights with Sitecore - Xamarin Experience London 2017
Gathering Customer Insights with Sitecore - Xamarin Experience London 2017Gathering Customer Insights with Sitecore - Xamarin Experience London 2017
Gathering Customer Insights with Sitecore - Xamarin Experience London 2017
 
Why Speed Matters in Mobile Apps – Xamarin Experience London 2017
Why Speed Matters in Mobile Apps – Xamarin Experience London 2017Why Speed Matters in Mobile Apps – Xamarin Experience London 2017
Why Speed Matters in Mobile Apps – Xamarin Experience London 2017
 
Mobile & Cognitive Services | Harnessing the Power of IoT – Xamarin Experienc...
Mobile & Cognitive Services | Harnessing the Power of IoT – Xamarin Experienc...Mobile & Cognitive Services | Harnessing the Power of IoT – Xamarin Experienc...
Mobile & Cognitive Services | Harnessing the Power of IoT – Xamarin Experienc...
 
Atlassian Tools in Practice: A Customer Success Story – Xpand IT & Atlassian ...
Atlassian Tools in Practice: A Customer Success Story – Xpand IT & Atlassian ...Atlassian Tools in Practice: A Customer Success Story – Xpand IT & Atlassian ...
Atlassian Tools in Practice: A Customer Success Story – Xpand IT & Atlassian ...
 
The Secret Sauce of Successful Teams - Xpand IT & Atlassian JAM Sessions 2017
The Secret Sauce of Successful Teams - Xpand IT & Atlassian JAM Sessions 2017The Secret Sauce of Successful Teams - Xpand IT & Atlassian JAM Sessions 2017
The Secret Sauce of Successful Teams - Xpand IT & Atlassian JAM Sessions 2017
 
Quality Assurance Made Easy in JIRA - Xpand IT & Atlassian JAM Sessions 2017
Quality Assurance Made Easy in JIRA - Xpand IT & Atlassian JAM Sessions 2017Quality Assurance Made Easy in JIRA - Xpand IT & Atlassian JAM Sessions 2017
Quality Assurance Made Easy in JIRA - Xpand IT & Atlassian JAM Sessions 2017
 
Improved Reporting with JIRA Add-ons - Xpand IT & Atlassian JAM Sessions 2017
Improved Reporting with JIRA Add-ons - Xpand IT & Atlassian JAM Sessions 2017Improved Reporting with JIRA Add-ons - Xpand IT & Atlassian JAM Sessions 2017
Improved Reporting with JIRA Add-ons - Xpand IT & Atlassian JAM Sessions 2017
 
How our Team Collaborates with Atlassian Tools - Xpand IT & Atlassian JAM Ses...
How our Team Collaborates with Atlassian Tools - Xpand IT & Atlassian JAM Ses...How our Team Collaborates with Atlassian Tools - Xpand IT & Atlassian JAM Ses...
How our Team Collaborates with Atlassian Tools - Xpand IT & Atlassian JAM Ses...
 
Welcome & Introduction - Xpand IT & Atlassian JAM Sessions 2017
Welcome & Introduction - Xpand IT & Atlassian JAM Sessions 2017 Welcome & Introduction - Xpand IT & Atlassian JAM Sessions 2017
Welcome & Introduction - Xpand IT & Atlassian JAM Sessions 2017
 
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017 The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017
The Real World with OpenShift - Red Hat DevOps & Microservices Conference 2017
 

Migrating to git

  • 1. Migrating to Git PEDRO GONÇALVES • CTO • XPAND IT • @LPSG78
  • 2. The integration between git and Subversion is so well done that several of us have been using git as our interface to all our Subversion repositories.” “ With git-svn you can use git to interface SVN repos JOHN DOE DEVELOPER
  • 3. GIT SVN git-svn – use git to interface SVN repos • Checking out a Subversion repository is as simple as can be • git-svn clone -s http://example.com/my_subversion_repo local_dir • Making local branches • git checkout -b new_branch_name [old_branch_name] • Adding changes and commiting • git rm • git add • git commit
  • 4. GIT SVN git-svn – use git to interface SVN repos • Merging local branches • git checkout master • git merge <feature_branch> • Updating from and committing back to Subversion • git-svn rebase • git-svn dcommit
  • 5. git-svn is not Git. To make use of the full power of Git, you should migrate! svn2git is a tiny utility for migrating projects from Subversion to Git while keeping the trunk, branches and tags where they should be.
  • 6. SVN2GIT svn2git • Checking out a Subversion repository • svn2git http://example.com/my_subversion_repo --authors ~/authors.txt • git branch –a • git tag –l • Add remote Git repository • git remote add origin https://lpsg@apps.xpand-it.com/stash/scm/sandbox/fly-to-the-moon.git • Push all branches and tags • git push --all • git push --tags
  • 7. SVN2GIT Some work for the extra mile, don’t forget to: • Convert .svnignore to .gitignore (there is a helper script for this) • Create a proper authors file (there is a helper script for this) • Shutdown, or set your SVN repo to read-only after the migration
  • 8. It is possible to use SVN and Git at the same time! SubGit is a tool for a smooth, stress-free SVN to Git migration. Create writable Git mirror of a local or remote Subversion repository and use both Subversion and Git as long as you like.
  • 9. SUBGIT MIRROR • Use SubGit to create a bi-directional Git-SVN mirror of existing Subversion repository. • Push to Git or commit to Subversion at your convenience. • SubGit will take care of synchronization
  • 10. SVN Mirror for Atlassian Stash
  • 11. HISTORY • vss2git - Windows GUI application that exports all or parts of an existing Microsoft Visual SourceSafe 6.0 repository to a new Git repository • git-tfs - a two-way bridge between Team Foundation Server Control and git, similar to git-svn. TFS 2013 already includes a Git Server (direct migration). Other importers
  • 12. HISTORY • git cvsimport - Salvage your data out of another SCM people love to hate • fast-export - A mercurial to git converter. • git-p4 - Import from and submit to Perforce repositories Other importers
  • 13. Thank you! PEDRO GONÇALVES • CTO • XPAND IT • @LPSG78