Mercurial er en distribuert kildekontroll styringsverktøy som ligner på Git og Bazaar. Mercurial er skrevet i Python og brukes av prosjekter som Mozilla for Firefox og Thunderbird.
Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden de siste stabile versjonene av bøkene.
Nedlasting (HTTP): https://www.mercurial-scm.org/release/mercurial-7.1.2.tar.gz
Nedlasting MD5 sum: e44ca9851c10b2d9f5a823bf555ef138
Nedlastingsstørrelse: 8.6 MB
Estimert diskplass som kreves: 126 MB (med dokumenter, legg til 33 MB for tester)
Estimert byggetid: 0.6 SBU (med dokumenter, legg til 24 SBU for tester; begge bruker parallellisme=4)
build-1.3.0, docutils-0.22.3 (nødvendig for å bygge
dokumentasjonen), git-2.52.0, OpenSSH-10.2p1
(kjøretid, for å få tilgang til ssh://... depoter), Pygments-2.19.2, rustc-1.91.0 (se rust/README.rst og rust/rhg/README.md), Subversion-1.14.5
(med Python bindinger), Which-2.23 (brukt i en test),
CVS,
pyflakes, og re2
Mercurial er bygget og installert
i en enkelt kommando som root
bruker:
make PREFIX=/usr install
Dokumentasjonen er bygget av kommandoen ovenfor (i man- og
html-formater), men bare man sidene er installert. Hvis du ønsker å
installere html dokumentasjon, utsted som root bruker:
mkdir /usr/share/doc/mercurial-7.1.2 && cp -R doc/html /usr/share/doc/mercurial-7.1.2
Hvis du ønsker å kjøre testene, må rusttestene fjernes siden de for øyeblikket er ødelagt på grunn av syntaksfeil. For å gjøre dette, utsted:
sed -i '151,154d' Makefile
Det er også et problem med tillatelser i byggemappen, siden den
ovenstående install
kommandoen har opprettet filer eid av root, som en test prøver å modifisere. For å
bøte på dette, utsted, som root
bruker:
chown -Rv brukernavn .
Hvor brukernavn erstattes
med brukernavnet til personen som kjører testene. For å kjøre
testpakken, utsted følgende:
TESTFLAGS="-j<N> --with-hg /usr/bin/hg" make check
hvor <N> er et
heltall mellom én og antall ( prosessor X tråder ), inkludert
(standard er totalt antall prosessorer som returnert av
nproc). Tester kan
mislykkes fordi noen feilmeldinger har endret seg i Python eller
noen avskrivningsadvarsler skrives ut som ikke var til stede da
testen ble designet.
For å undersøke eventuelle tilsynelatende mislykkede tester, kan du
bruke run-tests.py
skriptet i tests mappen. For å se
nesten førti brytere, noen av dem veldig nyttige, kjør tests/run-tests.py --help. Når du
kjører følgende kommandoer, vil du bare kjøre testene som mislyktes
før:
pushd tests && ./run-tests.py --with-hg /usr/bin/hg --retest popd
En interessant bryter er --time, som
vil generere en tabell over alle utførte tester og deres respektive
start, slutt, bruker, system og sanntid når testene er fullført.
Merk at disse brytere kan brukes med make check ved å inkludere dem i
TESTFLAGS miljøvariabelen.
Etter installasjonen to veldig raske og enkle tester burde kjøres riktig. Den første trenger litt konfigurasjon:
cat >> ~/.hgrc << "EOF"
[ui]
username = <user_name> <user@mail>
EOF
hvor du må erstatte <user_name> og <user@mail> (mail er valgfritt og kan utelates, men hvis du beholder det, bør du også beholde vinkelparentesene «<>»). Med brukeridentiteten definert, kjør hg debuginstall og flere linjer vil vises, den siste leser "no problems detected". En annen rask og enkel test er bare hg, som skal gi grunnleggende kommandoer som kan brukes med hg.
/etc/mercurial/hgrc og ~/.hgrc
De aller fleste utvidelser er deaktivert som standard. Kjør hg help extensions hvis du trenger å aktivere noen, f.eks. når man undersøker testfeil. Dette vil sende ut en liste over aktiverte og deaktiverte utvidelser, samt mer informasjon som hvordan aktivere eller deaktivere utvidelser ved hjelp av konfigurasjonsfiler.
Hvis du har installert make-ca-1.16.1 og ønsker Mercurial å bruke sertifikatene, som
root bruker, kjør:
install -v -d -m755 /etc/mercurial &&
cat > /etc/mercurial/hgrc << "EOF"
[web]
cacerts = /etc/pki/tls/certs/ca-bundle.crt
EOF