Hosting request for Magic Lantern (firmware add-on for Canon DSLRs)
Description of the projects to be hosted
- Project Name: Magic Lantern
- Project URL: https://bitbucket.org/hudson/magic-lantern, https://www.magiclantern.fm
- Project Maintainers: a1ex (a1ex@magiclantern.fm), g3gg0 (ml@g3gg0.de)
- Project License: GPLv2
Hi, we are looking for a new home for the source code repository of Magic Lantern, which is currently hosted on Bitbucket (Mercurial). Magic Lantern is relatively well-known among Canon DSLR users; it was started back in 2009 by Trammell Hudson (https://trmm.net/Magic_Lantern_firmware) and adds several features, developed from scratch, to camera firmware. It runs on top of camera's operating system (DryOS), fully usable on most DIGIC 4 and 5 EOS cameras at the time of writing, and there are porting efforts for both newer (DIGIC 6/7/8) and older (DIGIC 2/3) models.
The "obvious" choice for moving the repository would have been Github/Gitlab, but we prefer to keep the Mercurial workflow. We have already tried to convert our repository to Git using various tools (hg-git, hg-fast-export, git-hg, git-hg-again), unfortunately with only partial success. Main issue: the conversion does not keep Mercurial changeset IDs (referenced in many places in our documentation and technical discussions). There are also a few corner cases with unusual branch names that were generated by Bitbucket when users contributed small changes via their web interface.
We are here at the suggestion of @antocuni from the PyPy project (already hosted here). After researching things a bit and noticing your (well, Octobus') activities in archiving existing Bitbucket content, alongside with Software Heritage, Heptapod came on top of my choices for a new Mercurial host. I also appreciate the ability to import Bitbucket data, including issues and open pull requests, and the option to login with Bitbucket and Github credentials - hopefully this should make the transition a lot easier for existing contributors.
I understand there will be a change in workflow, as personal forks are not supported, but I'm sure we'll figure it out. I still have to research things a bit before importing the currently-pending changes from other contributors (which are stored in their personal forks for now).
As for the group name, I'm not sure what to suggest, as there are not many camera firmware projects around, and most of them are not hosted on Bitbucket anyway. However, we do have a few related projects, such as MlRawViewer, MLVFS, MLV App, Switch, ml-focus-pixels, ufraw-mod and others, which are standalone repositories (some of them use Git, others Mercurial). So, a group name like "magic-lantern" might be appropriate, if you ask me.
Thanks for considering!
P.S. Right before noticing your Bitbucket archiving project, I have started my own small-scale backup of currently-available Mercurial repositories on Bitbucket (plain "hg clone" followed by tar archive). If you think it could be useful (e.g. for cross-checking the list of repositories or available changesets), kindly let me know where's the best place to discuss this further.
Main criteria
-
Free / Open Source -
main development repositories -
agreement to acknowledge where appropriate the help provided by Octobus and Clever Cloud by hosting on foss.heptapod.net
Priority Criteria
-
currently hosted on Bitbucket -
officially released
Post approval maintainer task list
See README for explanations.
-
Heptapod / Bitbucket accounts link -
Reviewing Heptapod workflow
Post import maintainer task list
-
Clone the project afresh from foss.heptapod.net. -
Check that the repository looks good: branches are as expected in the clone and the web interface, with no wild
branches unless there are known multiple heads. -
Check that issues are imported, and notably that all open issues are there. Watch for attachments etc. [ some issues missing; reported below ] -
Check that Pull Requests are imported, and in particular take a close look at the resulting open Merge Requests - they should be backed by a topic. Make sure you can navigate these in the fresh clone. [ error merging MR #963 ] -
Check that against foss.heptapod.net, hg outgoing
andhg incoming
from a prior clone are as expected -
Add the Octobus and Clever cloud acknowledgement at the selected place. -
Communicate about the migration to help others to aware of the options [ on our forum; initial suggestion here ]