2009-10-16 3 views
3

На моем месте работы мы начали вводить правильные крючки SVN, «правильные» значения, «делая много проверок политики». В настоящее время наша политика состоит из Perl :: Critic с проверкой Perl :: Tidy. Тем не менее, особенно последнее занимает много времени на фиксации с несколькими-многими файлами, и SVN не вернется, пока не будет сделан крюк после фиксации.Сохранение времени в перехватах SVN после фиксации?

Есть ли какой-либо способ, который я могу сэкономить на крюке после фиксации, не жертвуя проверками политики?

ответ

1

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

Помимо ускорения проверки, я не вижу ничего, что вы можете сделать. (За исключением старой мантры: фиксировать часто. Тогда вы не будете фиксировать так много файлов одновременно.)

3

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

  • Некоторые один совершить SVN репозиторий
  • Через некоторое время CC основывает это изменение и запускает скрипт:
    • Получить последнюю версию из SVN
    • Run проверяет, как Perl: : критик и Perl :: Tidy
  • Если какая-либо проверка не удалось, то
    • Создать подробный отчет об ошибке (который доступен из Интернета)
    • Отправить уведомление по электронной почте, если необходим

Есть много хорошей системы Continious услуг интеграции. Мне нравится Hudson.

2

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

Смежные вопросы