В Mercurial, как увидеть теги только для набора изменений вместо всех?

StackOverflow https://stackoverflow.com/questions/4521648

  •  12-10-2019
  •  | 
  •  

Вопрос

hg tags Всегда показывает все теги, так как я могу получить только те теги, которые указывают на конкретную ревизию и всех его предков?

В случае использования реального мира заключается в том, что, если я использую локальные теги для обозначения функций (или исправлений ошибок) на сменных сетях, и мне нужно выяснить совокупные функции/ошибки до определенного оборота.

Одним из решений будет добавление команды обертки, которая добавляет "-r" tags. Анкет Тогда как лучше всего его реализовать? Используйте Revsets, чтобы получить все исконные обороты и отфильтровать теги?

Это было полезно?

Решение

Это должно сделать свое дело (требует Mercurial 1.7):

hg log -r "ancestors(<rev>) and tag()"

куда <rev> это хэш или местный номер ревизии. Тем не менее, помечение каждого аппарата и функции кажется излишним.

Вместо того, чтобы отметить, вы можете просто следовать соглашению, в которой вы помещаете «Bugfix: XYZ» или «Функция: ABC» в сообщения о своих коммита. Затем вы можете извлечь все аппараты и функции, подобные этим:

hg log -r "ancestors(<rev>) and (keyword(bugfix) or keyword(feature))"

Сохраняйте теги для важных этапов или других изменений, которые имеют особое значение.

Другие советы

Если я правильно вас понимаю, вы хотите:

  • Укажите ревизию
  • Отфильтруйте журнал только на то, что меняет + все его предки
  • Извлеките все теги, которые есть в этих сменах

Вы можете сделать это, если сможете ограничить себя меткой имена:

hg log -r "ancestors(HASH)" --template "{tags}"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top