(veja também UnderstandingMercurial e ["Tutorial"])

Configurando o usuário

Por padrão o Mercurial utiliza um usuário no formato 'user@localhost' para os commits. Normalmente isso não significa nada. O melhor é configurar um endereço eletrônico correto no arquivo ~/.hgrc (ou quando o sistema for Windows %USERPROFILE%\mercurial.ini) adicionando linhas como as seguintes:

[ui]
username = Nome do Autor <endereco@eletronico>

Trabalhando num projeto Mercurial existente

Se você possui a URL de um projeto [:Repository:repository] (por exemplo [http://selenic.com/hg]), você pode obter uma cópia da seguinte forma:

$ hg clone http://selenic.com/hg

Isso irá criar um novo diretório hg (por padrão), obter todo o histórico do projecto, e fazere checkout do tipmost [:ChangeSet:changeset] (veja tamém ["Clone"]).

Configurando um novo projeto Mercurial

Comece criando o repositório:

$ cd project/
$ hg init           # cria o diretorio .hg

O Mercurial vai procurar por um arquivo de nome [".hgignore"] na raiz do seu repositório que contém uma tabela de padrões e expressões regulares para ignorar nos caminhos para os arquivos. Aqui está um exemplo de arquivo .hgignore:

syntax: glob
*.orig
*.rej
*~
*.o
tests/*.err
*.class

syntax: regexp
.*\#.*\#$

Teste o seu arquivo .hgignore com o comando:

$ hg status         # mostra todos os arquivos não ignorados

Isto irá listar todos os arquivos que não serão ignorados com um marcador '?' (não controlado). Edite o seu arquivo .ignore até que apenas os arquivos que você quer controlar são listados com o estado. Você deverá controlar seus arquivos .hgignore também! Mas você provavelmente não quer controlar arquivos gerados pelo seu processo de compilação e montagem. Quando estiver satisfeito, marque seus arquivos para adição ao repositório, depois [:Commit:commit]:

$ hg add            # adiciona todos os arquivos desconhecidos (marcados com '?')
$ hg commit         # commit todas as mudanças, edita a entrada no changelog

Ramificação (Branching) e junção (merging)

$ hg clone project project-work    # cria um novo branch
$ cd project-work
$ <faça uma mudança qualquer>
$ hg commit
$ cd ../project
$ hg pull ../project-work   # obtenha (pull) changesets do project-work
$ hg merge                  # merge do novo tip do project-work no seu diretorio de trabalho
$ hg commit                 # faça o commit do resultado do merge

Exportando um patch

(faça as mudanças)
$ hg commit
$ hg export tip    # exporta o commit mais recente

Suporte a Rede

# clone do repositório principal do Mercurial
foo$ hg clone http://selenic.com/hg/
foo$ cd hg

# faça uma atualização (update) do repositório existente
foo$ hg pull http://selenic.com/hg/

# exporte seu repositório corrente via HTTP com uma interface navegável
foo$ hg serve -n "My repo" -p 80

# publique as mudanças para o repositório remoto via SSH
foo$ hg push ssh://user@example.com/hg/


translations: [:QuickStart:english] [:QuickStartDe:german]


CategoryBrazilianPortuguese