What to do with your Mercurial repos when Bitbucket sunsets support

Hi Atlassian community,

Amber Van Hecke from the Bitbucket Product team here.

The Bitbucket team recently announced that we will be removing Mercurial support from Bitbucket Cloud and the API. Mercurial features and repositories will be officially removed from Bitbucket and its API on July 1, 2020. (Note: We have extended 30 days from the original date of June 1, 2020.)

Why we’re doubling focus on Git

It wasn’t an easy decision, and Mercurial will always have a special place in Bitbucket's history.

Bitbucket has steadily grown beyond being just a platform for version control to being a place to manage the entire software development lifecycle. In answer to customer need and market trends, this year we will focus on building deeper integrations to enhance automation and collaboration. Our improvements will make it even easier and safer to plan, code, test, and deploy all from within Bitbucket.

Building quality features requires intense focus, and supporting two version control systems means splitting focus - doubling shipping time and technical overhead. With Git being the more popularly used tool, Mercurial runs the risk of overlooked issues as we scale.

According to a Stack Overflow Developer Survey, almost 90% of developers use Git, while Mercurial is the least popular version control system with only about 3% developer adoption. In fact, Mercurial usage on Bitbucket is steadily declining, and the percentage of new Bitbucket users choosing Mercurial has fallen to less than 1%. This deprecation will allow us to singularly focus on building the best possible experience for the lions share of the market and our users.

Let’s chat migration & exporting

Our hope is for affected teams to be able to stay in Bitbucket. That’s why we created this forum to discuss conversion tools, best practices, and help troubleshoot any issues you might come across.

We also realize that others may want to continue using Mercurial on a different hosting service. We’re here to help you discover the best export options in that case as well.

There is no one-size-fits-all solution as the best alternative will depend on your team’s unique use case. Looking forward to helping make this transition as seamless as possible.

526 comments

Adam Arp August 20, 2019

We've got a mix of Git and Mercurial repositories but I'm not seeing a good way to filter them. I can't remember the details of 300+ repositories. Adding a filter option or an icon for the Mercurial repositories in the repositories list would be really useful.

Like # people like this
pi11 NA August 20, 2019

If you add option for automatic convertion of repo, that be greate

Like # people like this
Shane Loretz August 20, 2019

> all Mercurial repositories will be removed

 

> We recommend that teams migrate their existing Mercurial repos to Git

 

Is it possible to change the type of a repository hosted on Bitbucket? That is, can an existing mercurial repository hosted on Bitbucket become a git repository without losing issues and the ability to see past pull requests?


EDIT

@AmberVHspeaking for the Atlassian team says:


> We considered a conversion tool but ultimately [...] we are not planning to add a conversion tool

I interpret that as an answer to this question: No, it is not possible, and won't become possible. Issues, pull requests, wikis, comments, etc on all mercurial repos will be deleted.

Like # people like this
pepperjohn August 20, 2019

Rather than migrating each repository by hand, I'd really like to see BitBucket offer one-click in-place migrations. Seems like you could write an automation that saves your customers thousands of hours in aggregate.

Like # people like this
AmberVH
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 20, 2019

@Adam Arp , we definitely plan to add a UI component that makes filtering more simple. In the meantime you can reach out to Bitbucket Support and we can get that list for you. 

Like # people like this
Alexander Bogdanov August 20, 2019

While I personally hate to move from mercurial to git, is there any hope not to be forced to convert all of my repositories by hand?

Like # people like this
mkamm August 20, 2019

The message "all your Mercurial repositories will be removed" is definitely harming customer confidence.
Probably most Mercurial customers will either move their repos to another Mercurial site or else they convert the affected repositories to git and move to a provider with - let's hope so - more long term service continuity.

Like # people like this
tcuvelier August 20, 2019

So, what are the remaining advantages of Bitbucket over GitHub? Bitbucket only has a fourth of GitHub users, so Bitbucket should close and make everyone migrate to GitHub. (Sorry, I couldn't help :)!) But the main reason I've used Bitbucket is Mercurial support…

If there is no automated script to make the transition, I'm afraid all my repos will migrate to GitHub.

Like # people like this
Svante Seleborg August 20, 2019

A vote for a migration tool on Bitbucket. I fully support the decision to drop Mercurial - but... Having each and every repository owner figure out the ins and outs of a no-frills conversion is really not very efficient.

Just a "clone as git" option, exporting the Mercurial repo to a local git repo would do just fine. Even better would of course be to it entirely on the Bitbucket server, i.e. "Copy to git" or something like that.

As a courtesy to us long-time and loyal Mercurial Bitbucket users, it would be very much appreciated gesture.

If it's not a one-click operation on Bitbucket, GitHub seems like a good option to migrate to, if we're anyway doing all the work. We like Bitbucket, but...

Like # people like this
Adam Jones August 20, 2019

Piling on: I would expect that Atlassian would offer an online, single-click conversion method to allow me to remain a BitBucket customer. I chose BitBucket for Mercurial support.  If I'm going to be forced to switch to the "industry standard" of Git and Atlassian is offering no method to smoothly make that transition, why shouldn't I also switch to the industry standard of GitHub?

Like # people like this
frankconradie August 20, 2019

I initially thought this was an April fool's joke, then I realized it was August. The only reason we chose BitBucket over GitHub in the first place was because of the Mercurial support, so we really have no reason to stay with BitBucket if Mercurial is removed. A sad day indeed, but hey, the almighty buck wins out again over customer loyalty :(

Like # people like this
Dan Cumings August 20, 2019

Kind of bummed out over this.  I have used git and its ok but working with mercurial has always been less of a hassle.  It might make more sense to switch to github since a big reason we use Mercurial is how easy it is to use Tortoise HG.   I have tried using Scourcetree before and even just authenticating with ssh is painful.

Like # people like this
cayhorstmann August 20, 2019

So, I gave git-fast-export a try, following the instructions at https://dzone.com/articles/convert-a-mercurial-repository-to-git-using-hg-fas

It immediately failed (on Linux), due to bug https://github.com/frej/fast-export/issues/132. The remedy from the bug report (to downgrade to tags/v180317) worked for a simple repo.

Of course, I have no way of knowing whether this is a reasonable thing to do, and I would very much hope that Atlassian can do that kind of research for us.

It seems that GitHub has an importing tool that can convert a Mercurial repo.

Like # people like this
Dan Cumings August 20, 2019

What is a good alternative for hosting mercurial (cloud providers)

Ideally with the following features

  1. Online pull request system
  2. Ability to give permissions to different users/groups
  3. Organize hundreds of repositories
  4. Search multiple repositories for keywords
Like # people like this
Toby Wilkinson August 20, 2019

Basically +1 on "Please don't do this"

If I wanted git hosting, I'd use Github; I use Bitbucket because I want to use Mercurial (has anyone ever been asked to showcase their Bitbucket repositories in a job interview?)

I'd be interested in any suggestions of alternatives.

Like # people like this
firesoul453 August 20, 2019

Will Hg be removed from Sourcetree?

Like # people like this
ged August 20, 2019

This is honestly better than the half-assed Mercurial support that has been on offer at Bitbucket ever since they started supporting Git. It's going to be a major PITA to migrate somewhere else, but I've suspected I was going to have to for a year or more now. Thanks, though, for the 8+ years or so of hosting.

Like # people like this
AmberVH
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 20, 2019

@Dan Cumings there are many options available, you can find a comprehensive list here. Furthermore, I have heard good things about Codebase, Rhodecode, and Kiln/FogBugz. Since different tools can be great for varying use cases, I recommend giving multiple tools a try. 

Like # people like this
AmberVH
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 20, 2019

@firesoul453 there are no plans to remove Hg from SourceTree. 

Like # people like this
RMS2 August 20, 2019

This was good timing by Atlassian as we review our source code control choices. With an equal mix of Mercurial  and Git we initially chose Bitbucket as it supported both. I see that our decisions are:

Decision One

  • EITHER Migrate every Mercurial repository and associated scripts to Git
  • OR Stay with Mercurial

Decision Two

  • EITHER Migrate every repository to alternative provider (RhodeCode hosted on DO)  [and migrate any curated wiki/issues]
  • OR Stay with BitBucket as a provider

Decision Three

  • EITHER Stay with SourceTree (suspect Mercurial support will be dropped)
  • OR Switch to SmartGit

In either decision case, we have at a minimum to modify either the URL of the repositories or how we use the repositories AND their URL.

My gut feel is that I suspect it will be easier to migrate repositories to an alternative provider over the space of a few months.

 

--

We are testing https://hg-git.github.io/ extension for Mercurial with some mixed results.

  

Like # people like this
oliviercollet August 20, 2019

All my repos are going to be deleted :O

Like # people like this
ammarhakim August 20, 2019

Its very ominous to hear that one's private repositories, for which one is paying monthly subscription fees will be deleted. Is there no sense here that this is a serious violation of customer trust. What makes one believe that one day we won't wake up to learn that in a few hours all our repositories will be deleted due to some other "hard decision" Altassian has to make?

Like # people like this
AmberVH
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 20, 2019

@ammarhakim I understand the frustration and I acknowledge the burden that has been placed on you. That said, I hope that by offering 9+ months of headway, you will have ample time to determine the solution that is best for you. In the meantime, our support teams will be available to help our customers with any questions they have along the way. 

Like Silas Miller likes this
lommmzar August 20, 2019

This is very disappointing.  My sole reason for using Bitbucket over the last few years has been its support for Mercurial.  I suppose I can understand the business case for it, given the numbers, but it always saddens me that Git has outperformed Mercurial to such an extent when Mercurial is (at least in my eyes) the far superior of the two.  I guess I'll be migrating to OSDN now.

Like # people like this
Rarified August 20, 2019

Another vote for an in-place migration method.  Seems like a win-win addition to keep BitBucket relevant to a lot of projects.

Like # people like this

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events