С Git у вас есть полная копия репозитория для личного использования, поэтому копирование файлов во время их фиксации не является проблемой.В конце концов, вы просто воздействуете на себя.
Однако Subversion имеет централизованное хранилище, что означает, что манипулирование файлами во время фиксации сложнее и обычно не рекомендуется.
Одна из проблем заключается в том, чтоэтот тип вещей должен обрабатываться хуком, а хуки, поскольку они запускаются на сервере, не имеют доступа к вашей рабочей копии.Они могут проверить фиксацию с помощью команды svnlook только для чтения, но это все.Да, есть способы обойти это, но, как сказано в руководстве, это не рекомендуется.
Даже с такими системами управления версиями, как Git и ClearCase, где можно взломать файлы во время коммита, это все равноне хорошая идея.Прежде всего, это может замедлить процесс фиксации при запуске скрипта ловушки, что может расстроить пользователя.Во-вторых, что произойдет, если процесс взлома фактически сломает файл?Предполагается, что разработчики тестируют и проверяют свои изменения перед их фиксацией.«Сломать сборку» - это преступление даже хуже, чем взять последнюю чашку кофе в комнате отдыха и не приготовить еще одну кастрюлю.Тем не менее, вот разработчик, который сделал все, что предполагалось, и это был глупый хук-скрипт, который сделал это!
Это то, что должно быть сделано в процессе автоматической сборки (вы используете инкрементную сборку).система вроде CruiseControl или Hudson не так ли?).Это можно сделать как часть тестирования, и сборка может быть помечена как «нестабильная», если файл не отформатирован правильно.На самом деле, у Hudson есть хуки, которые могут сделать это как часть процесса сборки, что делает это очень простым.Сервер сборки может оповестить программиста о своем проступке (Плохой программист! Файл с плохим отступом! Вам не нужен пончик!) И техническому руководителю или менеджеру сборки.
Что проверено, так это то, что написал разработчики проверено.Проверяет форматирование, модульное тестирование и все остальное, что может сделать система сборки.