Могу ли я / я должен обновить сообщение фиксации в хуке предварительной фиксации SVN - PullRequest
2 голосов
/ 17 ноября 2010

Я добавил несколько хуков pre commit для моих репозиториев SVN, которые проверяют, что люди помещают элемент JIRA против каждого коммита. Это отлично работает.

Однако, просматривая журналы svn, было бы неплохо, чтобы сводка отображалась в сообщении коммита, иначе это просто набор цифр, и вам нужно все время обращаться к JIRA, чтобы увидеть, что происходит.

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

  • Как я могу изменить сообщение фиксации для транзакции в хуке?
  • В документах SVN содержатся большие предупреждения об изменении транзакций во время ловушек перед фиксацией. Это относится только к изменению сообщения о коммите?

Ответы [ 3 ]

2 голосов
/ 23 ноября 2010

Не меняйте ревизию во время коммита!Это включает в себя изменение файлов, изменение свойств или даже сообщение фиксации.На самом деле, svnlook не дает вам возможности делать такие вещи по уважительной причине.Существует большая вероятность того, что вы можете заставить коммит завершиться неудачей, потому что вы пытаетесь изменить комментарий.

Если вы хотите сделать это, по крайней мере, используйте триггер пост-фиксации.Таким образом, у вас есть номер ревизии, и вы можете изменить svn: log.

Еще лучше, если crontab запустит задание, чтобы просмотреть журнал Subversion и изменить сообщение о коммите.Таким образом, вы не связываете коммит, ожидая, пока ваш триггер изменит сообщение коммита.

Однако лучшее решение - это использовать Hudson в качестве сервера непрерывной сборки.Hudson будет автоматически собирать, запускать ваши тесты и даже отправлять разработчикам по электронной почте сообщения о проблемах сборки.

Hudson имеет плагин, который ссылается на Jira.Он будет:

  • Добавлять комментарий к заявке Jira всякий раз, когда он выполняет сборку и обнаруживает эту заявку в комментарии.Таким образом, вы можете посмотреть на билет Jira и посмотреть, какая сборка была связана с этим билетом.
  • Хадсон отобразит ваши сообщения о коммитах со ссылками на соответствующий билет Jira.Если разработчик хочет просмотреть детали заявки, он может перейти к Hudson и щелкнуть ссылку.
  • (ничего общего с Jira). Hudson также позволяет использовать ViewVC или Sventon в качестве браузера исходного кода.,Когда вы посмотрите на ваши изменения в Hudson, он свяжется с ViewVC или Sventon и покажет различия в файлах.
1 голос
/ 18 ноября 2010

Я сделал это несколько лет назад с CVS и JIRA, затем с SVN и JIRA.Каким-то образом, добавление информации об ошибке в сообщение о фиксации кажется неправильным, поэтому я изменил другие инструменты, которые отображали сообщение о фиксации, чтобы добавить информацию JIRA при их просмотре.Это также позволяет избежать медленных фиксаций из-за транзакции, ожидающей JIRA.

~ Matt

1 голос
/ 17 ноября 2010

Это относится к сообщению о фиксации, а также к содержимому, поскольку вы потеряете синхронизацию с вашим клиентом.Для сообщения о коммите, которое, кажется, не имеет большого значения, но я бы порекомендовал, если сообщение журнала не содержит необходимой информации, просто отклоните коммит.Обновление: то, что вы также можете сделать, это изменить сообщения журнала позже (через задание, которое проверяет svn-репо по времени), потому что это свойство ревизии.Но имейте в виду, что изменение сообщения журнала нигде не регистрируется ...

...