What to do with your Mercurial repos when Bitbucket sunsets support

526 comments

barseghyanartur July 1, 2020

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
barseghyanartur July 1, 2020

@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.

Georges Heptapod Racinet July 1, 2020

@bdiscoe foss.heptapod.net 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
Georges Heptapod Racinet July 1, 2020

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

Like bdiscoe likes this
marmoute July 1, 2020

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

The generic heptapod hosting will be on heptapod.host. 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
bdiscoe July 1, 2020

Hi everyone.  I did think I would be able to use foss.heptapod.net 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
Iesus July 1, 2020

@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
marmoute July 1, 2020

@bdiscoeto host an open source project on foss.heptapod.net, 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 https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket 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.

Anatoli Babenia July 2, 2020

I am not sure if it too late or not, but https://hg.sr.ht/%7Esircmpwn/invertbucket 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.

philipstarkey July 2, 2020

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.

clach04 July 2, 2020

Check out https://github.com/clach04/bitbucket_tools - if you haven't yet done a migration and are wondering what tools are available and what they do.

 

If in doubt https://github.com/clach04/bitbucket_tools/blob/master/dump_repos.py 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.

Jerry Gardner July 2, 2020

"Check out https://github.com/clach04/bitbucket_tools - 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
kalthad July 2, 2020

@barseghyanartur 

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

HTH

 

 

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... https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket) 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?)

diverger July 7, 2020

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
Ali Akdurak July 7, 2020

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

???

mcdemarco July 7, 2020

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 July 10, 2020

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

maltem July 14, 2020

@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.

kalthad July 14, 2020

@maltem 

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

mnpenner July 15, 2020

@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.

Iesus July 15, 2020

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.

mcdemarco July 22, 2020

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.

kalthad July 23, 2020

@mcdemacro

I cannot push, I receive

abort: HTTP Error 403: Forbidden

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events