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

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

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

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

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

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

2 Solutions collect form web for “Как реализовать сценарий привязки pre-commit в SVN, который вызывает dos2unix для проверки зарегистрированного файла”

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

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

  • Свойства Subversion

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

Удачи!

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

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

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

  • Подмены Python Subversion, которые прекрасно сочетаются с `pip`?
  • post-commit hook вызывает ошибку при svn commit, но работает при запуске вручную в командной строке
  • Взаимодействие с SVN от appengine
  • virtualenv, python и subversion
  • Почему я получаю «Bad дескриптор файла» при попытке sys.stdin.read () в сценарии subversion pre-revprop-change py?
  • Можно ли интегрировать Google AppEngine и Google Code для непрерывной интеграции?
  • Какие привязки Python существуют для CVS или SVN?
  • Связи SVN для Python для Windows
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.