Tutorial - обмен изменениями с другим репозиторием
(Это 5-я из 9-ти частейTutorial. Предыдущая - Создание первого изменения, Следующая - RussianTutorialExport)
В Создание первого изменения, мы создали changeset в репозитории my-hello-new-output. Теперь мы хотим публиковать изменения в других местах.
Следуя стилю Mercurial, сначала клонируем оригинальный репозиторий.
$ 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 это самый последний changeset.) Мы укажем опцию -q ("be quiet" - "быть безшумным" ) что бы Mercurial не выводил полное описание tip'а.
$ cd my-hello-share $ hg -q tip 1:82e55d328c8c $ cd ../my-hello-new-output $ hg -q tip 2:86794f718fb1
Как мы можем увидеть, tip'ы отличаются. Возвращаемся в my-hello-share и копируем в него changeset'ы. Что бы сделать это, мы используем команду pull, которая подтягивает все changeset'ы из другого репозитория в текущий репозиторий. Заметьте, именно из другого репозитория.
$ 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 не обновляет рабочий каталог после pull'а. Это означает, что, хотя в репозитории в настоящее время содержатся подтянутый changeset, содержимое файла hello.c в рабочем каталоге осталось таким же как и до pull'а.
Мы можем обновить этот файл (как и другие изменившиеся при извлечении изменений) командой [:Update:update] (либо используя сокращение up):
$ hg up 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
На этой стадии, мы можем посмотреть и убедиться в том что у репозитариев my-hello-share и my-hello-new-output одинаковый контент и истории ревизий.
Предоставлением изменений кому-нибудь ещё мы займёмся в RussianTutorialExport.