Когда я использовал подобные инструменты для обеспечения соблюдения политик в прошлом, я делал это после фиксации.
То есть после отправки мой инструмент извлекает только что отправленные файлы, переформатирует их в соответствии с политикой, которую я применяю, и отправляет переформатированные файлы в качестве последующих. изменять.
Я делаю это, написав инструмент, который отслеживает изменения аналогично тому, как демон просмотра изменений отслеживает изменения, так что инструмент замечает новые отправки и проверяет новые файлы, чтобы увидеть, соответствуют ли они политике организации.
Обычно у меня есть инструмент, выполняющий «revert -a» перед отправкой, так что, если файлы были отформатированы в соответствии с политикой исходного разработчика, повторная отправка не происходит.
Я действительно думаю, что это лучший подход, чем пытаться сделать это во время отправки:
- Отправляемое изменение точно такое, как его предоставил пользователь, с тем же содержимым, которое предоставил пользователь.
- Изменения, которые произошли из-за инструмента, хорошо видны в отдельной заявке, что позволяет очень легко распознать, когда инструмент сбился с пути и повредил файл во время его переформатирования (такие ошибки инструмента делают происходить).
- Чистый эффект, в целом, желаемый: файлы во главе ветки форматируются в соответствии с политикой компании.
person
Bryan Pendleton
schedule
29.05.2014