gitsvngit-svngit-clonesvnsync

Incremental Migration from SVN to Git


Consider my below scenario :

Suppose my svn repository contains 100 revisions, which has been migrated to Git Repository (So my Git contains the 100 revisions).

Now my svn repository got updated, say with 5 more revisions hence it has 105 revisions. How do i migrate only the revisions 101 t0 105 to my GIT repository?

The main challenges I have :

  1. I dont want to sync both SVN and Git.(SVN will be decommisioned soon)
  2. I need to migrate the Revisions with its history.

I tried following up with these links which dont help me,(fyi)

  1. Using svnsync

  2. USing git svn clone


Solution

  • Use git-svn. When you do initial clone git svn clone ... you will get the first 100 revisions. Later you do git svn fetch which would fetch the newly appeared 5 revisions.

    All 105 revisions will be present in a correct order thus the history will be preserved.

    Update:

    If you wish to avoid getting first 100 revisions, do git svn init with fetch initially:

    git svn init ...
    git svn fetch -r <svn revision you want to start from>