Как реализовать сценарий перехвата перед фиксацией в SVN, который вызывает dos2unix для проверки зарегистрированного файла
Вопрос
Мне было интересно, есть ли у кого-нибудь здесь опыт написания сценариев такого типа и могут ли они дать мне несколько советов.
Я хотел бы изменить это сценарий чтобы убедиться, что файл возврата не содержит возврата каретки в формате EOL.Формат EOL — CR LF в Windows и LF в Unix.Когда пользователь регистрирует код в формате Windows.Он больше не компилируется в Unix.Я знаю, что это можно сделать на стороне клиента, но мне нужно выполнить эту проверку на стороне сервера.Чтобы добиться этого, мне нужно сделать следующее:
1) Убедитесь, что файл, который я проверяю, не является двоичным. Я не знаю, как это сделать с помощью svnlook. Должен ли я проверить mime:type файла?А Красная книга не указывает на это ясно, или я, должно быть, не видел этого.
2) Я хотел бы запустить dos2unix команда, чтобы убедиться, что файл имеет правильный формат EOL.Я бы сравнил вывод команды dos2unix с исходным файлом.Если между ними есть разница, я сообщаю клиенту сообщение об ошибке и отменяю регистрацию.
Я хотел бы получить ваши комментарии/отзывы об этом подходе.
Решение
Я думаю, в этом случае вы можете избежать сценария фиксации фиксации, используя svn:eol-style
свойство, как описано в SVNBook:
Таким образом, SVN может позаботиться о окончаниях строк за вас.
Удачи!
Другие советы
Что именно ты пытаешься сделать?
Конечно, есть множество мест, где можно узнать о перехватчиках предварительной фиксации svn (например, здесь , здесь, и в Красная книга), но это зависит от того, что вы пытаетесь сделать и что доступно в вашей системе.
Вы можете быть более конкретным?