It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

What to do with your Mercurial repos when Bitbucket sunsets support


I have been a long term fan of Mercurial and it's still my personal preference (I find it more logical/natural). However, everyone else around me was using Git, so I was kind of forced to at least use it for work related staff, but kept using Mercurial for personal projects. In the beginning I used BitBucket for personal repositories (open source mainly), then I tried GitHub and noticed that on GitHub projects get noticed much more. You would get PRs and discussions, but I was still very loyal to BitBucket, since it served me well for years and I kept in sync all of my open source repositories on both GitHub and BitBucket.

This year, it changed. Despite good service in past, I had to remove all BitBucket mentions from the code. Partly due to anger. I still don't understand, why BitBucket didn't provide us with a single button to convert a Mercurial repository to Git repository. If GitHub could nicely make an import script, why was BitBucket unable to do so for its' own service?

So, you're talking to someone who likes/used Mercurial (and used to like/use BitBucket) for years.

You know why Git is so popular? Because GitHub is big, nicely designed, welcoming and free. You know why Mercurial was popular? Because BitBucket  was free and unlimited for private repositories. What do we have now? No free Mercurial hosting (something similar to what BitBucket was back in the days and what GitHub is now).

For me, that's the end Mercurial and the BitBucket. Someone else may think differently.

Like diverger likes this

@Betalord I think it's a matter of methodology. Some may argue, but fixing issues in commits is simply not done. Issues are supposed to be fixed in branches and it's the branch name that you mention and the ticket number you refer to. You can nicely integrate Git with your favourite issue tracking software.

@bdiscoe is not intended to host everybody's repos. Only site admins have the rights to create repos there. That's why you don't see a "New project" button either.

The options you have with Heptapod are:

For the record, in GitLab parliance, a "namespace" is like a directory for "projects", hence either a group (example `/pypy`),  a subgroup or personal namespace (example `/joe')

Like bdiscoe likes this

The free beta on is now extended until the end of July

Like bdiscoe likes this

@bdiscoe  the issue is that you are trying to import thing on, this is a free community instance reserved to pre-validated open source project.

The generic heptapod hosting will be on You will need a clever cloud account to login on a to manage your "organisation". Check the register documentation, for a step by step tutorial.

Like bdiscoe likes this

Hi everyone.  I did think I would be able to use since my main activity/repo is a mid-sized open-source project.  But, I couldn't figure out how to make that happen.  Similarly, OSDN supposedly would host Mercurial for open-source projects like mine, but the instructions on how to actually do that was poor or missing.

Thanks to @Peter Koppstein I tried Helix Teamhub, which worked out great!  The interface was clear and well-documented, it was easy to set up SSH and follow the easily-found section "Migrating existing Mercurial (HG) repositories to Helix TeamHub".  It was only slightly awkward that it kept wanting to know my "company", which makes sense since that's their main activity, although I'm just a guy writing FOSS code, not a company.

Like Iesus likes this

@bdiscoeHelix TeamHub even has a checkbox for "I don't work for a company" and you can choose "student" from another dropdown, but will still require a company.

I still have to figure out how to invite collaborators and the like, but for now, at least the repositories are in a safe place.

Like bdiscoe likes this

@bdiscoeto host an open source project on, simply fill a Hosting request with the details.
(and do it swiftly, I don't know how long the bitbucket repository will still be up)

Like bdiscoe likes this

"[Update July 1, 2020] Today, mercurial repositories, snippets, and wikis will turn to read-only mode. After July 8th, 2020 they will no longer be accessible." was just added to at an unknown timestamp.

If we call it "sunsetting" it's okay?

Between that important information people could not have known, and the primary source of information being a thread here that takes hours to read, I wonder how Atlassian is not liable.

I am not sure if it too late or not, but looks like another alternative for open source hackers. My friends are failed to migrate issues out of BB in time. They might had a better chance with that.

Just a heads up that I'm seeing some images in PR descriptions no longer being visible. Strangely those in PR comments still work. This affects both the website and API. I think some other data may be missing from API queries now too (relating to commits, although I haven't confirmed this in detail). This means that you may not be able to export/migrate/archive all project metadata despite it being "read only" until 8th July, although much of it is still available for now.

Check out - if you haven't yet done a migration and are wondering what tools are available and what they do.


If in doubt will attempt to dump everything it can; code, wiki, issues, downloads, project description metadata and images. But it does NOT handle the migration to new systems, it simply gets you a local offline copy.


As per the comments above, some issues comments may not be available today.

"Check out - if you haven't yet done a migration and are wondering what tools are available and what they do."

The irony that these tools are hosted on GitHub is not lost on me...

Like clach04 likes this


funny enough the local revision number was also for me a very convincing argument, 

(besides named branches, and keyword expansion (for latex documents))


however you can have something similar in git but counting from head downwards

namely this




git log --graph --color --format='%C(auto)changeset: %h:%H%nuser: %an%ndate: %ad%nsummary: %s%n' | git name-rev --refs=$(git rev-parse --abbrev-ref HEAD) --name-only --stdin | more

Am I the only one guessing on 2020.07.01 (and missing before 2020.06.01) and then now guessing again 2020.07.07 if the sun changes (sunsets... at AU time or US time, and think it is effecting my heart rate?

We all should only use UTC (Git) and eliminate other time standards (HG, EST..).

(Why can I not get indefinite read-only private access to my own diary of dev work, do we want programmers to not be accounted for and required to show all their work?)

They say only 1% use Hg. Yes, these 1% just the ones who chose BB at the very beginning.

Tanks for the ten years support.

Like # people like this

I can still see and dowload my hg repos ? Haven't tried to pull anything as I have already switched to github. 


I had to re-import one of my repositories to GitHub yesterday (because dependabot inserted a pull request that threw off the numbering on my issue import; you can turn dependabot off site-wide in your GitHub settings), and it still worked.  I have not tried re-exporting issues or any other kind of data extraction since the freeze, though.

I did notice that BitBucket was confused about the read-only status of my repositories, and kept alerting me that it was some sort of outage that would be resolved soon.  If only...

agalanin I'm New Here Jul 10, 2020

July 10. Mercurial repos are still available. Dear Atlassian, are you planning to disable mercurial support or decided to keep it?

@Betalord@kalthadYou're probably aware of this, but just in case you aren't:
Mercurial's revision numbers are local to your system, and are likely to be different in another clone of the repo. So, referring to a commit by its number when speaking to a coworker (or in the commit message) can lead to confusion or worse.


yes of course. I thought this was purely a question of convenience.


It is much faster to type

hg up 400

instead of 

hg up some_long_hash_I_don't_remember

@kalthad Technically you only need to specify a unique prefix for the hash, so maybe the first 3 or 4 chars depending on how lucky you are.

As @mnpenner wrote, you can use any lenght prefix of the 40-digit hexadecimal ChangeSetID to refer to revisions as long as that prefix is unique.

I stopped by BitBucket today to see if my repositories were gone yet, and not only were they still there but write access seemed to have been restored.  I wrote to the description of one of my Mercurial repositories.


I cannot push, I receive

abort: HTTP Error 403: Forbidden


Log in or Sign up to comment
Community showcase
Published in Bitbucket

Powering DevOps with Bitbucket Server & Data Center

Hi everyone, The Cloud team recently announced 12 new DevOps features that help developers ship better code, faster   ! While we’re all excited about the new improvements to Bitbucket ...

988 views 0 5
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you