Differences between revisions 1 and 2
Revision 1 as of 2008-02-11 21:12:04
Size: 11229
Editor: WagnerBruna
Comment:
Revision 2 as of 2008-02-11 22:07:03
Size: 11323
Editor: WagnerBruna
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
''(This page in English: [:TutorialHistory])''
Line 9: Line 11:
Neste ponto, nós já acompanhamos TutorialClone para clonar um repositório; nossa cópia local é chamada {{{my-hello}}}. Neste ponto, nós já acompanhamos ../BrazilianPortugueseTutorialClone para clonar um repositório; nossa cópia local é chamada {{{my-hello}}}.
Line 169: Line 171:
Agora que nós temos uma noção do que aconteceu, vamos fazer algumas mudanças! Em frente, com TutorialFirstChange! Agora que nós temos uma noção do que aconteceu, vamos fazer algumas mudanças! Em frente, com ../BrazilianPortugueseTutorialFirstChange!

Tutorial - examinar o histórico do repositório

(This page in English: [:TutorialHistory])

Neste ponto, nós já acompanhamos ../BrazilianPortugueseTutorialClone para clonar um repositório; nossa cópia local é chamada my-hello.

Vamos examinar o histórico deste [:Repository:repositório]. Para fazer isso, usamos o comando log . Isso imprime um resumo de cada evento que ocorreu no repositório, do mais recente para o mais antigo.

$ cd my-hello
$ hg log
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

changeset:   0:0a04b987be5a
user:        mpm@selenic.com
date:        Fri Aug 26 01:20:50 2005 -0700
summary:     Create a standard "hello, world" program

Estas linhas de saída são descritas a seguir.

  • Cada parágrafo descreve um [:ChangeSet:changeset] (conjunto de mudanças) específico. Um changeset é uma mudança de um ou mais arquivos, agrupada em uma unidade lógica.

    • Em nosso caso acima, podemos ver que o istórico do repositório consiste de dois changesets.
  • changeset identifica um changeset.

    • O primeiro número antes do dois-pontos é um [:RevisionNumber:revision number] (número de revisão); é uma maneira local compacta de identificar o changeset. Ele é válido apenas para este repositório.

    • O texto hexadecimal após o dois-pontos é um [:ChangeSetID:changeset ID] (identificador de changeset) abreviado; ele identifica o changeset, e é o mesmo em todos os repositórios que contenham este changeset. Sempre que você discutir um changeset com outra pessoa, use o changeset ID, e não o número de revisão.

  • tag é uma [:Tag:tag] (etiqueta), um nome simbólico arbitrário para um changeset.

    • Você pode atribuir um ou mais tags a qualquer changeset. Na prática, não serão muitos os changesets que terão uma tag associada a eles, de modo que a linha tag nem sempre estará presente.

    • A tag especial denominada tip (ponta) sempre identifica a [:Tip:tip], que é o changeset mais recente no repositório. Se você criar outro changeset (o que faremos em breve), a tag tip será removida do changeset mais recente e adicionada ao novo changeset.

  • user (usuário) identifica a pessoa que criou o changeset. Este é um texto livre; ele costumeiramente contém um endereço eletrônico, e algumas vezes também o nome da pessoa.

  • date (data) descreve quando o changeset foi criado. Essas datas são impressas no fuso horário do criador do changeset.

  • summary (resumo) dá a primeira linha da descrição do changeset. Isto foi colocado pelo criador do changeset no momento em que o criou, para auxiliar a si mesmo e aos outros a entender o propósito do changeset (veja também ["ChangeSetComments"]).

  • parent identifica os changesets [:Parent:pais], no caso de haver mais de um (isso acontece quando você [:Merge:recombina] mudanças de vários repositórios).

    • Na maior parte das vezes há apenas um pai, que é o changeset mais velho que o próprio. Esse é o caso em nosso exemplo acima.

Podemos obter informações de histórico mais detalhadas pedindo pela saída prolixa com a opção -v , ou a opção global --debug para todos os detalhes:

$ hg log -v
changeset:   1:82e55d328c8ca4ee16520036c0aaace03a5beb65
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
files:       Makefile
description:
Create a makefile

(...)

$ hg log --debug
manifest:    1:0c7c1d435e6703e03ac6634a7c32da3a082d1600
changeset:   1:82e55d328c8ca4ee16520036c0aaace03a5beb65
tag:         tip
parent:      0:0a04b987be5ae354b710cefeba0e2d9de7ad41a9
parent:      -1:0000000000000000000000000000000000000000
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
files+:      Makefile
description:
Create a makefile

(...)

A saída prolixa contém alguns campos mais que a saída padrão.

  • changeset agora fornece o changeset ID sem abreviação.

  • files (arquivos) lista os arquivos modificados neste changeset.

  • description (descrição) contém a descrição completa em múltiplas linhas do changeset, ao invés de apenas a primeira linha.

    • No nosso caso, as descrições contém apenas uma linha, então não há muita diferença.

A saída --debug adiciona os seguintes campos à saída prolixa (veja também ["DebuggingFeatures"]):

  • file+ lista um arquivo adicionado neste changeset.

  • file- lista um arquivo removido neste changeset.

  • manifest fornece o [:Manifest:manifest] ID para este changeset.

  • dois campos parent que fornecem o changeset ID de ambos os pais deste changeset, onde -1:0000000000000000000000000000000000000000 se refere a um pai não-existente.

O comando log possui uma opção -r para exibir changesets específicos.

$ hg log -r1
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

<!> A opção -r na verdade suporta uma sintaxe bastante flexível para selecionar seqüências de changesets. No entanto, devido ao número limitado de changesets em nosso repositório de exemplo, nós não podemos fornecer uma boa demonstração aqui. Por favor consulte a [http://www.selenic.com/mercurial/hg.1.html página de manual] para mais informações.

O comando log também possui a opção -p que mostra os patches associados aos changesets:

$ hg log -r1 -p
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

diff -r 0a04b987be5a -r 82e55d328c8c Makefile
--- /dev/null   Fri Aug 26 01:20:50 2005 -0700
+++ b/Makefile  Fri Aug 26 01:21:28 2005 -0700
@@ -0,0 +1,1 @@
+all: hello

Nós também podemos usar o comando tip para exibir informações da tip, ou seja, do último changeset. O comando tip pode ser considerado um atalho para log -r tip.

$ hg tip
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

$ hg log -r tip
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

Agora que nós temos uma noção do que aconteceu, vamos fazer algumas mudanças! Em frente, com ../BrazilianPortugueseTutorialFirstChange!


CategoryTutorial

BrazilianPortugueseTutorialHistory (last edited 2010-05-02 14:57:17 by WagnerBruna)