Tutorial - Compartilhar uma mudança com outra pessoa
(This page in English: TutorialExport. Esta página é a parte 6 de 9 da série BrazilianPortugueseTutorial. A parte anterior é BrazilianPortugueseTutorialShareChange, a próxima parte é BrazilianPortugueseTutorialMerge)
Em BrazilianPortugueseTutorialShareChange, nós aprendemos como propagar uma revisão de um repositório para outro. Há outras maneiras de compartilhar mudanças entre repositórios e pessoas; uma das mais comuns é através de e-mail.
Após termos consolidado uma mudança, nós podemos exportá-la para um arquivo, e enviar esse arquivo como um anexo de e-mail para uma outra pessoa.
Para exportar uma mudança, nós usamos o comando export . Nós devemos fornecer uma tag, um número de revisão ou um ID de revisão para dizer ao Mercurial o que exportar. No nosso caso, nós queremos exportar a tip. Dado que ainda estamos no diretório my-hello-share , vamos fazer isso:
$ hg export tip # HG changeset patch # User mpm@selenic.com # Date 1209943246 -7200 # Node ID 86794f718fb1ea9e633f7c052757663b8ce90e30 # Parent 82e55d328c8ca4ee16520036c0aaace03a5beb65 Express great joy at existence of Mercurial diff -r 82e55d328c8c -r 86794f718fb1 hello.c --- a/hello.c Fri Aug 26 01:21:28 2005 -0700 +++ b/hello.c Mon May 05 01:20:46 2008 +0200 @@ -12,5 +12,6 @@ int main(int argc, char **argv) { printf("hello, world!\n"); + printf("sure am glad I'm using Mercurial!\n"); return 0; }
Por padrão, export apenas mostra o patch, então normalmente nós redirecionamos a saída para um arquivo (ou usamos a opção -o). Este arquivo é um arquivo de patch no formato unified diff , com alguma informação extra que diz ao Mercurial como importá-lo.
Quando o destinatário receber nosso e-mail, ele irá gravar o anexo e usar o comando import para importar a revisão para seu repositório.
Vamos nos colocar na posição de tal destinatário, e aprender como fazer a mesclagem de uma mudança em BrazilianPortugueseTutorialMerge.