On Fri, 19 Jul 2024 14:28:57 +0200 (CEST)
PIERRE AUGIER <pierre.aug...@univ-grenoble-alpes.fr> wrote:

> I first wanted to react to a statement on Mercurial wheels on PyPI
> and it leads me to express my fear that Mercurial is not evolving
> towards a nice alternative to Git.
> 
> I describe few issues and try to think about what could be done to
> fix them.
> 
> ----- Mail original -----
> > De: "Alessandro Dentella" <sandro.dente...@gmail.com>
> > À: "Uwe Brauer" <o...@mat.ucm.es>, "mercurial"
> > <mercur...@mercurial-scm.org> Envoyé: Vendredi 19 Juillet 2024
> > 09:36:14 Objet: Re: ubuntu 24 (and most likely debian 12) does not
> > allow to install evolve
> 
> > Il giorno gio 18 lug 2024 alle ore 16:45 Uwe Brauer via Mercurial <
> > [ mailto:mercurial@lists.mercurial-scm.org |
> > mercurial@lists.mercurial-scm.org ]
> > > ha scritto:
> > 
> > II don't really know which version of hg-git is ok for you, but I'm
> > on Ubuntu 24:04 and I can tell you that 67.2 is the default that in
> > fact does not work with evolve, so Idid exactly what was suggested
> > by Sietze Browser::
> > 
> > sudo apt install pipx
> > pipx install mercurial
> > pipx inject mercurial hg-evolve hg-git
> > 
> > and I ended up with::
> > 
> > mercurial 6.8
> > hg-git 1.1.3
> > evolve 11.1.4
> > 
> > do you need something different?
> > It was very fast as it uses wheels
> 
> Unfortunately, there is no Mercurial wheels on PyPI (see
> https://pypi.org/project/mercurial/#files)! I don't know any other
> big public open-source Python projects using extensions that do not
> upload wheels on PyPI. Nowadays, it is very simple. 
> 
> Even if I don't like it, I have to admit that it becomes more and
> more difficult to defend Mercurial. I start to feel that it does not
> make sense to teach Mercurial anymore. I see two main issues:
> 
> 1. Setting up Mercurial with basic extensions (topics, hg-git,
> evolve) is TOO difficult and long for beginners (in particular
> compared to Git).
> 
> Python packaging is improving but Mercurial does not follow.
> Installation via pipx really makes sense for Mercurial and its
> extensions.
> 
> > pipx install mercurial
> > pipx inject mercurial hg-evolve hg-git
> 
> should work **without compilation** (i.e. without Python headers and
> compilers) basically everywhere/everytime (of course on
> up-to-date/standard platforms with an up-to-date python). It should
> be checked that these commands lead to something reasonable on recent
> Windows, macOS and popular Linux distros. For example, on Windows, I
> thing there is by default neither vi nor any pager. Mercurial should
> be aware of that and at least print reasonable advice when such
> issues are detected.
> 
> The commands should lead to a correct user experience, in particular
> with an easy way to enable tab completion on popular
> terminals/shells. Modern mercurial should have a command to setup
> completion (something like https://pixi.sh/latest/#autocompletion). 
> 
> Using /usr/bin/python3 -m pip install (--user) or
> --break-system-packages are really bad practice.
> 
> Using hg-git or topics should not require writing by hands strange
> lines in ~/.hgrc. It is too difficult for beginners (terminal editors
> are hard for them) and for teaching it's sure that few students will
> do it wrong and get a buggy behavior. Nowadays, I wonder if hg-git
> and topics could not be automatically activated if they are installed
> for the Python used by Mercurial? Is there a good reason not to do
> that? It would be possible directly after `pipx inject mercurial
> hg-evolve hg-git` to clone Mercurial repositories using topics and
> Git repositories from Github.
> 
> If it does not make sense to auto activate topics and hg-git,
> Mercurial should have a simple interface (command line or maybe
> something like what we get with `hg commit -i`) to modify its user
> configuration.
> 
> More generally, with Git, one can run `git config --global user.name
> "Mona Lisa"`, which is convenient for beginners (much more than
> editing a file).
> 
> 
> 2. the difference between modern mercurial with topics and hg-git
> with bookmarks is an issue. We should not need to use/teach bookmarks
> to interact with a Git repository. Topics are much better. Most Git
> branches on Github which are not called master or main should be
> represented by topics (of course, there are exceptions which should
> be handled). I know that Dan Villiom Podlaski Christiansen works on a
> topic on this feature
> (https://foss.heptapod.net/mercurial/hg-git/-/merge_requests/101),
> which is planed for hg-git 2.0.0. However, I start to be less
> confident that it will be one day usable.
> 
> Moreover phases should be by default reasonable when working with Git
> repos (at least commits pushed on main/master should be public).
> 
> 
> Sorry to tell all these negative statements but I feel that without
> changes and more focus on usability for beginners, I will have to
> stop to communicate on Mercurial and teach Mercurial. If this is a
> matter of founding, I may be able to help a bit and more generally we
> should organize ourself to get enough money to get these
> improvements. _______________________________________________
> Mercurial mailing list Mercurial@lists.mercurial-scm.org
> https://lists.mercurial-scm.org/mailman/listinfo/mercurial

I agree. A plan is needed. Mercurial is a great piece of software but
it seems to have a few broken windows. Git has Linus and we have...
nobody. Is there even a project lead? 
_______________________________________________
Mercurial mailing list
Mercurial@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial

Reply via email to