A few weeks back I got an opportunity to migrate code from Bitbucket to Azure Repos. I had 2 options – (i) Azure Repos UI based migration tool or (ii) automation; powershell is my go-to tool for that. The UI based approach appeared intuitive, so I gave that a try to get a look and feel as to how long the migration took and how the repo looked after the migration.
There were a little more than 3 dozen repositories in total to be migrated and I realized that the approach -UI based (although do-able) was not quite exciting. I then ended up spending time working on an automated approach.
In these notes, I list the two steps that were involved to migrate the repositories from Bitbucket to Azure Repos. This being part 1, I list the steps to migrate using the UI tool. If you want to read the approach using powershell please refer to this article
I had read permission to the bitbucket repository and admin permissions in Azure Repos.
Azure Repos and Bitbucket have Git as underlying source control so moving a repository was simply a matter of cloning an existing repository and changing the host.
Access Azure Repos and click on Import repository (this is the second last option in a drop down list of existing repositories)
Bitbucket’s source type is Git and so moving the repository is straightforward. Clone URL is bitbucket URL when you access a repository. Here is an image of the same.
Copy the Clone URL. This auto fills the Name to the repository -although not mandatory but try not to change that.
Click on Requires authorization and provide your bitbucket username and password/PAT.
Click on Import.
It hardly took a minute to migrate the repository and on Azure Repos portal I was able to view that.
The repository was migrated with all branches, commits and tags which was quite helpful. Just to give a sense of size: this was a 15 MB repository with total 22 branches.
Conclusion: Migrating repository from bitbucket to Azure Repos is super easy and quick but not quite exciting if you have to migrate a large number of repositories. I have a separate note for a powershell based migration approach which is handy if there are more number of repositories to move. Click here to read. I think at the end it comes down to productivity and purpose -take the approach that makes sense.