Mercurial é uma ferramenta de gerenciamento distribuído de controle de fonte semelhante ao Git e ao Bazaar. Mercurial é escrita em Python e é usada por projetos como "Mozilla" para "Firefox" e "Thunderbird".
Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0.
Transferência (HTTP): https://www.mercurial-scm.org/release/mercurial-6.5.1.tar.gz
Soma de verificação MD5 da transferência: fccff6981f362466b8e9e0fa0de0ddb6
Tamanho da transferência: 7,9 MB
Espaço em disco estimado exigido: 115 MB (com documentos, adicionar 1,5 GB para testes)
Tempo de construção estimado: 0,3 UPC (com documentos; adicionar 30 UPC para testes; ambos usando paralelismo=4)
docutils-0.20.1 (exigido para construir a
documentação), git-2.41.0, GPGME-1.21.0 (com
ligações "Python"), OpenSSH-9.4p1 (tempo de execução, para
acessar repositórios "ssh://..."), Pygments-2.16.1, rustc-1.71.1 (veja-se
rust/README.rst
e rust/rhg/README.md
), Subversion-1.14.2
(com ligações "Python"), Bazaar, CVS, pyflakes, pyOpenSSL e
re2
Construa Mercurial emitindo o seguinte comando:
make build
Para construir a documentação (exige docutils-0.20.1), emita:
make doc
Se você desejar executar os testes, os testes rust precisam ser removidos, pois estão atualmente quebrados devido a erros de sintaxe. Para fazer isso, emita:
sed -i '138,142d' Makefile
Para executar a suíte de teste, emita:
TESTFLAGS="-j<N>
--tmpdir tmp" make check
onde <N>
é um
número inteiro entre um e o número de (camadas X do processador),
inclusive. Vários testes falham porque algumas mensagens de erro
foram mudadas no Python ou alguns avisos de descontinuação são
impressos, que não estavam presentes quando o teste foi projetado.
Para a finalidade de investigar quaisquer testes aparentemente
falhos, você possivelmente use o conjunto de comandos sequenciais
run-tests.py. Para
ver as quase quarenta chaves, algumas delas muito úteis, emita
tests/run-tests.py
--help. Executando os seguintes comandos, você
executará somente os testes que falharam antes:
pushd tests && rm -rf tmp && ./run-tests.py --tmpdir tmp test-gpg.t popd
Normalmente, as falhas anteriores serão reproduzíveis. Porém, se
você adicionar a chave --debug
antes de
--tmpdir
e executar os testes
novamente, [então] algumas falhas possivelmente desapareçam, o que
é um problema com a suíte de teste. Se isso acontecer, [então] não
mais existirão falhas, mesmo se você não passar a chave "--debug"
novamente.
Uma chave interessante é --time
, que
gerará uma tabela de todos os testes executados e respectivos
tempos de início, fim, usuário(a), sistema e real assim que os
testes estiverem completos. Observe que essas chaves possivelmente
sejam usadas com make
check incluindo-as na variável de ambiente
TESTFLAGS
.
Instale o Mercurial executando o
seguinte comando (como root
):
make PREFIX=/usr install-bin
Se você construiu a documentação, [então] instale-a executando o
seguinte comando (como root
):
make PREFIX=/usr install-doc
Depois da instalação, dois testes muito rápidos e simples deveriam executar corretamente. O primeiro precisa de alguma configuração:
cat >> ~/.hgrc << "EOF"
[ui]
username = <nome_usuário(a)> <usuário(a)@correio>
EOF
onde você precisa substituir <nome_usuário(a)> e <seu@correio-eletrônico> (o correio é opcional e pode ser omitido). Com a identidade do(a) usuário(a) definida, execute hg debuginstall e diversas linhas serão exibidas, a última dizendo "no problems detected". Outro teste rápido e simples é apenas hg, que deveria gerar comandos básicos que conseguem ser usados com hg.
/etc/mercurial/hgrc
e ~/.hgrc
A maioria das extensões está desabilitada por padrão. Execute hg help extensions se precisar habilitar alguma, por exemplo. ao investigar falhas de teste. Isso exibirá uma lista de extensões habilitadas e desabilitadas, bem como mais informações, tais como habilitar ou desabilitar extensões usando arquivos de configuração.
Se você tiver instalado o make-ca-1.12 e
deseja que o Mercurial use os
certificados, [então] como o(a) usuário(a) root
, emita:
install -v -d -m755 /etc/mercurial &&
cat > /etc/mercurial/hgrc << "EOF"
[web]
cacerts = /etc/pki/tls/certs/ca-bundle.crt
EOF