I am working on a project that has been running from quite some time now. It is hosted on SVN. It has 24K revisions. Someone in the organisation thought (and I agree) it would be great if we could migrate all the projects in the organisation from SVN to GIT. Its easy said than done. Our project is a very critical to maintaining inventories and is due in production next quarter. The timeline for migration is set to December end. This means that we neither have a wait time nor the luxury of freezing the SVN repository. I decided to take following approach:
- Create a dump of the current repository using
svnrdump
. This took around 3Hrs. - Load the dump to the local
svn
repository. This took around 12Hrs. - Convert local
svn
repositories togit
usinggit svn clone
. This takes more than 73Hrs. - Push this
git
repository to theremote
.
Now while these steps were being performed, some new commits were made to the existing remote SVN
repository. Is there a way, I could merge these new changes to the new remote git
repository. It is worth noting that we want to retain all the commit histories from SVN. If there is a way to do this, it would mean that we will have to freeze the current remote SVN only for a couple of hours. I would also like to mention that our new git
repository is hosted on gitlab
. Is there a better way of doing this?