由于gJSLint由于缺少成员文档而产生错误。我们更新了我们的预提交钩子,它的任务是对JavaScript进行linting。编辑包括gJSLint规则220 (忽略丢失的成员文档)。但是,在执行提交时,GIT仍然会抱怨JavaScript无效。单独运行gJSLint不会产生任何错误。
gjslint -严格-禁用=5,6,110,220应用程序/pits/模块/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" figit提交的结果-m“.”
验证JavaScript: JSLint失败:app/pits/模块/api.js JSLint失败:app/pits/模块/State.js JSLint失败:app/pits/模块/table.js JavaScript验证完成 提交失败:提交包含的文件应该通过JSLint,但是 别说了。请修复JSLint错误,然后重试。尝试: gjslint -严格-禁用=5,6,110,220 file.js
环境
git版本1.8.1.2
gjslint版本2.3.13
lubuntu版本13.04
发布于 2014-01-24 15:06:21
这个问题与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
eval "gjslint --strict --disable=5,6,110,220 ${file}"
if [ $? -eq 0 ]; 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"
fihttps://stackoverflow.com/questions/21335220
复制相似问题