Проверка CVS перед фиксацией

Мне нужно запустить сценарий предварительной фиксации CVS для любых фиксируемых файлов javascript. Сценарий в основном запускает JS Hint, чтобы подтвердить, что любой код javascript в хорошем состоянии. Проблема в том, что я не могу установить JS Hint на той же машине, где находится репозиторий CVS. Самое простое решение, которое я придумал, — это сценарий предварительной фиксации для выполнения команды JS Hint по ssh на другом компьютере с установленным JS Hint. Моя проблема в том, что я не уверен, как передать новое содержимое файла на удаленную машину, поскольку он еще не зафиксирован в CVS. Есть ли у машины CVS способ доступа к новому содержимому из сценария предварительной фиксации?


person JCB    schedule 22.01.2014    source источник


Ответы (1)


Commitinfo предоставляет аргументы регулярного выражения, которые, если они совпадают, запустят вашу команду для этих файлов, в соответствии с этим:

http://durak.org/sean/pubs/software/cvsbook/The-commitinfo-And-loginfo-And-rcsinfo-Files.html

Commitinfo

Коммит commitinfo' file defines programs to execute whenevercvs скоро будет выполнен. Эти программы используются для проверки перед фиксацией, чтобы убедиться, что измененные, добавленные и удаленные файлы действительно готовы к фиксации. Это можно использовать, например, для проверки того, что измененные файлы соответствуют стандартам вашего сайта для практики кодирования.

Как упоминалось ранее, каждая строка в файле `commitinfo' состоит из регулярного выражения и шаблона командной строки. Шаблон может включать имя программы и любое количество аргументов, которые вы хотите передать. К шаблону добавляется полный путь к текущему исходному репозиторию, за которым следуют имена файлов, задействованных в фиксации (добавленные, удаленные и измененные файлы).

Будет использована первая строка с регулярным выражением, соответствующим относительному пути к модулю. Если команда возвращает ненулевой статус выхода, фиксация будет прервана.

Если имя репозитория не соответствует ни одному из регулярных выражений в этом файле, используется строка `DEFAULT', если она указана.

Все вхождения имени ALL' appearing as a regular expression are used in addition to the first matching regular expression or the nameDEFAULT'.

Примечание: когда CVS обращается к удаленному репозиторию, `commitinfo' будет выполняться на удаленной стороне (т.е. на сервере), а не на стороне клиента (see section Удаленные репозитории).

От: http://herbert.the-little-red-haired-girl.org/html/cvs/cvs_18.html

person Sid    schedule 23.01.2014