When software development teams grow and evolve, they may need to move their code repositories from one platform to another. However, moving repositories can be a complex process, especially if the repositories contain large file histories. In this article, we will discuss the advantages and disadvantages of migrating from Bitbucket to GitHub and Azure DevOps, particularly with large file histories.

Migrating from Bitbucket

Choosing to migrate your Bitbucket repositories is a big decision. Maybe you want to consolidate your tools into fewer ecosystems. Perhaps your repository is getting too large and you want to have more space to grow. Or maybe you want more flexibility in customization. Whatever the reason, it’s important to consider the pros and cons of each tool.


Migrating to GitHub

GitHub is the largest code hosting platform in the world, which means it comes with a huge community. This community can provide support and collaboration, especially with tools like pull requests and code reviews. Furthermore, GitHub is owned by Microsoft, which means it integrates well with their tools.

However, GitHub does have some disadvantages, particularly for migrating a repository with large history. For instance, large repositories can negatively affect performance. GitHub recommends repos less than 1 GB for optimal performance, and no greater than 5GB. Furthermore, GitHub blocks files larger than 100MB. For these larger files, you can use Git Large File Storage (LFS) to refactor your artifacts.

Migrating to Azure DevOps

Azure Repos is a part of the Azure DevOps suite of tools. This means that it has the major advantage of native integration with the rest of the Azure DevOps suite, Azure, and Visual Studio, making it a more natural choice for migration if you’re already using these tools. It also has similar integration and collaboration tools as Github. However, Azure DevOps does not currently have the same community that GitHub has. Furthermore, some new users find the learning curve and the sheer volume of tools available to be intimidating.

That said, Azure DevOps does not have the same size restrictions that GitHub does. For instance, repositories are limited to 250GB, but the recommended size for optimal performance is 10GB. Additionally, Azure DevOps allows pushes up to 5GB. Azure DevOps also allows for Git LFS to manage larger files, in addition to Azure Artifacts.

For more information, or to get started today, contact our team of experts here at PRAKTIK.