Как реализовать сценарий привязки pre-commit в SVN, который вызывает dos2unix для проверки зарегистрированного файла

Мне было интересно, есть ли у кого-нибудь здесь опыт записи этого типа скрипта, и если бы они могли дать мне несколько указателей.

Я хотел бы изменить этот скрипт, чтобы проверить, что файл регистрации не имеет возврата каретки в форматировании EOL. Формат EOL – это CR LF в Windows и LF в Unix. Когда пользователь проверяет код в формате Windows. Он больше не компилируется в Unix. Я знаю, что это можно сделать на стороне клиента, но мне нужно, чтобы эта проверка была сделана на стороне сервера. Для этого мне нужно сделать следующее:

1) Убедитесь, что файл, который я проверяю, не является двоичным, я не знаю, как это сделать с помощью svnlook, должен ли я проверить тип mime: type? Красная книга не указывает это явно, или я, должно быть, ее не видел.

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

Я хотел бы получить ваши комментарии / отзывы об этом подходе.

Я думаю, вы можете избежать скрипта фиксации фиксации в этом случае, используя свойство svn:eol-style как описано в SVNBook:

  • Последовательности символов конца строки

  • Свойства Subversion

Таким образом, SVN может беспокоиться о ваших окончаниях линии для вас.

Удачи!

Что именно ты пытаешься сделать?

Конечно, есть много мест, чтобы узнать о svn pre-commit hooks (например, здесь , здесь и в Красной книге ), но это зависит от того, что вы пытаетесь сделать и что доступно в вашей системе.

Можете быть более конкретными?

Interesting Posts