It’s one thing for a single engineer or small team to move a few dozen repos to a new code hosting provider, it’s another when you have hundreds or thousands. This project was based on a fork but heavily modified as an after-hours utility application to help our department of engineers migrate hundreds of Bitbucket repos and years of data over to GitHub.
Our overarching goal was to evaluate the current code hosting satisfaction across multiple teams. I began by facilitating consensus across those different engineering teams. After gaining enough feedback that switching platforms was clearly advantageous, I then outlined a migration strategy. Through many more conversations around specific edge-cases, our largest drawback was the degree of effort needed to completely migrate all of our repos. This public migrator script was a prototype to demonstrate to all teams and our senior director that it would not only be possible at scale, but relatively painless. Our situation was slightly more complex than what was found on GitHub already (hence the fork). Trying numerous scripts that already existed, this was the best one I could find, so then I heavily modified it for our specific use case. Improving a number of aspects of it and porting it to more specifically address our needs, I hope it helps another team out there.