A good web forge (~Gitlab) supporting Mercurial before Bitbucket's deadline (1st of June 2020)?
PIERRE AUGIER
pierre.augier at univ-grenoble-alpes.fr
Mon Aug 26 21:01:08 UTC 2019
Hi,
After Bitbucket's announcement (https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket), I waited a bit to think about the situation. Now, I'd like to share my thoughts because I think we could have to give up with Mercurial.
>From where do I speak? I'm a researcher in fluid mechanics, with a strong commitment in open-source development. in particular, I develop a suite of (Python) software for my scientific community (FluidDyn).
I also recently launched Transonic ( [ https://bitbucket.org/fluiddyn/transonic | https://bitbucket.org/fluiddyn/transonic ] ), an open-source project potentially useful for many developers of scientific/numerical Python packages.
For the FluidDyn packages and Transonic, we use Mercurial (and I'm very happy with "modern" Mercurial, with evolve, topics and absorb!) and Bitbucket.
With my students, I also use Mercurial, because I think it still make (now, made?) sense for students not specialized in computer science to start with Mercurial and not Git. I try to summarize my reasoning about this choice in this post : [ http://www.legi.grenoble-inp.fr/people/Pierre.Augier/mercurial-as-a-great-version-source-control-management-tool-in-academics.html | http://www.legi.grenoble-inp.fr/people/Pierre.Augier/mercurial-as-a-great-version-source-control-management-tool-in-academics.html ]
However, with the end of Mercurial support by Bitbucket, my Mercurial choice becomes more and more difficult to defend... and with FluidDyn developers, we'll soon have to decide what we do with our Mercurial repositories on Bitbucket. The simplest solution (that I don't like, but which present several advantages) would be to just give up with Mercurial and use Gitlab (either with the main instance or with the instance officially proposed by my university https://gricad-gitlab.univ-grenoble-alpes.fr). I know that I would still be able to use hg with hg-git, but without topics/evolve/absorb, and other developers would surely use directly Git (which would not be so bad after all).
So I'm going to express my personal point of view on this issue. For open-source community projects, we **really** need a good web forge for Mercurial. Something similar to Gitlab, and with approximately the same features.
I can start a list of requirements for academics and open-source community projects (like PyPy or Mercurial :-)
0. Real Mercurial support (phases, evolve, topics, ...)
1. A free-of-charge-for-basic-service website using an open-source software that can also be used for self-hosting (something like Gitlab).
The free-of-charge website is really important for students, "small" projects and academics. For example, as a teacher/researcher, I can't spend time to set up a server and an instance of ??? (it's really not my job, I don't know how to do it and I don't have time to learn this). It's important to be able to tell to students/colleagues that they can very easily create a personal account and their own repositories just with few clicks.
2. Public and private repositories
3.0. Very simple (and free-of-charge) to create an account
3.1. Forks and pull requests from forks
With Github and Gitlab, it is really the standard path. People are so used to this method that we really need it.
4. not inefficient (not super slow to clone / push / pull small repositories)
5. A modern issue tracker
6. A simple solution for Continuous Integration (internal or external but integrated with the pull request mechanism).
7. Different plans at different prices. First plan (create/manage small repositories with a very small team, fork repositories, ...) has to be free-of-charge.
8. Various basic things like:
* hg log -G page
* README.rst / .md nicely formatted shown in the main page of the repository
Bonus:
- https push / pull (much simpler than ssh for new comers)
- A "where is my data / the material infrastructure" option for some sensible data
- Project teams to handle the write and admin permissions
- Community maintained
I realize that I ask a lot and that I basically describe something very similar to Gitlab for Mercurial. But to be honest, we really need a very good quality web forge, otherwise, I don't see how Mercurial can continue to be used by simple open-source projects (and continue to be learned outside of companies or big projects like PyPy).
Then there are a lot of questions, in particular:
- From where to start technically?
Sourcehut exists and it's already nice. But now it is very minimalist and it lacks some important features (for example an issue tracker, forks and pull requests). Moreover, it seems that people will have to pay even for basic accounts (we can't ask people to pay to send a pull request!).
The friendly fork of Gitlab [ https://heptapod.net/ | https://heptapod.net/ ] seems very interesting. A very nice advantage is that Gitlab is the solution chosen by many academic institutions (for example my university :-). It is well known so Heptapod won't afraid people used to Github or Gitlab. And many "side services" (like [ https://codecov.io/) | https://codecov.io/) ] could just work out of the box.
I guess there could be other technical solutions...
- Would it be technically feasible? Of course, it would be really nice to be able to launch a working version before Bitbucket's deadline (1st of June 2020, i.e. in less than one year)
- I have no idea of the costs of such service? Could something like this be financially sustainable?
- Would there be people / companies involved in the Mercurial community motivated to work on and/or finance such project? - What will be the choices of open-source projects using Mercurial and hosted now on Bitbucket? For example PyPy?
Sorry for this long email, but I needed to share these thoughts and questions with Mercurial people.
Pierre
--
Pierre Augier - CR CNRS [ http://www.legi.grenoble-inp.fr/ | http://www.legi.grenoble-inp.fr ] LEGI (UMR 5519) Laboratoire des Ecoulements Geophysiques et Industriels
BP53, 38041 Grenoble Cedex, France tel:+33.4.56.52.86.16
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial/attachments/20190826/c533ff12/attachment.html>
More information about the Mercurial
mailing list