У меня есть исправление ртутной очереди на моем локальном компьютере, которым мне нужно поделиться с коллегой, которого я бы предпочел не фиксировать в вышестоящем репозитории. Есть ли простой способ упаковать этот патч и поделиться им с ним?
Mercurial Queues — экспорт патча
Ответы (2)
mq хранит патчи в папке .hg\patches\
в виде файлов без расширения.
Вы можете скопировать или отправить эти файлы по электронной почте и использовать hg qimport FILE
на другом конце, чтобы перенести их в очередь исправлений в другом репозитории. Обратите внимание, что если вы скопируете его непосредственно в целевую папку .hg\patches\
, вам нужно будет использовать переключатель --existing
, чтобы hg
знал, что не нужно создавать файл.
Папка .hg/patches
, кстати, сама по себе может быть репозиторием для отслеживания изменений в самой очереди патчей. Вы можете запустить его с помощью hg init --mq
и зафиксировать текущие патчи с помощью hg com --mq
.
person
Edward
schedule
28.01.2013
- Если на обеих сторонах включен MQ, вы можете использовать опцию pull|push --mq
- Вы можете использовать расширение MQCollab
- Вы можете просто скопировать нужный mq-патч из каталога patch-файлов (по умолчанию: `.hg/patches) и передать его любым способом: патч представляет собой обычный diff, который можно применять к "чужим" файлам в репозитории даже без MQ
person
Lazy Badger
schedule
28.01.2013
Не могли бы вы объяснить, как использовать pull|push --mq?
- person Joshua Goldberg; 19.06.2015
От себя добавлю, что простой способ сделать ревизию из патча (3-й вариант) - это
hg import <patch>
. (Сначала я возился с unix patch < <patch>
, что более неудобно.) Как уже упоминалось, для этого не требуется mq в месте назначения.
- person Joshua Goldberg; 19.06.2015