Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
hgbook.pdf
Скачиваний:
50
Добавлен:
17.03.2015
Размер:
3.15 Mб
Скачать

Экскурсия по Mercurial: основы

int main(int argc, char **argv)

{

printf("hello, world!\"); printf("hello again!\n"); return 0;

}

Команда Mercurial hg status покажет, что Mercurial знает о файлах в репозитории.

$ ls

Makefile hello.c $ hg status

M hello.c

hg status выводит информацию не обо всех файлах, а только об изменённых: это строка, начинающаяся с буквы «M» для hello.c. Пока вы не укажете это специально, hg status не будет выводить информацию про файлы, которые не изменились.

«M» показывает, что Mercurial оповещен о модификации hello.c. Мы не уведомляли Mercurial о том, что изменили файл ни перед, ни после окончания работы, он способен самостоятельно находить изменения.

Иногда мало просто знать только о факте изменения файла, и мы предпочли бы знать, какие точно изменения были сделаны. Для этого используется команда hg diff.

$ hg diff

diff -r 2278160e78d4 hello.c

--- a/hello.c Sat Aug 16 22:16:53 2008 +0200

+++ b/hello.c Thu Feb 02 14:10:17 2012 +0000 @@ -8,5 +8,6 @@

int main(int argc, char **argv)

{

printf("hello, world!\");

+printf("hello again!\n"); return 0;

}

Объяснение патчей

Напомню, что нужно посмотреть Раздел 12.4, «Понимание патчей», если вы не знаете, как читать вывод команды выше.

2.7. Запись изменений в новую ревизию

Мы можем изменять файлы, собирать и тестировать изменения и использовать команды hg status, hg diff для анализа изменений, пока мы не будем удовлетворены ими и не достигнем естественной точки, когда захочется записать проделанную работу в новую ревизию.

Команда hg commit позволяет создать новую ревизию. Для простоты, мы будем называть этот процесс «сделать коммит» или «закоммитить».

2.7.1. Установка имени пользователя

В первый раз выполнение команды hg commit может пройти неудачно. Mercurial записывает ваше имя и адрес в каждую ревизию, чтобы вы или другие пользователи могли связаться с автором каждого изменения. Mercurial пытается найти наиболее разумное имя пользователя для коммита. Поиск происходит в следующем порядке:

1.Если в команде hg commit вы указали опцию -u, с последующим именем пользователя, то оно будет обладать наивысшим приоритетом.

2.Если у вас установлена переменная окружения HGUSER, то следующей будет проверена она.

3.Если вы создали в своей домашней директории файл .hgrc, и в нём есть директива username — будет использована она. Чтобы узнать, как должен выглядеть содержимое этого файла, смотрите Раздел 2.7.1.1, «Создание файла конфигурации Mercurial».

17

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]