Mercurial est un outil de gestion de contrôle des sources distribuée similaire à Git et Bazaar. Mercurial est écrit en Python et il est utilisé par des projets tels que Mozilla pour Firefox et Thunderbird.
This package is known to build and work properly using an LFS 12.0 platform.
Téléchargement (HTTP) : https://www.mercurial-scm.org/release/mercurial-6.5.1.tar.gz
Somme de contrôle MD5 : fccff6981f362466b8e9e0fa0de0ddb6
Taille du téléchargement : 7,9 Mo
Estimation de l'espace disque requis : 115 Mo (avec la doc, plus 1,5 Go pour les tests)
Estimation du temps de construction : 0,3 SBU (avec la doc, plus 30 SBU pour les tests, les deux avec -j4)
docutils-0.20.1 (requis pour construire la
documentation), git-2.41.0, GPGME-1.21.0 (avec
les liaisons Python), OpenSSH-9.4p1
(exécution, pour accéder aux dépôts ssh://...), Pygments-2.16.1, rustc-1.71.1 (voir
rust/README.rst
et rust/rhg/README.md
), Subversion-1.14.2
(avec les liaisons Python), Bazaar, CVS, pyflakes, pyOpenSSL
et re2
Construisez Mercurial en exécutant la commande suivante :
make build
Pour construire la documentation (exige docutils-0.20.1), lancez :
make doc
Si vous souhaitez exécuter les tests, les tests rust doivent être supprimés car ils sont actuellement cassé à cause de problèmes de syntaxe. Pour cela, exécutez :
sed -i '138,142d' Makefile
Pour lancer la suite de tests, exécutez :
TESTFLAGS="-j<N>
--tmpdir tmp" make check
où <N>
est un
nombre entier entre un et le nombre de (processeurs × threads)
inclus. Plusieurs tests échouent car certains messages d'erreur ont
changé dans Python, ou que certains avertissements d'obsolescence
sont affichés, qui n'étaient pas présents au moment où le test a
été conçu. Afin de pouvoir investiguer un test qui a l'air
d'échouer, vous pouvez utiliser le script run-tests.py. Pour voir les
presque quarante options, dont certaines très utiles, lancez
tests/run-tests.py
--help. Avec la commande suivante, vous exécuterez
seulement les tests précédemment échoués :
pushd tests && rm -rf tmp && ./run-tests.py --tmpdir tmp test-gpg.t popd
Normalement les échecs précédents seront confirmés. Cependant, si
vous ajoutez l'option --debug
avant
--tmpdir
, et que vous lancez de
nouveau, certains échecs disparaissent, ce qui est un problème avec
la suite de tests. Si cela arrive, il n'y aura plus de tels échecs
que vous utilisiez l'option debug ou non.
Une option intéressante est --time
, qui
génère un tableau avec tous les tests exécutés et leur temps
respectifs de début, fin, utilisateur, système et réel à la fin de
l'exécution de la suite de tests. Remarquez que ces options peuvent
être utilisés avec make
check, en les ajoutant à la variable
d'environnement TESTFLAGS
.
Installez Mercurial en exécutant
les commandes suivantes (en tant qu'utilisateur root
) :
make PREFIX=/usr install-bin
Si vous avez construit la documentation, installez-la en exécutant
la commande suivante (en tant qu'utilisateur root
) :
make PREFIX=/usr install-doc
Après l'installation, vous devriez pouvoir correctement lancer deux tests très rapides et simples. Le premier demande un peu de configuration :
cat >> ~/.hgrc << "EOF"
[ui]
username = <user_name> <user@mail>
EOF
où vous devez remplacer <user_name> et <your@mail> (mail est facultatif et peut être omis). Une fois l'identité de l'utilisateur définie, lancez hg debuginstall et quelques lignes seront affichées, la dernière affichant « no problems detected ». Un autre test rapide et simple est juste hg, qui doit afficher les commandes basiques qui peuvent être utilisée avec hg.
/etc/mercurial/hgrc
et ~/.hgrc
La grande majorité des extensions est désactivée par défaut. Lancez hg help extensions si vous souhaitez en activer une, par exemple lorsque vous investiguez des tests échoués. Vous obtiendrez la liste des extensions activées et désactivées, et plus d'information, comme comment les activer ou les désactiver avec les fichiers de configuration.
Si vous avez installé les make-ca-1.12
et que vous souhaitez que Mercurial les utilise, lancez, en tant
qu'utilisateur root
:
install -v -d -m755 /etc/mercurial &&
cat > /etc/mercurial/hgrc << "EOF"
[web]
cacerts = /etc/pki/tls/certs/ca-bundle.crt
EOF