Из-за того, что gJSLint выдает ошибки из-за отсутствия документации по членам. Мы обновили нашу ловушку перед фиксацией, в которую входит линтинг JavaScript. Это изменение включало правило 220 gJSLint (игнорировать документацию по отсутствующим элементам). Однако при выполнении фиксации GIT по-прежнему жалуется, что JavaScript недействителен. Сам по себе запуск gJSLint не вызывает ошибок.
gjslint --strict --disable = 5,6,110,220 приложение / пит / модули / api.js
Мы удалили промежуточные файлы, а затем снова добавили их в постановку, но безуспешно.
Кеширует ли GIT хуки предварительной фиксации?
Обработчик предварительной фиксации
#!/bin/sh
files=$(git diff --cached --name-only --diff-filter=ACM | grep ".js$") if [ "$files" = "" ]; then
exit 0 fi
pass=true
echo "\nValidating JavaScript:\n"
for file in ${files}; do
result=$(gjslint --strict --disable=5,6,110,220 ${file} | grep "${file} is OK")
if [ "$result" != "" ]; then
echo "\t\033[32mJSLint Passed: ${file}\033[0m"
else
echo "\t\033[31mJSLint Failed: ${file}\033[0m"
pass=false
fi done
echo "\nJavaScript validation complete\n"
if ! $pass; then
echo "\033[41mCOMMIT FAILED:\033[0m Your commit contains files that should pass JSLint but do not. Please fix the JSLint errors and try again.\n try: gjslint --strict --disable=5,6,110,220 file.js\n"
exit 1 else
echo "\033[42mCOMMIT SUCCEEDED\033[0m\n" fi
Результат git commit -m "...."
Проверка JavaScript:
Ошибка JSLint: приложение / ямы / модули / api.js
Ошибка JSLint: приложение / ямы / модули / State.js
Ошибка JSLint: приложение / ямы / модули / table.js
Проверка JavaScript завершена
COMMIT FAILED: ваша фиксация содержит файлы, которые должны пройти JSLint, но
do not. Please fix the JSLint errors and try again. try: gjslint --strict --disable=5,6,110,220 file.js
Окружающая среда
git версия 1.8.1.2
gjslint версии 2.3.13
lubuntu версии 13.04
gjslint
ошибки, кажется хакерским. Разве вы не можете просто проверить возвращаемое значение вместо вывода вывода? Вы также можете распечатать вывод, чтобы выполнить некоторую отладку. - person pmr   schedule 24.01.2014