Hello, we’re considering using SubGit to power our SVN-to-Git migration. This is a large set of very large repositories and would be an enterprise licensing for 25-50 users for 12-24 months. We have a very unique Subversion layout, so I’d like to run the rough details by you and make sure your product can support it before we start trying it out.
We have a single Subversion server containing 132 repositories. Each Subversion repository contains anywhere from 1000 to 100,000 commits (over a 20±year time span) and encompasses anywhere from 1 to 300 “components.” We would migrate just one of these 132 repositories for now (more in the future). However, that single Subversion repository contains over 200 “components,” (and about 70,000 commits) and each “component” will become its own Git repository on Bitbucket (so a single Subversion repository will become ~200 Git/Bitbucket repositories). Paths to components could take different routes, such as “foo/bar/Component1,” “foo/bar/Component2,” “baz/qux/Component3,” etc., and the corresponding Git repository names would be “Component1-bar,” “Component2-bar,” “Component3-qux,” etc.
In addition to this non-standard layout of hundreds of repositories in a single repository, none of these components/repositories have trunks. Each component is comprised of a set of branches as the top-level folders in that component folder. The branches all have intermingled merge history, but none of them derive from or arrive to a trunk/master. We can, as likely necessary, select a “default” branch for each component/repository, but it would be different default branch name for each, not a standard name across all of them.
So, the first/simplest question is: Can SubGit do this? The next question is: What kind of time frame are we looking at for a 70,000-commit migration here, and will the “subgit install” command show any kind of progress meter while it migrates history? As a first step while I researched other options (like SubGit), I began a “git svn clone” process for a single component. It’s been going for about 6 hours now, and there’s no indication of how much longer it has left. Initial online inquiries show reports of 1 hour to 2 weeks to do a “git svn clone,” depending on Subversion repository size.
Thanks in advance for proving some technical guidance while we get started.