Bitbucket set to remove Mercurial support

Started by names_are_hard, August 20, 2019, 04:48:31 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

yourboylloyd

With Bitbucket now not working. Is there anyway to fix this forum with a few clicks :D ? Or even a tutorial on how to browsing the mercurial github converted repo? Is there even a github converted repo? Also what was the final verdict on moving forward on a repository? Anyone ever heard of Helixcore?

I've seen forks of the repo but I feel like that can get confusing.

(Apologies for anything that sounds noob)
Join the ML discord! https://discord.gg/H7h6rfq

names_are_hard

Bitbucket still works - just not for Mercurial repos, as they warned us for over one year.  The forum is unchanged.  There is no official Mercurial git converted repo.

I have migrated a recent Bitbucket version to git, here: https://github.com/reticulatedpines/magiclantern_hg_02

Officially, I think the plan is https://hg.sr.ht/ ?

Danne

Testing your migrated version @names_are_hard. Switching branches possible but trying to build for eosm asks for mercurial. Expected?
cp ML-SETUP.FIR /Users/daniel/magiclantern_hg_02/platform/EOSM.202/zip/
[ VERSION  ]   ../../platform/EOSM.202/version.bin
abort: there is no Mercurial repository here (.hg not found)
abort: no repository found in '/Users/daniel/magiclantern_hg_02/platform/EOSM.202' (.hg not found)!
make: *** [../../platform/EOSM.202/version.bin] Error 255
daniel@MBPsomtorDaniel EOSM.202 %

a1ex

The repo on Heptapod is finally working:

hg clone https://foss.heptapod.net/magic-lantern/magic-lantern

Still need to do some housekeeping before being able to commit, apparently. Didn't feel particularly well lately (hoping it's not some virus), so... it got delayed once again :(




TODO: I should replace the links with https://foss.heptapod.net/magic-lantern/magic-lantern throughout the forum and website. Forum links can be automated, I'll look into it, so... no need to edit the posts manually (I hope).

There are some syntax differences, for example:
- before: https://bitbucket.org/hudson/magic-lantern/src/qemu/contrib/qemu/README.rst
- after: https://foss.heptapod.net/magic-lantern/magic-lantern/-/blob/branch/qemu/contrib/qemu/README.rst

Danne

Nice to see mercurial still alive on heptapod.
Ok, so I created an account and whatever I try to do I can´t find a way to create a new project to my account? So I try and read tutorials but nowhere can I find that basic info. I must be missing something vital. Create a project button is not active on my account?




a1ex

Nope, users are not allowed to create their own projects. I cannot do that either; I'd have to request it to them. They don't support personal forks either; everything should be in one repository. Haven't fully grasped how exactly it's supposed to work...

Also, you should be able to reuse your old Bitbucket account.

Quote from: a1ex on June 13, 2020, 12:42:49 PM
Now, we should all review their workflow, which is described here:
https://heptapod.net/pages/faq.html#workflow
https://octobus.net/blog/2019-09-04-heptapod-workflow.html

Existing contributors are already able to login with their Bitbucket and/or Github credentials [...]

Danne

Yes, started out with reusing my old bitbucket account but then thought I would start from scratch since my heptapod user link was including my email adress.

Hm, indpendent forking not working, not even starting up a new project. So you mean you have someone looking att your code before it was uploaded? Seems this needs some more tinkering than expected.

Problem with bitbucket as well is they deleted or blocked all mercurial sources. Will probably affect badly into heptapod. Or maybe they stashed all old mercurial code and use that...

names_are_hard

QuoteTesting your migrated version @names_are_hard. Switching branches possible but trying to build for eosm asks for mercurial. Expected?

This is expected and is not my fault.  The ML build process has been made so that it will only build if the source code is managed by Mercurial.  That is a strange decision to my eyes, but I wanted that repo to be as close a copy as possible.

I have another repo where building with Git works fine, the changes you need to fix that problem are small.  But that repo is not trying to be all of ML, it's a place for me to do whatever I want.  I've drastically cut down the number of branches as I work on merging everything into Unified.

The changes to make building work without requiring Mercurial:
https://github.com/reticulatedpines/magiclantern_simplified/commit/3163d41cee35fb54b4308e1f32318ff87de53645

Danne

Yes, nice to see some progress here. And maybe it´s time to let in on git as it seems to be a viable option around. Don´t really see any "free" mercurial web host giving the accesibilty we had before. Didn´t look very hard but a few hours.
I´m thinking github although I have been testing git on bitbucket a lot lately. Even piggybacked my mercurial branches into git projects so they could be migrated to mercurial further on.
I am weighing in user accessibility vs hard to access code and development environments leaving most enthusiasts out of the code. Code should be out there.

names_are_hard

This was discussed a lot previously.  The main devs prefer Mercurial and want to keep using it.  Yes, this does make the project slightly less accessible to enthusiasts, but not much.  And, honestly, the enthusiasts (I would count myself as one of these) don't matter as much as experienced devs that know the code well.

Danne

Quote from: names_are_hard on August 29, 2020, 03:35:02 PM
Yes, this does make the project slightly less accessible to enthusiasts, but not much.  And, honestly, the enthusiasts (I would count myself as one of these) don't matter as much as experienced devs that know the code well.
Strange view for a growing gpl community imo.

As long as it's not a "knocking at your door" solution, getting permission for doing this and that I am fine with moving to heptapod or similar.

names_are_hard

I think we might be talking about slightly different things?  I was talking Mercurial vs Git, not anything to do with Heptapod.  I think I misinterpreted and you were mostly concerned about the Heptapod UI?  I don't know anything about that.

From skimming the workflow docs Alex linked: "not having forks means that all contributors to a project have to be granted the right to push topics to its main repository. In Heptapod, this is the Developer role, which does not have the right to push to named branches by default".  So people have to get used to working in topics (some Mercurial thing, I don't know what it means, something like a temporary named branch I think?).

And also: "only project Maintainers are permitted to push a public changeset or the promotion a changeset to the public phase".  Which I think means only maintainers can merge topics into "real" branches?  I don't have a good sense of the Mercurial branch model, but at least Heptapod forbids having multiple heads for one branch.  That's one needlessly confusing feature of Mercurial restricted :)

Danne

If independence is gone that's a pretty high price to pay, staying only mercurial.
I am trying to understand the core idea on heptapod. Seems more centred around a main project holder but could be wrong. I still can't figure out how to start project 1.

Sidenote. It is disturbingly easy start using git  :P.

names_are_hard

I don't understand what is supposed to have been lost.  It was a mercurial repo before, it's a mercurial repo now.  You can download everything for free, same as before.  You can take that code and make your own repo somewhere else if you want, same as before.  The workflow for submitting changes has changed, so is it something to do with that?  It reads like it just needs the config tweaking.

I never really used the UI, I prefer CLI tools, so I'm probably missing something.  For me, it's the same ease to start using git or hg.  They both use "init" or "clone" in the same way.

Danne

Hosting and forks, collaboration, flexibilty. Not mercurial of course.
I am no friend of hosting code locally.

names_are_hard

Heptapod allows all those things, just in different ways than Bitbucket.

I'm not talking about hosting locally.  You have to download the code to work on it, but you upload it afterwards.  Although of course with hg and git, you do always have a local repo as well; that's how they do the distributed part.  But that hasn't changed.  And, having that local repo means no server can stop you forking, etc.

Danne

Yeah, well. Let's see what happens.  Meanwhile maybe you can show how to push anything to heptapod? I just couldn't.

names_are_hard

I've never tried to use Heptapod, so I don't know.  I'd suggest starting another thread to try and diagnose any problems.  As a guess, you may be missing a required role for whatever task you're trying to perform.

Danne

Well. Initial tryouts not very successful and no time for posts. I keep going like I do atm.
Jusr think the provider could have been more clear how to get going or maybe I,m just blind atm being busy posting nonsense instead of reading heptapod guides  :P.

a1ex

I thought I said the commits are not working yet (not even for me) :P

But plain "hg clone" should work:

hg clone https://foss.heptapod.net/magic-lantern/magic-lantern


Or "git clone", if you prefer, with the git-remote-hg extension.

In theory, this should work, but crashes here (figure out why):

git clone hg::https://foss.heptapod.net/magic-lantern/magic-lantern


In practice, it works with this workaround:

hg clone https://foss.heptapod.net/magic-lantern/magic-lantern magic-lantern-hg
git clone hg::magic-lantern-hg magic-lantern-git

names_are_hard

You said you couldn't create projects :)  I don't know what kind of a limit that is, I don't know what a Heptapod project is.

From their FAQ it reads like commits should work for you, I can see you're a Maintainer for the project (and there are no other members which explains why Danne can't push).  I guess they don't have everything working yet.

The first git clone doesn't crash here.  It was very slow so I cancelled it, perhaps before whatever crashes?  I can download the entire Github migrated repo of ML faster than git-remote-hg was able to download only 100D_merge_fw101.

yourboylloyd

Quote from: a1ex on August 29, 2020, 07:33:58 AM

TODO: I should replace the links with https://foss.heptapod.net/magic-lantern/magic-lantern throughout the forum and website. Forum links can be automated, I'll look into it, so... no need to edit the posts manually (I hope).

There are some syntax differences, for example:
- before: https://bitbucket.org/hudson/magic-lantern/src/qemu/contrib/qemu/README.rst
- after: https://foss.heptapod.net/magic-lantern/magic-lantern/-/blob/branch/qemu/contrib/qemu/README.rst

Hey A1ex, any update on this? There have been multiple users that I've seen trying to get started with ML but because the links are dead, there is no all in one place to learn anymore.
Join the ML discord! https://discord.gg/H7h6rfq

a1ex

Other than noticing that old commit hashes cannot be used on Heptapod (i.e. no direct link translations), no significant updates. The FAQ about progress & stuff applies here as well.




Edit: looked further into the Bitbucket - Heptapod link translation issue for commits. Heptapod uses internally a Git repository, as a temporary implementation detail (they intend to get rid of it eventually, but that will probably take some months or years). I've tried to replicate their Git mirroring process using their fork of hg-git, and I can get consistent Git - Hg mappings until commit 2c7a27c / b08b345ea3f3fb5dc11a0f6ffb4603b07063761a. The next commit, b8083a2 / cea71a6a628f66b722725387bb9c5c4794b0df16 on Heptapod, shows up as ae85588aeb12efb0895b9c41efd18e5d3c747de6 in my local Git copy.

I've looked at their sources (Heptapod itself is open source) and found the hash translation code in hg_git_repository.rb. They use a file named "git-mapfile", apparently generated by hg-git, which stores the mapping between git and hg commit hashes.

Currently, they don't seem to be able to look up anything on the web interface using the Mercurial commit hash (grep their sources for "sha_from_hgsha"), so in order to fix our Bitbucket commit links throughout the forum and documentation, we need to pick one of those:

- fix them manually (there are probably hundreds, not going to do that)
- ask Heptapod admins to implement this functionality for us (feature request)
- hack Heptapod source code to implement it ourselves, according to their coding standards, and submit a PR (it has to be accepted by them, a local fork won't be enough)
- ask Heptapod admins for their copy of git-mapfile for our repo
- write a crawler that browses our repo on Heptapod's web interface and rebuild  git-mapfile from there

According to the first joke from here, the problem is solved - you may consider I'm the mathematician :P


ChristianEOS

I was downgrading my firmware 5D3 III firmware 1.1.3 from 1.2.3. and it took me ages to find the download link obviously everybody wrote The canon Website. Then under magic lantern forum  I have found some bitbucket links as I can see the website is still not working?
Christian Bruno James

Walter Schulz

Not easy to follow your train of thought ...
If you are looking for Canon firmware 1.1.3 -> Top of page -> Downloads -> Download nightly builds -> 5D mark III 1.1.3 -> "Installation" or "Useful Links".