== Учебник - Обмен изменениями с другим репозиторием == ''(Это 5-я из 9-ти частей [[RussianTutorial|Учебника]]. Предыдущая - [[RussianTutorialFirstChange|Создание первого изменения]], Следующая - [[RussianTutorialExport|Обмен изменениями с другими пользователями]])'' В статье [[RussianTutorialFirstChange|Создание первого изменения]] мы создали [[ChangeSet|набор изменений]] в [[Repository|хранилище]]` my-hello-new-output`. Теперь мы хотим опубликовать наши замечательные изменения где-нибудь ещё. Следуя хорошему стилю работы с Mercurial, сначала [[Clone|клонируем]] оригинальное хранилище. {{{ $ cd .. $ hg clone my-hello my-hello-share updating working directory 2 files updated, 0 files merged, 0 files removed, 0 files unresolved }}} Мы можем использовать команду `tip`, чтобы найти [[Tip|tip]] в каждом хранилище. (Tip - это самый последний набор изменений). Мы укажем опцию `-q` ("be quiet" - "быть молчаливым" ), чтобы Mercurial не выводил полное описание tip'а. {{{ $ cd my-hello-share $ hg -q tip 1:82e55d328c8c $ cd ../my-hello-new-output $ hg -q tip 2:86794f718fb1 }}} Как можно увидеть, id tip'ов отличаются. Возвращаемся в `my-hello-share` и копируем в него changeset'ы. Чтобы сделать это, мы используем команду `pull`, которая [[Pull|подтягивает]] (pull) все наборы изменений из другого хранилища в текущий. Заметьте, именно из другого хранилища. {{{ $ cd ../my-hello-share $ hg pull ../my-hello-new-output pulling from ../my-hello-new-output searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy) }}} В отличие от других команд Mercurial'а, `pull` очень болтлива. В данном случае подтягивание было успешным. Последняя строка вывода важна. По умолчанию Mercurial не обновляет [[WorkingDirectory|рабочий каталог]] после pull'а. Это означает, что хотя теперь в хранилище содержится подтянутый набор изменений, содержимое файла `hello.c` в рабочем каталоге осталось таким же, как и до pull'а. Мы можем обновить этот файл (как и все другие) командой `update` (либо используя сокращение `up`): {{{ $ hg up 1 files updated, 0 files merged, 0 files removed, 0 files unresolved }}} На этой стадии мы можем посмотреть и убедиться в том, что у репозитариев `my-hello-share` и `my-hello-new-output` одинаковый контент и истории ревизий. Совместное использование изменений с другими разработчиками рассмотрено в главе [[RussianTutorialExport|"Обмен изменениями с другими пользователями"]]. ---- CategoryTutorial CategoryRussian