#mercurial
#mercurial
Вопрос:
Я являюсь фоном git и только что перешел в проект, в котором используется mercurial, проекты разветвляются на модели heads.
Прежде чем отправлять данные на наш сервер тестирования, я хочу убедиться, что production head является одним из моих родительских списков. есть ли для этого команда?
Ответ №1:
на самом деле я нашел способ сделать это, используя «revsets» mercurial.
чтобы перечислить всех предков для конкретного набора изменений, мы можем использовать команду
hg log -r "ancestors(84e5bc6fd673)"
теперь, чтобы найти конкретный набор изменений в этих родительских элементах, мы можем использовать функцию сопоставления, как показано ниже
hg log -r "ancestors(84e5bc6fd673) and id(hh6cjb9c48se)"
итак, если hh6cjb9c48se является частью родительских элементов 84e5bc6fd673, он будет напечатан на терминале.
Комментарии:
1.
matching()
это неправильный выбор. Используйтеid()
для cset-hash (или используйте hash напрямую)2. Некоторые улучшения 1) revset можно определить как параметризованный
[revsetalias]
(без повторного ввода) 2) вы можете форматировать выходные данные с помощью шаблона для более умного представления, что-то вроде (как есть, без параметров и псевдонимов) (TBT!)-T "{ifeq(node, hh6cjb9c48se, 'Found', 'Not found')}n"