Tutorial - clonar um repositório
(This page in English: TutorialClone)
(Esta página é a parte 2 de 9 da série BrazilianPortugueseTutorial. A parte anterior é BrazilianPortugueseTutorialInstall, a proxima parte é BrazilianPortugueseTutorialHistory)
Você já acompanhou o ../BrazilianPortugueseTutorialInstall para instalar o Mercurial, certo? Muito bem!
No Mercurial, fazemos todo o nosso trabalho dentro de um repositório. Um repositório é um diretório que contém todos os arquivos fonte dos quais queremos manter o histórico, além do próprio histórico completo desses arquivos fonte (dentro do diretório .hg — veja BrazilianPortugueseUnderstandingMercurial).
A maneira mais fácil de começar com o Mercurial é usar um repositório que já contenha alguns arquivos e algum histórico.
Para isso, usamos o comando clone . 1Isto cria um clone de um repositório, ou seja, cria uma cópia completa de um outro repositório, de modo que teremos nosso próprio repositório local e privado, no qual trabalharemos.
Vamos fazer um clone de um pequeno repositório "hello, world" mantido em selenic.com:
o conteúdo dos arquivos nesse exemplo estará em inglês, para consistência com o repositório fornecido pelo servidor selenic.com.
$ hg clone http://www.selenic.com/repo/hello my-hello
Se tudo correr bem, o comando clone imprimirá isto (Mercurial 1.4):
requesting all changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 2 files updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Nós então encontraremos um diretório chamado my-hello sob o diretório atual:
$ ls my-hello
Dentro do diretório my-hello, nós encontraremos alguns arquivos, além de um diretório chamado .hg, que contém dados privados do Mercurial (basicamente o histórico do repositório e vários tipos de informações de estado - veja Repository para mais informações):
$ ls -a . .. .hg Makefile hello.c
Estes arquivos são cópias exatas dos arquivos da revisão tip do ramo default do repositório que acabamos de clonar.
Nota: no Mercurial, cada repositório é auto-contido. Quando você clona um repositório, o novo repositório se torna uma cópia exata do repositório existente no momento da clonagem, mas mudanças subseqüentes em qualquer um deles não irão aparecer no outro a não ser que você as transfira explicitamente, através dos comandos pull ou push, como veremos posteriormente.
Por padrão, hg clone atualiza o diretório de trabalho (veja Update) para a revisão mais recente do ramo default do repositório. Para ver a revisão o diretório de trabalho está associado no momento, nós podemos usar o comando parents:2
$ cd my-hello $ hg parents changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile
Neste ponto, podemos começar a examinar o histórico de nosso novo repositório, prosseguindo para ../BrazilianPortugueseTutorialHistory.