Tutorial - compartilhar uma mudança com outra pessoa
(This page in English: TutorialExport)
Em ../BrazilianPortugueseTutorialShareChange, nós aprendemos como propagar um changeset 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 feito o commit de uma mudança, nós podemos fazer um export (exportação) da mesma para um arquivo, e enviar esse arquivo como um anexo de e-mail para uma outra pessoa.
Para fazer o export de uma mudança, nós usamos o comando export . Nós devemos fornecer uma tag, um número de revisão ou um changeset ID 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
# Node ID a58809af174d89a3afbbbb48008d34deb30d8574
# Parent 82e55d328c8ca4ee16520036c0aaace03a5beb65
Express great joy at existence of Mercurial
diff -r 82e55d328c8c -r a58809af174d hello.c
--- a/hello.c Fri Aug 26 08:21:28 2005
+++ b/hello.c Fri Aug 26 08:26:28 2005
@@ -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. Este arquivo é um arquivo de patch no formato unified diff , com alguma informação extra que diz ao Mercurial como fazer o import (importação).
Quando o destinatário recebe nosso e-mail, ele irá gravar o anexo e usar o comando import para importar o changeset em seu repositório.
Vamos nos colocar na posição de tal destinatário, e aprender como fazer o merge (recombinação) de uma mudança em ../BrazilianPortugueseTutorialMerge.
