Autor: Matt Mackall
Página: http://www.selenic.com/mercurial/
Licença: GPLv2
Plataformas suportadas: Linux, *BSD, Mac OS, Solaris, Windows
Mercurial é um sistema para gerenciamento de versões distribuído utilizado por alguns subsistemas do kernel e projetos opensource.
Todos os comandos começam com hg, uma referência ao elemento químico mercúrio
Fedora:
shell> sudo yum install mercurial
Debian/Ubuntu/Kubuntu:
shell> sudo apt-get install mercurial
clone, commit, status, add, remove, diff, extdiff
Cria uma cópia de repositório em um diretório
Exemplo:
shell> hg clone http://linuxtv.org/hg/v4l-dvb
shell> ls v4l-dvb
Envia as alterações para o repositório local
Exemplo:
shell> vi arquivo.c (algumas alterações ocorreram neste momento)
shell> hg commit [arquivo]
Exibe o status dos arquivos do repositório local
Exemplo:
shell> hg status [arquivo]
M arquivo
Os códigos de status são:
M = Arquivo alterado (modified)
A = Adicionado
C = Sem alterações (clean) (Quando usa-se o parâmetro -c)
R = Arquivo removido
! = Arquivo removido mas continua no repositório
? = Arquivo não desconhecido
I = Arquivo ignorado
Sem retorno = Não houveram alterações no arquivo
Sinaliza os arquivos que serão adicionados ao repositório local
Exemplo::
shell> hg add arquivo
shell> hg commit (envia as alterações para o repositório local)
Sinaliza os arquivos que serão removidos do repositório local
Exemplo:
shell> hg remove arquivo
shell> hg commit (envia as alterações para o repositório local)
Exibe as alterações de um determinado arquivo
Exemplo:
shell> hg diff arquivo
Exemplo para visualizar alterações incluindo arquivos binários:
shell> hg diff -a
Opções:
-r = revisão
shell>hg diff -r revisão arquivo
A extensão extdiff permite especificar a ferramenta que sera utilizada para visualizar as alterações feitas em um determinado programa.
Por padrão, a extensão extdiff utiliza a ferramenta diff para comparar os arquivos e validar se houveram alterações.
Porém, é possível facilmente alterar a ferramenta de comparação de código, por exemplo de diff para kdiff3.
1) Adicione a extensão ao hgrc padrão ou ao .hgrc do local
Exemplo 1:
shell> vi /etc/mercurial/hgrc
Exemplo 2:
shell>vi ~/.hgrc
2) Adicione as linhas:
[extensions]
extdiff =
Neste momento será possível especificar a ferramenta para diffs. No exemplo abaixo iremos passar o programa kdiff3 como parâmetro:
Exemplo:
shell> hg extdiff -p /usr/bin/kdiff3
Opções:
-p = Ferramenta (program) por padrão é utilizado a ferramenta diff
-o = parâmetros (options) por padrão é passado ao extdiff as opções -Npru
Ao invés de digitar hg extdiff -p /usr/bin/kdiff3 podemos criar um alias para digitar apenas:
shell> hg kdiff3
Adicione no seu arquivo ~/.hgrc local ou no hgrc geral /etc/mercurial/hgrc
[extensions]
extdiff =
[extdiff]
cmd.kdiff3 = kdiff3
# Caso queira passar opções, remova o comentário e adicione abaixo
# opts.kdiff3 =
Agora já é possível utilizar o novo comando
shell>hg kdiff3