Как мне прикрепить номер к коммиту Mercurial?

Как включить номер дефекта при выполнении ртутного коммита? То, как я сейчас это делаю, заключается в том, что перед сообщением о фиксации указывается номер дефекта, чтобы QA мог найти фиксации, относящиеся к каждому дефекту.

Есть ли поле или тег, который позволил бы мне добавлять число к каждому ртутному коммиту?

Если нет, есть ли лучший способ (чем указание номера в сообщении фиксации) связать число с фиксацией?

4 ответа

Решение

Там нет специальных полей. Единственная хитрость в том, что только первая строка появляется, когда вы не используете подробный вид.

Однако некоторое программное обеспечение, которое интегрируется с Mercurial, анализирует сообщение различными способами. Например, Google Code обнаружит ссылки на "проблему n" и создаст ссылку.

Сообщения коммитов, вероятно, хороши, поскольку, как указывает Мэтью, ваш проектный трекер, вероятно, может их найти. Например, Redmine будет искать фразы типа "Fixed #578" в ваших сообщениях о коммите и автоматически обновлять связанную проблему.

Вы также можете использовать revsets (новый язык запросов) для поиска по ключевым словам в сообщении фиксации.

Если вам все еще не нравится помещать их в сообщения коммита, вы можете пометить коммит. Возможно что-то вроде:

hg tag defect-578 -m "Problem with the widget on the left side of the thing fixed."

Затем тег может быть перемещен вверх по потоку, изменен или удален при необходимости.

Не существует стандартного способа аннотировать идентификаторы дефектов в Mercurial. Для синхронизации систем контроля версий и программного обеспечения для отслеживания ошибок вы обычно настраиваете "хуки". Эти ловушки являются скриптами, которые вызываются после выполнения определенной операции. Например, у вас может быть хук post-commit, который проверяет, содержит ли ваш последний коммит строку типа 'fixed xxxx', и затем автоматически помечает регистр xxxx как исправленный в вашем программном обеспечении отслеживания ошибок посредством вызова API.

Многие FOSS и коммерческие интегрированные решения для контроля версий исходного кода + отслеживания ошибок уже делают это для вас.

Посмотрите на ртутные метки.
Что касается меня, я всегда просто помещаю номер дефекта в комментарии, а затем использую log команда, когда мне нужно ее найти:

hg log -k 'defect#'
Другие вопросы по тегам