Jump to content
Francois Normandin

Bitbucket sunsetting support for Mercurial

Recommended Posts

As I've reported in the UI Tools support page, I've started migrating the open source code I still have on bitbucket (Mercurial-based repos) to Github.
I didn't think that it might be worth a specific topic until @LogMAN mentioned it. Personally, I'm moving my code to Github in the process. I know there are some reports of Hg-to-Git transitions not going so well when using sub-repositories, so please share your migration experience if you've had to jump into some hoops to get it done!

For all of you who still use Mercurial and host your open source and/or enterprise repos on Bitbucket, this blog post is worth reading:

3 hours ago, LogMAN said:

Thanks for the heads up, this completely went by me.

Here is the official blog post from Bitbucket if anyone is interested: https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket

Edited by Francois Normandin
  • Thanks 1
  • Sad 1

Share this post


Link to post
Share on other sites

Yes this is bad news indeed. The forum channel is full of angry customers. 

For what it's worth I have managed to import several repositories from Bitbucket into github using the github import, but it failed for me when I had 2FA turned on in Bitbucket. 

Share this post


Link to post
Share on other sites

There is a forum where they want to discuss conversion tools, best practices et cetera:
https://community.atlassian.com/t5/Bitbucket-articles/What-to-do-with-your-Mercurial-repos-when-Bitbucket-sunsets/ba-p/1155380

At git-scm they suggest using hg-fast-export. git-remote-hg seems to be popular as well. Someone wrote a script to automate the migration process to GitHub without using GitHub import. Although I'm not sure how well it performs it can be worth a try: https://magnushoff.com/blog/kick-the-bitbucket/

Share this post


Link to post
Share on other sites
On 10/26/2019 at 8:44 AM, Francois Normandin said:

I've started migrating the open source code I still have on bitbucket (Mercurial-based repos) to Github.

What's the reason for moving to Github?

I was using Kiln to host my code, which used Mercurial. I switched to Bitbucket with Git. I had to migrate many projects from Mercurial to Git. I did the migration using the HG-GIT extension: https://hg-git.github.io

The main problem I encountered was using the "large files" Mercurial extension. The automatic import tools provided by GitHub and others don't like that extension and barf. Otherwise you can use the web migration tool provided by GitHub. My workaround to the large files problem was to accept the fact that I will lose the revision history on those files. Not a huge deal, since most large files I had were installers and binaries that didn't have revisions per say. So after the migration I did a diff on the project folder, identified the large files, which were missing from the new Git project and just copied them over and pushed them up to the Git repo. Don't forget that the core GIT functionality is the same regardless of service provider. So let's say you found a way to import your repo to GitHub, you can easily turn-around and move it to GitLab, bitbucket or whatever. You're not locked-in. But it might be an issue if you are using an extension that only one service provider supports.

The future is GIT. I made the jump over a year ago and haven't looked back. The service provider you choose should give you the tools you need to do your job. The reason I picked Bitbucket was because I liked and used all the other products that Atlassian provides, JIRA, Confluence etc. The tools from Github are a bit weak for my business. I also like companies that continuously improve and invest in their products, among other things. Github seems to be the popular choice for open-source, since that's how it got started. Now that Microsoft owns them, perhaps they don't have to worry about generating revenue (don't know if it's good or bad). But I don't see features that compare to what Atlassian offers.

  • Like 1

Share this post


Link to post
Share on other sites
On 10/30/2019 at 11:11 PM, Michael Aivaliotis said:

What's the reason for moving to Github?

I simply have all my public repos in Github nowadays, so switching it is mainly to keep them all in the same place.

You're right that I could have simply kept the address of the repo the same and changed it to Git.

Share this post


Link to post
Share on other sites
On 10/31/2019 at 11:11 AM, Michael Aivaliotis said:

My workaround to the large files problem was to accept the fact that I will lose the revision history on those files. Not a huge deal, since most large files I had were installers and binaries that didn't have revisions per say.

Files that don't have revisions don't need to be commited into the repository itself.

GitHub has a nice feature called GitHub Releases which lets you host "release files" -- it's designed for installers/packages/binaries, but you're free to store other files there too. Each Release is linked to a tag/commit in your Git repo so you know which version of your code was used to generate the installer. Here's an example of some releases from an NI repo: https://github.com/ni/niveristand-scan-engine-ethercat-custom-device/releases/

BitBucket has a lightweight variant of this called BitBucket Downloads (the link is somewhat tangential, but it's the best I could find).

I like GitHub's release file hosting more than BitBucket's, but I like BitBucket's issue tracker more than GitHub's.

  • Like 1

Share this post


Link to post
Share on other sites
On 11/5/2019 at 5:46 PM, JKSH said:

Files that don't have revisions don't need to be commited into the repository itself.

I agree. I don't store those type of file in the repo for a while now. My specific comment was about how to transition from one large files extension in Mercurial to Git.

I use Bitbucket Downloads. However, I'm finding that different file sharing tools can be useful for different use-cases. There's really no one-size fits all.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.