Author Topic: Bitbucket set to remove Mercurial support  (Read 49152 times)

yourboylloyd

  • Contributor
  • Senior
  • *****
  • Posts: 335
Re: Bitbucket set to remove Mercurial support
« Reply #150 on: August 29, 2020, 03:13:27 AM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 858
  • Dev: 200D, 750D, 850D, 7D2
Re: Bitbucket set to remove Mercurial support
« Reply #151 on: August 29, 2020, 03:28:44 AM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
Re: Bitbucket set to remove Mercurial support
« Reply #152 on: August 29, 2020, 06:19:06 AM »
Testing your migrated version @names_are_hard. Switching branches possible but trying to build for eosm asks for mercurial. Expected?
Code: [Select]
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

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: Bitbucket set to remove Mercurial support
« Reply #153 on: August 29, 2020, 07:33:58 AM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
Re: Bitbucket set to remove Mercurial support
« Reply #154 on: August 29, 2020, 12:03:59 PM »
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

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: Bitbucket set to remove Mercurial support
« Reply #155 on: August 29, 2020, 12:13:56 PM »
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.

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

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
Re: Bitbucket set to remove Mercurial support
« Reply #156 on: August 29, 2020, 12:42:08 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 858
  • Dev: 200D, 750D, 850D, 7D2
Re: Bitbucket set to remove Mercurial support
« Reply #157 on: August 29, 2020, 02:24:19 PM »
Quote
Testing 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

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
Re: Bitbucket set to remove Mercurial support
« Reply #158 on: August 29, 2020, 02:44:48 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 858
  • Dev: 200D, 750D, 850D, 7D2
Re: Bitbucket set to remove Mercurial support
« Reply #159 on: August 29, 2020, 03:35:02 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
Re: Bitbucket set to remove Mercurial support
« Reply #160 on: August 29, 2020, 04:10:01 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

  • Developer
  • Hero Member
  • *****
  • Posts: 858
  • Dev: 200D, 750D, 850D, 7D2
Re: Bitbucket set to remove Mercurial support
« Reply #161 on: August 29, 2020, 05:57:32 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
Re: Bitbucket set to remove Mercurial support
« Reply #162 on: August 29, 2020, 06:16:21 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 858
  • Dev: 200D, 750D, 850D, 7D2
Re: Bitbucket set to remove Mercurial support
« Reply #163 on: August 29, 2020, 06:37:31 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
Re: Bitbucket set to remove Mercurial support
« Reply #164 on: August 29, 2020, 07:03:35 PM »
Hosting and forks, collaboration, flexibilty. Not mercurial of course.
I am no friend of hosting code locally.

names_are_hard

  • Developer
  • Hero Member
  • *****
  • Posts: 858
  • Dev: 200D, 750D, 850D, 7D2
Re: Bitbucket set to remove Mercurial support
« Reply #165 on: August 29, 2020, 07:16:59 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
Re: Bitbucket set to remove Mercurial support
« Reply #166 on: August 29, 2020, 07:24:11 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 858
  • Dev: 200D, 750D, 850D, 7D2
Re: Bitbucket set to remove Mercurial support
« Reply #167 on: August 29, 2020, 07:58:00 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
Re: Bitbucket set to remove Mercurial support
« Reply #168 on: August 29, 2020, 08:10:46 PM »
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

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: Bitbucket set to remove Mercurial support
« Reply #169 on: August 29, 2020, 08:51:50 PM »
I thought I said the commits are not working yet (not even for me) :P

But plain "hg clone" should work:
Code: [Select]
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):
Code: [Select]
git clone hg::https://foss.heptapod.net/magic-lantern/magic-lantern

In practice, it works with this workaround:
Code: [Select]
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

  • Developer
  • Hero Member
  • *****
  • Posts: 858
  • Dev: 200D, 750D, 850D, 7D2
Re: Bitbucket set to remove Mercurial support
« Reply #170 on: August 29, 2020, 09:24:26 PM »
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

  • Contributor
  • Senior
  • *****
  • Posts: 335
Re: Bitbucket set to remove Mercurial support
« Reply #171 on: October 16, 2020, 01:11:13 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

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: Bitbucket set to remove Mercurial support
« Reply #172 on: October 16, 2020, 07:52:42 AM »
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

  • Freshman
  • **
  • Posts: 64
  • meerkat
Re: Bitbucket set to remove Mercurial support
« Reply #173 on: October 18, 2020, 12:02:26 AM »
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

  • Contributor
  • Hero Member
  • *****
  • Posts: 8890
Re: Bitbucket set to remove Mercurial support
« Reply #174 on: October 22, 2020, 12:25:59 PM »
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".