Hgbook

Page 164

Управление изменениями с Mercurial Queues Эти дополнительное тегирование нормальными тегами Mercurial делает возможность внесения патчей еще более легким. • Хотите отправить по email patchbomb с вашей последней серией патчей? hg email qbase:qtip

(Не знаете, что такое «patchbombing»? Смотрите раздел Раздел 14.4, «Отправить изменений по электронной почте с расширением patchbomb».) • Нужно, увидеть все патчи начиная с foo.patch которые коснулись файлов в подкаталоге вашего дерева? hg log -r foo.patch:qtip subdir

Потому что MQ делает имена патчей доступными для остальных команд Mercurial через обычный внутренний механизм тегов, вам не нужно вводить полное имя файла с патчем, если вы хотите идентифицировать его по имени. Другим полезным следствием представления патчей именами тегов является то, что когда вы выполните команду hg log, она будет отображать название патча, как тег, просто как часть нормального вывода. Это позволяет визуально различать применённые патчи от лежащие в основе «обычных» ревизий. В следующем примере показано несколько простых команд Mercurial использующихся с применёнными патчами. $ hg qapplied first.patch second.patch $ hg log -r qbase:qtip changeset: 1:8bd990ad127b tag: first.patch tag: qbase user: Bryan O'Sullivan <bos@serpentine.com> date: Thu Feb 02 14:09:58 2012 +0000 summary: [mq]: first.patch changeset: tag: tag: tag: user: date: summary:

2:ce57e98425d7 qtip second.patch tip Bryan O'Sullivan <bos@serpentine.com> Thu Feb 02 14:09:59 2012 +0000 [mq]: second.patch

$ hg export second.patch # HG changeset patch # User Bryan O'Sullivan <bos@serpentine.com> # Date 1328191799 0 # Node ID ce57e98425d79f974ee096cc6fdf4cc5e4b55918 # Parent 8bd990ad127bfbc3153a923091f86021aa7a7818 [mq]: second.patch diff -r 8bd990ad127b -r ce57e98425d7 other.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/other.c Thu Feb 02 14:09:59 2012 +0000 @@ -0,0 +1,1 @@ +double u;

12.11. Полезные вещи, которые необходимо знать Есть ряд аспектов использования MQ, которые не вписываются аккуратно в отдельные разделы, но их хорошо бы знать. Вот они, в одном месте. • Обычно, когда вы применяете к патчу qpop и потом qpush, ревизия представляющая патч после извлечения/ вставки будет иметь другой идентификатор, чем ревизия, которые представляла патч ранее. Смотрите раздел Раздел B.1.14, «qpush — вставляет патчи в стек» для информации о том, почему так происходит. 151


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.