SVN to Git Migration
Technology➔    Gitolite.➔    Atlassian Suite.➔    Internal system ”Octopus”.
Migrating the code
git-svn➔    Slow...➔    Didnt handle shallow merges well.➔    Our old branches didnt map well.➔    Works fine for small re...
svn-all-fast-export➔    Faster.➔    Direct access to git from C libs.➔    Easier to configure.
svn-all-fast-export# rules­mapcreate repository bigcommerceend repository match /trunk/    repository bigcommerce    branc...
svn-all-fast-export# svn­authorsanna.pomroy = Anna Pomroy <anna.pomroy@bigcommerce.com>chris.beckett = Chris Beckett <chri...
svn-all-fast-export➔    Problem:                  Post migration branch amnesia.                  Only affected some bra...
svn-all-fast-export➔    Problem:                  Wrong revision used to create a branch on            import.➔    Soluti...
How are we using git?
SVN branching model                                        Tues       Mon            Tues       MonStability              ...
Gitflow branching model                                    Tues       Mon   Tues        MonStability                      ...
Rome wasntbuilt in a day...
Identified issues➔    svn:ignore.                  Create .gitignore➔    Empty directories.                  Fill with ....
Unidentified problems➔    ”Time & tide waits for no man”.                  We were fixing the deployment system          ...
Why did we do it?                           ”...what if anything is    ”I miss my git            blocking us from         ...
Immediate Benefits➔    Decentralised, remote work.➔    Much, much faster.➔    Staged commits, stashes.➔    Flexible & powe...
Questions?
Upcoming SlideShare
Loading in …5
×

Subversion to Git Migration

1,020
-1

Published on

Talk I presented at the BigCommerce meetup recently

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,020
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Subversion to Git Migration

  1. 1. SVN to Git Migration
  2. 2. Technology➔ Gitolite.➔ Atlassian Suite.➔ Internal system ”Octopus”.
  3. 3. Migrating the code
  4. 4. git-svn➔ Slow...➔ Didnt handle shallow merges well.➔ Our old branches didnt map well.➔ Works fine for small repos.➔ Not right for our repo.
  5. 5. svn-all-fast-export➔ Faster.➔ Direct access to git from C libs.➔ Easier to configure.
  6. 6. svn-all-fast-export# rules­mapcreate repository bigcommerceend repository match /trunk/  repository bigcommerce  branch master end match...match /branches/([^/]+)/ repository bigcommerce branch 1end match...match /tags/7.3.23/ repository bigcommerce branch refs/tags/7.3.23 annotated trueend match
  7. 7. svn-all-fast-export# svn­authorsanna.pomroy = Anna Pomroy <anna.pomroy@bigcommerce.com>chris.beckett = Chris Beckett <chris.beckett@bigcommerce.com>chris.boulton = Chris Boulton <chris.boulton@bigcommerce.com>...# import commandsvn­all­fast­export ­­identity­map svn­authors ­­rules map ­­add­metadata /var/svn/bigcommerce
  8. 8. 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!
  9. 9. 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...
  10. 10. How are we using git?
  11. 11. SVN branching model Tues Mon Tues MonStability Feature-Y Feature-X Trunk RC-02 x RC-01 tfi Ho 1.0 1.2 Time
  12. 12. Gitflow branching model Tues Mon Tues MonStability Feature/y Feature/x Develop Release/1.0 Release/1.3 master 1.3 1.0 1.2 1.3 Time
  13. 13. Rome wasntbuilt in a day...
  14. 14. Identified issues➔ svn:ignore.  Create .gitignore➔ Empty directories.  Fill with .empty files➔ Commit hooks.  Use gitty for hook management.
  15. 15. 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.
  16. 16. Why did we do it? ”...what if anything is ”I miss my git blocking us from switching to git forstaging area already” source control?” ”Maybe we should ”f**k; I keep evaluate git more” typing git status”
  17. 17. Immediate Benefits➔ Decentralised, remote work.➔ Much, much faster.➔ Staged commits, stashes.➔ Flexible & powerful cmd line.
  18. 18. Questions?
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×