Как вы находите наборы изменений между двумя тегами в Mercurial? - PullRequest
0 голосов
/ 13 декабря 2018

Если у меня есть два тега с именами 2.0 и 2.1, как мне найти сообщения набора изменений между ними?Я пытаюсь найти способ использовать HG для создания заметок о выпуске и перечисления различных сообщений, связанных с коммитами.

Пример набора изменений:

changeset: 263:5a4b3c2d1e user: User Name <user.name@gmail.com> date: Tue Nov 27 14:22:54 2018 -0500 summary: Added tag 2.0.1 for changeset 9876fghij

ЖелаемыйВыход:

Added tag 2.1 for changeset 67890pqrst Change Info... Added tag 2.0.1 for changeset 9876fghij Change Info... Added tag 2.0 for changeset klmno12345

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Предисловие

"Любой вызов имеет простое и легкое для понимания неправильное решение".И ответ Бориса является прекрасной иллюстрацией для этого правила: «::» topo-range даст хорошие результаты только в случае развития только одной ветви (что, как правило, Плохая идея)(tm) в любом случае)

Face

Хорошее решение must правильно обрабатывать сложные DAG и отвечать на вопрос "Новые наборы изменений включены в NEW, отсутствует в OLD (независимо от характера вхождения) "

Для меня это только функции" only () "в revsets с обоими параметрами

" only (set, [set]) "

Наборы изменений, которые являются предками первого набора, но не являются предками других голов репо.Если указан второй набор, результатом являются предки первого набора, которые не являются предками второго набора (т. Е. :: set1 - :: set2).

hg log -r "only(2.1,2.0)"

может быть для лучшего представленияпитание от предопределенного стиля "changelog"

hg log -r "only(2.1,2.0)" -s changelog

или пользовательского стиля | template

0 голосов
/ 13 декабря 2018

Вы захотите использовать revset для выбора всех наборов изменений между двумя тегами, например: 2.0::2.1, вероятно, добьется цели.Вы можете проверить выбранные наборы изменений, выполнив: hg log -G -r '2.0::2.1'.(См. hg help revset для получения дополнительной информации о наборе изменений).

После того, как вы выбрали правильные выбранные наборы изменений, теперь вы можете применить шаблон для получения только необходимой информации.Например, если вам нужна только первая строка описания набора изменений, вы можете сделать hg log -r '2.0::2.1' -T '{desc}\n' для всего описания или hg log -r '2.0::2.1' -T '{desc|firstline}\n' только для первой строки каждого описания набора изменений.

Если вы хотите добавить еще большеинформация, hg help template ваш друг.

...