Tutorial - Обмен изменениями с другими пользователями
(Это 6-я из 9-ти частей[:RussianTutorial:Tutorial]. Предыдущая - [:RussianTutorialShareChange:обмен изменениями с другим репозиторием], следующая [:RussianTutorialMerge:обработка множества независимых изменений файла ])
В "[:RussianTutorialShareChange:обмен изменениями с другим репозиторием]", мы разобрались с извлечением [:ChangeSet:changeset'ов] из одного [:Repository:репозитория] в другой. Существуют и другие способы обмена изменениями между людьми и репозиториями, один из наиболее распространённых это email.
После фиксации ([:Commit:commit]) изменений, мы можем [:Export:экспортировать] их в файл, и отправить как вложение почтой кому-нибудь.
Для экспорта мы используем команду export. При экспорте мы должны указать Mercurial'у [:Tag:тег], [:RevisionNumber:номер ревизии] или [:ChangeSetID:changeset ID] того что мы хотим експортировать. В нашем случае мы хотим экспортировать [:Tip:tip]. При условии, мы все еще в каталоге my-hello-share, сделаем следующее.
$ 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; }
По умолчанию export выводит patch на дисплей, так что обычно мы перенаправляем вывод в файл (или применяем опцию -o). Этот файл - [:PatchFile:patch file] в формате [:UnifiedDiff:unified diff], с дополнительной информацией о том как Mercurial'у [:Import:импортировать] его содержимое.
Получив наш email, сохранив вложение, получатель, командой import импортирует изменения в свой репозиторий.
Что бы разобраться со [:Merge:слиянием] изменений из различных репозиториев, перейдём к "[:RussianTutorialMerge:Обработка множества независимых изменений файла]".