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.


CategoryTutorial CategoryRussian