#mercurial #tortoisehg #mercurial-queue
#mercurial #tortoisehg #mercurial-queue
Вопрос:
Я пытаюсь настроить свой рабочий процесс с помощью MQ, как описано в MqTutorial и в главе 13 HGbook.HGbook Часть, с которой я борюсь, заключается в том, как получить несколько запросов на исправление в зависимости от версии.
Альтернативы:
I. Создайте отдельный репозиторий для каждой очереди. Чтобы сделать это управляемым, отметьте репозитории как вложенные хранилища в файле .hgsub
Проблема: следующее приводит к ошибке: path содержит недопустимый компонент
.hg/patches-queue1 = .hg/patches-queue1
II. В главе 13 HGbook описывается, что вы можете добавлять исправления в подкаталоги, такие как
qnew queue1/patch1.diff
Проблема: все исправления все еще находятся в одной очереди и должны применяться по порядку
Есть ли другой способ, чтобы все мои очереди исправлений находились под контролем версий и были отправлены? Несколько очередей исправлений HG MQ в одном репозитории?
Ответ №1:
Ознакомьтесь с hg qqueue
командой, которая является частью mq. Это позволяет автоматически переключать несколько очередей исправлений:
hg qqueue [OPTION] [QUEUE]
manage multiple patch queues
Supports switching between different patch queues, as well as creating new
patch queues and deleting existing ones.
Omitting a queue name or specifying -l/--list will show you the registered
queues - by default the "normal" patches queue is registered. The
currently active queue will be marked with "(active)".
To create a new queue, use -c/--create. The queue is automatically made
active, except in the case where there are applied patches from the
currently active queue in the repository. Then the queue will only be
created and switching will fail.
To delete an existing queue, use --delete. You cannot delete the currently
active queue.
Returns 0 on success.
options:
-l --list list all available queues
-c --create create new queue
--rename rename active queue
--delete delete reference to queue
--purge delete queue, and remove patch dir
Вы не можете допустить, чтобы содержимое в .hg было вложенными репозиториями внешних (outer / parent) репозиториев, но должна быть возможность иметь разные пути для каждого из репозиториев qqueue и, возможно, сделать их все вложенными репозиториями родительского репозитория, который сам находится внутри .hg / patches.