Packaging mercurial with conda for easier installation?
Pierre Augier
pierre.augier at univ-grenoble-alpes.fr
Tue Apr 30 13:21:55 UTC 2019
Hi all,
I'm a researcher (in fluid dynamics). I also do a bit of teaching and
training for students and university staff. My university uses Gitlab
(https://gricad-gitlab.univ-grenoble-alpes.fr).
However, I don't like to teach Git to these students and university
staff. I tried to explain this opinion here
http://www.legi.grenoble-inp.fr/people/Pierre.Augier/mercurial-as-a-great-version-source-control-management-tool-in-academics.html
During most of our courses / training sessions, the people bring their
own computers, so we would need to be able to install very easily
Mercurial plus some extensions (in particular hg-git and hg-evolve) and
some utilities (at least meld). I didn't find a very simple way to do
that. The methods depend on the system (we have of course a lot of
Windows 7 and 10 and macOS) and involve looking at web pages,
downloading the right files by clicking on the right links, executing
the installation executables, etc. During a course / training session,
such process is long and error prone. On Windows, one even needs to
install Visual Studio to compile dulwich (needed for hg-git)!
During these courses, everyone has conda installed. conda-forge
(https://github.com/conda-forge/) and conda
(https://github.com/conda/conda) are good open-source tools to build
packages for different platforms and to install them in controlled
environments.
As of today, one can run (see
https://github.com/conda-forge/mercurial-app-feedstock)
conda config --add channels conda-forge
conda create -n env_hg mercurial-app
conda activate env_hg
pip install hg+https://bitbucket.org/durin42/hg-git
We need to install hg-git with pip + bitbucket because of an
incompatibility between Mercurial 4.9.1 and the version of hg-git on
PyPI. As soon as a new version will be released, we won't need that.
This should work on Windows, macOS and Linux with no compilation during
the installation.
However, at this point, hg is available only in the conda environment
env_hg and one needs to work more to get it installed "system wide". For
Unix and bash, one can do
APP_DIR=$HOME/.local/bin/conda-app/
mkdir -p $APP_DIR
echo -e "\nexport PATH=\$PATH:$APP_DIR\n" >> ~/.bashrc
ln -s $(which hg) $APP_DIR/hg
First, I don't know if it is a right way to do that (?). More
importantly, this is not at all satisfactory (too complicated for
beginners, not cross-platform, shell dependent).
By the way, what would be the right way to do this on Windows?
I think it would be possible and useful to work to get something like
this to work anywhere (in particular also on Windows and also with other
shells):
conda config --add channels conda-forge
conda install conda-app
conda-app install mercurial
Note that conda-app doesn't exist yet (see
https://github.com/conda/conda/issues/8556).
Any feedback on this issue and this possible solution ?
Cheers,
Pierre
--
Pierre Augier - CR CNRShttp://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/20190430/232a4e1b/attachment.html>
More information about the Mercurial
mailing list