Reputation: 529
So I have been tasked with migrating a SVN repo with 155K+ revisions over to Git. I have done a lot of research and tests and I think I have a pretty good idea of how I am going to achieve this. That being said, I do have a few questions/concerns.
I am using svn2git (svn-all-fast-export
https://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git by KDE) on a Linux Red Hat system because that is without a doubt the most performant way of performing the conversion.
This is not something that I will happen over night though and I would prefer to be able to implement kind of a "transition" where I periodically sync the SVN repo to my Linux VM from where I continuosly migrate new commits coming in (maybe once per hour). I think I know how to do this using either svnsync or rsync (trying svnsync for now) for syncing the local copy and then using the svn-all-fast-export --resume-from= flag to convert the new incoming commits. I get the previous last converted revision number from the log file. The sync + migration-update I plan to do as part of a cron job on the Linux machine. For now, the resulting git repo is local on the machine only.
The problem / question: The repo has A LOT of binaries which I do NOT want to push to our git remote. I am familiar with Git LFS and have recently done a Git LFS migration on an existing Git repo (though way smaller in size). My plan is to perform a migration to LFS from the converted Git repo using BFG Repo cleaner (https://rtyley.github.io/bfg-repo-cleaner/). The problem is that once I do the LFS migration, I do not think I can easily maintain my planned sync flow as the git history will be completely re-written by the LFS migration and I do not think I can just "on the fly" convert new incoming SVN revisions to git commits and add them to the LFS-migrated repo... Any suggestions on how this could be done, without performing the LFS migration at the very end during the night when everyone are sleeping, and then in the morning force everyone to use Git? :P
Upvotes: 0
Views: 77