Size: 8680
Comment:
|
Size: 8713
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
Line 5: | Line 4: |
На данный момент мы прошли RussianTutorialClone - клонировали репозиторий. Наша локальная копия - {{{my-hello}}}. | На данный момент мы прошли RussianTutorialClone - клонировали репозиторий. Наша локальная копия - {{{my-hello}}}. |
Line 7: | Line 6: |
Давайте взглянем на историю этого [[RussianRepository|репозитория]]. Для этого мы используем команду {{{log}}}. Она выводит резюме о каждом происшествии, который произошёл в хранилище, начиная с последнего. | Давайте взглянем на историю этого [[RussianRepository|репозитория]]. Для этого мы используем команду {{{log}}}. Она выводит резюме о каждом событии, которое произошло в хранилище, начиная с последнего. |
Line 22: | Line 21: |
* Каждый параграф описывает отдельный [[ChangeSet|changeset]]. Changeset это модификация одного или нескольких файлов, сгруппированных логически. * В нашем случае, мы видим историю репозитория состоящую из двух changeset'ов. |
* Каждый параграф описывает отдельный [[ChangeSet|changeset]] (набор изменений). Changeset - это модификация одного или нескольких файлов, сгруппированных логически. * В нашем случае, мы видим историю репозитория, состоящую из двух changeset'ов. |
Line 26: | Line 24: |
* Первое число перед двоеточием это [[RevisionNumber|номер ревизии]]; это локальный метод идентификации changeset'ов. Он действует только внутри этого репозитория. * Шестнадцатиричная строка после двоеточия это [[ChangeSetID|changeset ID]]; это идентификатор changeset'а, и он неизменен во всех репозиториях содержащих этот changeset. Если Вы обсуждаете с кем-нибудь changeset'ы, используйте ChangeSetID, а не номер ревизии. * {{{tag}}} это [[Tag|тег]], произвольное символическое имя changeset'а. * Вы можете привязать к changeset'у один или несколько тегов. На самом деле, теги привязывают к очень не многим changeset'ам, так что строка {{{tag}}} присутствует редко. * Специальный тег {{{tip}}} всегда обозначает [[Tip|tip]] - новейший changeset в репозитории. Если Вы создатите ещё один changeset (и мы это вскоре сделаем), тег {{{tip}}} будет удалён из этого changeset и добавлен к новому changeset'у. |
* Первое число перед двоеточием - это [[RevisionNumber|номер ревизии]]; это локальный метод идентификации changeset'ов. Он действует только внутри этого репозитория. * Шестнадцатиричная строка после двоеточия - это [[ChangeSetID|changeset ID]]; это идентификатор changeset'а, и он неизменен во всех репозиториях содержащих этот changeset. Если Вы обсуждаете с кем-нибудь changeset'ы, используйте ChangeSetID, а не номер ревизии. * {{{tag}}} - это [[Tag|тег]], произвольное символическое имя changeset'а. * Вы можете привязать к changeset'у один или несколько тегов. На самом деле, теги привязывают к очень немногим changeset'ам, так что строка {{{tag}}} присутствует редко. * Специальный тег {{{tip}}} всегда обозначает [[Tip|tip]] - новейший changeset в репозитории. Если Вы создатите ещё один changeset (и мы это вскоре сделаем), тег {{{tip}}} будет удалён из этого changeset'а и добавлен к новому changeset'у. |
Line 33: | Line 31: |
* {{{summary}}} это первая строка описания changeset'а. Описание вводится при создании changeset'а как напоминание для понимания его назначения (см. [[ChangeSetComments]]). | * {{{summary}}} - это первая строка описания changeset'а. Описание вводится при создании changeset'а как напоминание для понимания его назначения (см. ChangeSetComments). |
Line 35: | Line 33: |
* В большинстве случаев родительский changeset только один, он и предшествует рассматриваемому. Именно этот случай мы имеем в вышестоящем примере. | * В большинстве случаев родительский changeset только один, он и предшествует рассматриваемому. Именно этот случай мы имеем в вышестоящем примере. |
Line 66: | Line 64: |
Подробный вывод содержит несколько больше полей чем обычный. |
Подробный вывод содержит несколько больше полей, чем обычный. |
Line 71: | Line 68: |
* В нашем случае описание не отличается от предыдущего примера так-как его длина - только одна строка. | * В нашем случае, описание не отличается от предыдущего примера так-как его длина - только одна строка. |
Line 73: | Line 70: |
Опция `--debug` добавляет следующие поля к подробному выводу (см. [[DebuggingFeatures]]): | Опция `--debug` добавляет следующие поля к подробному выводу (см. DebuggingFeatures): |
Line 76: | Line 73: |
* Второе поле {{{parent}}} содержит changeset ID обоих родительских changeset'ов, где значение {{{-1:0000000000000000000000000000000000000000}}} указыват на несуществование родителя. | * Второе поле {{{parent}}} содержит changeset ID обоих родительских changeset'ов, где значение {{{-1:0000000000000000000000000000000000000000}}} указыват на отсутствие родителя. |
Line 81: | Line 78: |
Команда {{{log}}} с опцией {{{-r}}} возвращает информацию о конкретном changeset'е. |
Команда {{{log}}} с опцией {{{-r}}} возвращает информацию о конкретном changeset'е. |
Line 92: | Line 88: |
<!> У опции {{{-r}}} очень гибкий синтаксис выбора диапазона changeset'ов. Но на нашем демонстрационном репозитарии с ограниченым количеством changeset'ов это сложно прожемонстрировать. Узнать больше Вы сможете из мана: [[http://www.selenic.com/mercurial/hg.1.html#log|manpage]]. |
<!> У опции {{{-r}}} очень гибкий синтаксис выбора диапазона changeset'ов. Но на нашем демонстрационном репозитарии с ограниченым количеством changeset'ов это сложно продемонстрировать. Узнать больше Вы сможете из руководства: [[http://www.selenic.com/mercurial/hg.1.html#log|manpage]]. |
Line 111: | Line 106: |
Вы можете использовать команду {{{tip}}} что бы просмотреть ''tip'', то есть последний changeset. Команду {{{tip}}} можно рассматривать как сокращение от {{{log -r tip}}}. |
Вы можете использовать команду {{{tip}}}, чтобы просмотреть ''tip'', то есть последний changeset. Команду {{{tip}}} можно рассматривать как сокращение от {{{log -r tip}}}. |
Line 129: | Line 123: |
Теперь, когда мы имеем некоторое представление о том, что происходит, let's jump in и сделаем некоторые изменения! Вперед, к [[RussianTutorialFirstChange|Созданиию первых изменений]]! |
Теперь, когда мы имеем некоторое представление о том, что происходит, давайте пойдем дальше и сделаем некоторые изменения! Вперед, к [[RussianTutorialFirstChange|Созданиию первых изменений]]! |
(Это третья 3-я из 9 частей Руководства. Предыдущая - Клонирование репозитория, Следующая - создание первых изменений)
На данный момент мы прошли RussianTutorialClone - клонировали репозиторий. Наша локальная копия - my-hello.
Давайте взглянем на историю этого репозитория. Для этого мы используем команду log. Она выводит резюме о каждом событии, которое произошло в хранилище, начиная с последнего.
$ hg log changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile changeset: 0:0a04b987be5a user: mpm@selenic.com date: Fri Aug 26 01:20:50 2005 -0700 summary: Create a standard "hello, world" program
Каждый параграф описывает отдельный changeset (набор изменений). Changeset - это модификация одного или нескольких файлов, сгруппированных логически.
- В нашем случае, мы видим историю репозитория, состоящую из двух changeset'ов.
changeset идентификатор changeset'а.
Первое число перед двоеточием - это номер ревизии; это локальный метод идентификации changeset'ов. Он действует только внутри этого репозитория.
Шестнадцатиричная строка после двоеточия - это changeset ID; это идентификатор changeset'а, и он неизменен во всех репозиториях содержащих этот changeset. Если Вы обсуждаете с кем-нибудь changeset'ы, используйте ChangeSetID, а не номер ревизии.
tag - это тег, произвольное символическое имя changeset'а.
Вы можете привязать к changeset'у один или несколько тегов. На самом деле, теги привязывают к очень немногим changeset'ам, так что строка tag присутствует редко.
Специальный тег tip всегда обозначает tip - новейший changeset в репозитории. Если Вы создатите ещё один changeset (и мы это вскоре сделаем), тег tip будет удалён из этого changeset'а и добавлен к новому changeset'у.
user показывает пользователя создавшего changeset. Эта строка имеет свободный формат; обычно она содержит email, и иногда также и имя пользователя.
date показывает когда changeset был создан. Время выводится в локальной зоне создателя changeset'а.
summary - это первая строка описания changeset'а. Описание вводится при создании changeset'а как напоминание для понимания его назначения (см. ChangeSetComments).
parent идентификаторы родительских changeset'ов (parent), в случае если их больше чем один, когда вы объединили (merge) изменения из нескольких репозиториев.
- В большинстве случаев родительский changeset только один, он и предшествует рассматриваемому. Именно этот случай мы имеем в вышестоящем примере.
Мы можем получить более детализированный лог запросив подробный вывод с опцией -v или с глобальной опцией --debug - абсолютно полный:
$ hg log -v changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 files: Makefile description: Create a makefile (...) $ hg log --debug changeset: 1:82e55d328c8ca4ee16520036c0aaace03a5beb65 tag: tip parent: 0:0a04b987be5ae354b710cefeba0e2d9de7ad41a9 parent: -1:0000000000000000000000000000000000000000 manifest: 1:0c7c1d435e6703e03ac6634a7c32da3a082d1600 user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 files+: Makefile extra: branch=default description: Create a makefile (...)
Подробный вывод содержит несколько больше полей, чем обычный.
files список файлов модифицированных в changeset'е.
description содержит полное многострочное описание changeset'а, а не только первую строчку.
- В нашем случае, описание не отличается от предыдущего примера так-как его длина - только одна строка.
Опция --debug добавляет следующие поля к подробному выводу (см. DebuggingFeatures):
changeset содержит несокращённый changeset ID.
Второе поле parent содержит changeset ID обоих родительских changeset'ов, где значение -1:0000000000000000000000000000000000000000 указыват на отсутствие родителя.
manifest содержит manifest ID changeset'а.
file+ список файлов добавленных в changeset.
file- список файлов удалённых из changeset'а.
Команда log с опцией -r возвращает информацию о конкретном changeset'е.
$ hg log -r1 changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile
У опции -r очень гибкий синтаксис выбора диапазона changeset'ов. Но на нашем демонстрационном репозитарии с ограниченым количеством changeset'ов это сложно продемонстрировать. Узнать больше Вы сможете из руководства: manpage.
Команда log с опцией -p отображает патч changeset'а:
$ hg log -r1 -p changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile diff -r 0a04b987be5a -r 82e55d328c8c Makefile --- /dev/null Fri Aug 26 01:20:50 2005 -0700 +++ b/Makefile Fri Aug 26 01:21:28 2005 -0700 @@ -0,0 +1,1 @@ +all: hello
Вы можете использовать команду tip, чтобы просмотреть tip, то есть последний changeset. Команду tip можно рассматривать как сокращение от log -r tip.
$ hg tip changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile $ hg log -r tip changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile
Теперь, когда мы имеем некоторое представление о том, что происходит, давайте пойдем дальше и сделаем некоторые изменения! Вперед, к Созданиию первых изменений!