Size: 3589
Comment:
|
← Revision 6 as of 2012-08-13 20:27:28 ⇥
Size: 3801
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 одинаковый контент и истории ревизий.
Совместное использование изменений с другими разработчиками рассмотрено в главе "Обмен изменениями с другими пользователями".