Differences between revisions 4 and 6 (spanning 2 versions)
Revision 4 as of 2009-07-24 07:04:27
Size: 3589
Editor: lit-uriy
Comment:
Revision 6 as of 2012-08-13 20:27:28
Size: 3801
Editor: 94-153-226-116-kv
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Tutorial - обмен изменениями с другим репозиторием ==
''(Это 5-я из 9-ти частей[[RussianTutorial|Tutorial]]. Предыдущая - [[RussianTutorialFirstChange|Создание первого изменения]], Следующая - RussianTutorialExport)''
== Учебник - Обмен изменениями с другим репозиторием ==
''(Это 5-я из 9-ти частей [[RussianTutorial|Учебника]]. Предыдущая - [[RussianTutorialFirstChange|Создание первого изменения]], Следующая - [[RussianTutorialExport|Обмен изменениями с другими пользователями]])''
Line 4: Line 4:
В статье [[RussianTutorialFirstChange|Создание первого изменения]], мы создали [[ChangeSet|набор изменений]] в [[Repository|хранилище]]` my-hello-new-output`. Теперь мы хотим публиковать изменения в других местах. В статье [[RussianTutorialFirstChange|Создание первого изменения]] мы создали [[ChangeSet|набор изменений]] в [[Repository|хранилище]]` my-hello-new-output`. Теперь мы хотим опубликовать наши замечательные изменения где-нибудь ещё.
Line 6: Line 6:
Следуя стилю Mercurial, сначала [[Clone|клонируем]] оригинальное хранилище. Следуя хорошему стилю работы с Mercurial, сначала [[Clone|клонируем]] оригинальное хранилище.
Line 14: Line 14:
Мы можем использовать команду `tip` что бы найти [[Tip|tip]] в каждом хранилище. (Tip это самый последний набор изменений.) Мы укажем опцию `-q` ("be quiet" - "быть безшумным" ) что бы Mercurial не выводил полное описание tip'а. Мы можем использовать команду `tip`, чтобы найти [[Tip|tip]] в каждом хранилище. (Tip - это самый последний набор изменений). Мы укажем опцию `-q` ("be quiet" - "быть молчаливым" ), чтобы Mercurial не выводил полное описание tip'а.
Line 24: Line 24:
Как мы можем увидеть, tip'ы отличаются. Возвращаемся в `my-hello-share` и копируем в него changeset'ы. Что бы сделать это, мы используем команду `pull`, которая [[Pull|подтягивает]] (pull) все наборы изменений из другого хранилища в текущий. Заметьте, именно из другого хранилища. Как можно увидеть, id tip'ов отличаются. Возвращаемся в `my-hello-share` и копируем в него changeset'ы. Чтобы сделать это, мы используем команду `pull`, которая [[Pull|подтягивает]] (pull) все наборы изменений из другого хранилища в текущий. Заметьте, именно из другого хранилища.
Line 39: Line 39:
Последняя строка вывода важна. По умолчанию Mercurial не обновляет [[WorkingDirectory|рабочий каталог]] после pull'а. Это означает, что, хотя в хранилище в настоящее время содержатся подтянутый набор изменений, содержимое файла `hello.c` в рабочем каталоге осталось таким же как и до pull'а. Последняя строка вывода важна. По умолчанию Mercurial не обновляет [[WorkingDirectory|рабочий каталог]] после pull'а. Это означает, что хотя теперь в хранилище  содержится подтянутый набор изменений, содержимое файла `hello.c` в рабочем каталоге осталось таким же, как и до pull'а.
Line 41: Line 41:
Мы можем обновить этот файл (как и другие изменившиеся при извлечении изменений) командой `[:Update:update]` (либо используя сокращение `up`): Мы можем обновить этот файл (как и все другие) командой `update` (либо используя сокращение `up`):
Line 47: Line 47:
На этой стадии, мы можем посмотреть и убедиться в том что у репозитариев `my-hello-share` и `my-hello-new-output` одинаковый контент и истории ревизий. На этой стадии мы можем посмотреть и убедиться в том, что у репозитариев `my-hello-share` и `my-hello-new-output` одинаковый контент и истории ревизий.
Line 49: Line 49:
Предоставлением изменений кому-нибудь ещё мы займёмся в RussianTutorialExport. Совместное использование изменений с другими разработчиками рассмотрено в главе [[RussianTutorialExport|"Обмен изменениями с другими пользователями"]].

Учебник - Обмен изменениями с другим репозиторием

(Это 5-я из 9-ти частей Учебника. Предыдущая - Создание первого изменения, Следующая - Обмен изменениями с другими пользователями)

В статье Создание первого изменения мы создали набор изменений в хранилище 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 - это самый последний набор изменений). Мы укажем опцию -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) все наборы изменений из другого хранилища в текущий. Заметьте, именно из другого хранилища.

$ 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'а. Это означает, что хотя теперь в хранилище содержится подтянутый набор изменений, содержимое файла 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 одинаковый контент и истории ревизий.

Совместное использование изменений с другими разработчиками рассмотрено в главе "Обмен изменениями с другими пользователями".


CategoryTutorial CategoryRussian

RussianTutorialShareChange (last edited 2012-08-13 20:27:28 by 94-153-226-116-kv)