Как определить, когда пользователь создает тег, а не коммит в Mercurial

У меня есть хук, написанный для Mercurial. Он использует pretxncommit, чтобы убедиться, что пользователь включил «номер проблемы» в свое сообщение фиксации. Но иногда пользователь может использовать команду «hg tag» вместо фиксации. В этом случае пользователю не нужно вводить номер выпуска.

Как я могу узнать, когда пользователь делает тег вместо фиксации??? Вот пара мест, где я искал ответ, но я что-то упустил или документация просто не настолько глубока.
https://www.mercurial-scm.org/wiki/MercurialApi
http://hgbook.red-bean.com/read/обработка-репозитория-событий-с-хуками.html


person yoyodunno    schedule 21.05.2013    source источник


Ответы (1)


Как я могу узнать, когда пользователь делает тег вместо фиксации???

  • Создание тега является фиксацией
  • Чистая фиксация тегов влияет только на файл .hgtags (и добавляет одну строку в этот файл)

ХТН

person Lazy Badger    schedule 22.05.2013
comment
Хорошо спасибо. Но можно ли определить, когда пользователь использует команду «hg tag», а не команду «hg commit»? - person yoyodunno; 23.05.2013
comment
@user2137668 user2137668 - пользователь всегда использует команду фиксации, но - иногда это пометка-фиксация, иногда - конент-фиксация. Если список коммит-файлов содержит только .hgtags, вы можете рассматривать предыдущее действие как создание тега (если тег не может быть добавлен в репозиторий с извлечением внешнего репозитория) - person Lazy Badger; 24.05.2013
comment
Таким образом, даже когда вы используете команду «hg tag», это все равно считается фиксацией? - person yoyodunno; 28.05.2013
comment
@ user2137668 - hg tag просто отредактируйте .hgtags за кулисами, вы должны зафиксировать эти изменения, чтобы сделать их общедоступными - person Lazy Badger; 28.05.2013
comment
Хорошо понял. Любая идея о том, как определить, когда пользователь создает тег? Я использую внутренний API Mercurial в python. - person yoyodunno; 28.05.2013
comment
@user2137668 user2137668 - вы можете получить временную метку набора изменений tag-child - person Lazy Badger; 28.05.2013
comment
Я имел в виду не фактическое время, а акт фиксации тега. Я думаю, что нашел решение, которое заключается в том, чтобы проверить, является ли файл .hgtags единственным измененным файлом. - person yoyodunno; 28.05.2013