What to do with your Mercurial repos when Bitbucket sunsets support

526 comments

Ruslan Berezyuk June 29, 2020

I already ported all my active projects to HelixHub (manually, one by one). During the weekend, I simply grab the links to all my 100+ HG repos (manually also) and clone them all on my local disk, so I have a backup, and will slowly be reviewing them and pushing to Helixhub or somewhere else ...

All this thing is so, so frustrating ... Atlassian is dropping the support to Hg and pretend to act like it never existed ... So we are a couple of days from the date when everything will be deleted, but I didn't get any notification / reminder from them. ALL MY DATA WILL BE DELETED FOREVER and you even don't bother to send a reminder. Any serious company would send you a warning 30 days before, 10 days before, 3 days before ... at minimum 

Also, it's a complete mystery how this is going to happen at all? Are you deleting repositories only or also associated projects? What if the project has also git repos? What about the Download sections? What about redirect links from old hg repositories, are those going to be operational? And what about issues?

So many questions ... I'm wondering if anyone at Atlassian has the answers? Or maybe they are simply going to hit the "delete" button and see what happens? 

Ugh anyway, I even don't know why I spend my time wring this ... 

Ali Akdurak June 29, 2020

Well I think I am sunseting my support for Atlassian too. Moved to github their import repository function seems quite good. Next is to find a new home for Jira and Confulence.

Manually moving every repo took 2 days. But I lost couple of days with setting up kallithea and then with hg git stuff. This was a nightmare but at least I learned about atlassian true colors.

A solution that would made everyone happy would have been so easy. Keep repos and stop accepting commits. People would moved away on their own pace and you guys wouldn't have looked like tyrants.

Only wish I have left for atlassian is hoping that somebody else would sunset support on their tooling. They would learn how much it cost to us immediately. 

bdiscoe June 30, 2020

Can anyone outline the basic steps involved in migrating a mercurial repo from bitbucket to any other free host?

Perhaps, due to Mercurial being fully a distributed system, every up-to-date clone of the repo is identical? In that case, all we need to do is to push a local clone of the repo up to a new site, and just forget the repo on Bitbucket that's going away?

Alex Bream June 30, 2020

@bdiscoemain problems of refugees from BB not primarily related to repositories with data per se, but with additional metainformation around it: tickets, wikis (which aren't part of code history and stored outside of data-repos)

philipstarkey June 30, 2020

@bdiscoe if you have a free or paid mercurial host that meets your needs, and don't need to backup issues/pull request history, etc. then yes, you can push to a new host from your local copy.

For everything else (backing up issues, Converting to git, etc., etc.) check out https://github.com/clach04/bitbucket_tools for your main options.

That page includes my software (mentioned on the previous page) for migrating to git/GitHub: https://github.com/philipstarkey/bitbucket-hg-exporter

Alexander Bogdanov June 30, 2020

Kind of last-day-script for cloning all your BB repos locally. Including private ones.

https://gist.github.com/bogus34/1da6409e972eb116b70359ac9c1eec26

Sebastian Berm June 30, 2020

@Alexander Bogdanov : Thank you.

I hope I will never need it, as we've converted everything into a self hosted Gitlab environment, but it never hurts to have a copy.

This is what I was expecting Atlassian to do for everyone though.

 

I don't know if there are any Atlassian representatives left still reading here, but take note paying customers dislike this. We've downgraded to a free account and now have the policy to not use bitbucket anymore. Personally, if it wouldn't be that much of a problem, I would really want to also stop using other Atlassian products due to this stupid and strange behaviour, but since that's a lengthier process, we can't do that immediately.

I do understand supporting just 1 system is easier, but Atlassian should have considered the issues caused by this decision. For new clients, I'd rather refer them to Github...

marmoute June 30, 2020

@bdiscoeif you only have your repository, yes, you can simply push any up to date clone elsewhere. (as you and other pointed out).

The harder part is about metadata (issue, PR, attachement, etc). In this case you need support from the new hosting to import those. For example, here is heptapod documentation about importing from bitbucket

Like bdiscoe likes this

For the record, "Bitbucket Snippets" (i.e. Github Gists) do not give the Redirect feature after deleting like for normal repositories (suggested by Atlassian at https://community.atlassian.com/t5/Bitbucket-articles/What-to-do-with-your-Mercurial-repos-when-Bitbucket-sunsets/bc-p/1370853#M685), so the URL's given are being broken and not saved.

I can not pick my own URL's for snippets (before or after), and now I am basically taking the SEO hit and being blamed (if a user tries to visit the URL from my aged posts/tweets) for your giving me hexspeak URLs never allowing me to use Clean URL words to name mine.

There should be instead of a 404 page for what's happening here, a page saying "We the publicly-traded company rushed to delete this URL, making you the user possibly angry at the creator of this URL, but not at fault of the user who wrote important words here while fully trusting our developer network, only because we are just saving money due to cost concerns of our stock value literally doubling in the last year."

mcdemarco June 30, 2020

Just a reminder that even if you don't have a migration plan yet, you should export your issues now before Atlassian deletes them.  (You have to do this per repository, under Repository Settings | Issues | Import and Export.)  You can run an import script against the resulting zip file(s) later.

I don't know how well importing works between BitBucket repositories; I'm planning to import mine to GitHub with one of several scripts on GitHub for doing so.

frgomes-vaillant June 30, 2020

This is the second time Bitbucket disrupts my workflow by ditching great products. The first time was Stride; now Mercurial. This is unfortunate. My satisfaction with Bitbucket is all time low now.

Iesus June 30, 2020

Just finished cloning all my repositories and pushing them to HelixTeamHub (after adding a Readme.md to make up for the missing repository description).

Next I'll inform all my scientific collaborators about the new locations in case they require access (I deleted the repositories and put the link there, but it seems you can't see the repository unless you know the url).

All I have left on BitBucket now are three git repositories and I could push even those over to HelixTeamHub which also supports svn and others.

In the long run, I won't be using BitBucket much anymore: First, they took away the rainbow unicorns, now they took away Mercurial support.

barseghyanartur June 30, 2020

GitHub importer worked really well for me.

bdiscoe June 30, 2020

OK, I've tried two approaches, with no success.

1. Migration to heptapod.  It's a little tricky to find it, but eventually I found the page https://foss.heptapod.net/import/bitbucket/status which shows my 3 bitbucket repos, and gives an Import button for each, to import it to Heptapod.  Looks good!  But when I press import, I get a popup that says:

"An error occurred while importing project: This namespace has already been taken! Please choose another one."

I have no idea what they mean by a namespace.  My account name in both places is "bdiscoe".  So, it will import from e.g. Bitbucket bdiscoe/vtp to Heptapod bdiscoe/vtp.  The only "namespace" I can see here would be the account name (which is unique to me) or the repo name (which is rejected no matter what I change it to.

2. OSDN. I created an account there ('bdiscoe'), and attempted to push the local copy of my Hg repo up, but I cannot find any instructions on how to do so. OSDN's documentation is mostly for Git or Subversion, I could find nothing on how to clone/push from an existing Hg repo.

Any other ideas?  I'd love to save my repos, somehow, and I loathe Git.

Peter Koppstein June 30, 2020

@bdiscoeasked

> Any other ideas?  I'd love to save my repos, somehow, and I loathe Git.

Since you were willing to consider heptapod, which will soon charge a fee, you might wish to consider Helix TeamHub, which is free for tiny, private projects.  Others in this thread have had success there, as have I.  The only problem I came across is a very small one having to do with migrating the wiki associated with a project, and is described in a recent post in this thread.

Another option I would recommend you consider is codebase, which has a free plan for even tinier projects: "Our free plan gives you one project, 100MB disk space and 2 users."  I've had excellent experience both with their system and their support staff.  See in particular their welcome mat for bitbucket exiles at https://www.codebasehq.com/blog/looking-for-new-mercurial-hosting

 

In the meantime, you might want to make sure all your mercurial-related data on bitbucket is copied over to somewhere like Dropbox.  In my experience, if there is only one "writer" per repository, Dropbox can work satisfactorily as a bare-bones Mercurial hosting service.

Like bdiscoe likes this
mforbes June 30, 2020

Just a note that importing all projects to a self-hosted Heptapod instance seemed to work very well.  The only projects that did not import were empty wiki-only projects.  Still shocked at Atlassian's choice of how to handle this.

Milan Brezovsky June 30, 2020

Everyone here should contact Atlassian support and send them an unhappy but polite request (to incur cost on them) and send them an invoice for the number of hours that you've wasted migrating perfectly good hg repos.

Andy Hoyle June 30, 2020

https://github.com/new/import was all I needed (x 20)

Goodbye Atlassian.

mforbes June 30, 2020

@Andy Hoyle But GitHub will not import Wiki's, PRs, or Issues.  Heptapod imports all of this relevant metadata.

barseghyanartur July 1, 2020

I think it's about time to start loving Git. My personal preference was Mercurial, but I intensively used both for years. The switch is easy now. Mercurial has no future and might as well be deprecated in future. Git will stay for much longer.

frgomes-vaillant July 1, 2020

@barseghyanartur:: It's unlikely that Mercurial dissapear. On the contrary: Facebook is using Mercurial for its unique features/advantages and changes are that Mercurial will be entirely or at least partially rewritten in Rust. So, you can expect long life for Mercurial.

Like # people like this
Alex Bream July 1, 2020

 

@BarsegyanMercurial has future, even if Git-boys think different

mforbes July 1, 2020

@barseghyanartur Don't rag on Mercurial just because Atlassian stopped supporting it!  There are many advantages, especially user interface, and the community is far from dead.  That being said, hg-git works quite well, so if you need to use git repos, then this provides quite a nice way of benefiting from mercurial's cleaner interface.

Like webmarka likes this
Betalord July 1, 2020

@barseghyanartur I tried switching to Git, but gave up, there are some features that Hq has that Git does not. The most important one for me (it might seem ridiculous, but to me it is not), are sequential commit numbers. In Git each commit gets assigned a hash, so it's completely useless, in Hq each commit gets assigned a sequential number so I can refer to commit by their numbers. E.g. in commit #231 I fixed bug report #31, and so on, which really makes things easier for me.

Like # people like this
markand July 1, 2020

@barseghyanartur just check the mercurial-devel mailing list and phabricator to see the high number of contributions there are everyday (including Facebook). Mercurial isn't going to disappear anytime soon. Just like FreeBSD, OpenBSD, NetBSD won't disappear even though Linux has far much more market share that does not mean other projects must die. Thinking like that we should stop every other project that has no dominant usage over the world?

Like # people like this

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events