Принудительно применить политику сообщений Mercurial для коммитов через pretxnchangegroup? - PullRequest
1 голос
/ 24 сентября 2010

Как описано в: http://hgbook.red -bean.com / read / processing-repository-events-with-hooks.html Я подумал, что мог бы написать небольшую ловушку, которая отклоняет проверки с ошибочными сообщениями коммита. Это не проблема, проблема, с которой я сталкиваюсь, заключается в следующем рабочем процессе:

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

Как вы решаете это?

Ответы [ 2 ]

2 голосов
/ 24 сентября 2010

Используя расширение HistEdit , вы можете локально изменить сообщение фиксации, а затем отодвинуть назад все изменения в главном хранилище.

0 голосов
/ 24 сентября 2010

Полагаю, вы не можете поручить разработчикам использовать тот же хук precommit для проверки сообщений коммита, потому что это не проект с централизованным управлением?

Альтернатива @ gizmo ответа - позволить разработчикам использовать MQ и поручить проверку кода перед нажатием (или, что лучше, кто-то извлекает из них). Затем, если рецензенты (или некоторые скрипты рецензирования) обнаружат искаженные сообщения, разработчик может использовать qrefresh для изменения сообщения.

Вы должны быть осторожны с парой вещей в этом рабочем процессе, хотя:

  1. НИКОГДА не нажимайте и не тяните незаконченный патч, даже если qfinish не меняет хэш. Это слишком легко облажаться.
  2. Удостоверьтесь, что разработчик qcommit каждый раз перед отправкой вещей на рассмотрение, иначе вы не будете знать, если он / она пропустит другие изменения в следующей итерации (не то, что он / она будет, но он / она может) .
...