У нас были проблемы в последнее время, когда разработчики берут код SVN, который не проходит модульные тесты, не компилируется на всех платформах или даже не компилируется на своей собственной платформе. Хотя это все подхвачено нашим CI-сервером (Cruise Control), и мы установили процессы, чтобы попытаться остановить его, мы действительно хотели бы, чтобы в первую очередь могли прекратить совершать мошеннические коммиты.
Основываясь на нескольких других вопросах, представленных здесь, кажется, что Bad Idea ™ заставляет это делать как крюк с предварительной фиксацией на стороне сервера, главным образом из-за продолжительности времени, необходимого для сборки + запуска тестов. Я сделал несколько Googling и нашел это (все разработчики используют TortoiseSVN):
http://cf-bill.blogspot.com/2010/03/pre-commit-force-unit-tests-without.html
Что бы решить по крайней мере две проблемы (она не будет построена на Unix), но она не отвергает фиксацию, если она терпит неудачу. Итак, мои вопросы:
- Есть ли способ сделать крюк pre-commit в TortoiseSVN заставлять коммит сбой?
- Есть ли лучший способ сделать то, что я пытаюсь сделать в целом?