Yorkie git 挂钩总是因 "not found" 而失败
Yorkie git hooks always fail with "not found"
我正在使用 yorkie 2.0.0,并且不能在我的 git 挂钩中 运行 任何自定义 shell 脚本。我的目录结构如下所示:
<project root>
|-- .githooks
| |-- commit-msg
|
|-- package.json
|-- .git
| |-- hooks
| | |-- <all the proper yorkie git hooks files>
| |
| |-- <other .git stuff>
|
|-- <lots of other irrelevant files>
我的 package.json 有这个 gitHooks 部分:
"gitHooks": {
"commit-msg": ".githooks/commit-msg $GIT_PARAMS"
}
commit-msg
文件肯定是可执行的,这是 ls -l
行:
-rwxr-xr-x 1 dan dan 400 Sep 14 08:51 commit-msg
创建提交时,我得到以下输出:
> running commit-msg hook: .githooks/commit-msg $GIT_PARAMS
/bin/sh: 1: .githooks/commit-msg: not found
commit-msg hook failed (add --no-verify to bypass)
我试过各种不同的目录结构,都没有找到。我已将 package.json 中的 gitHook 脚本更改为 ls .githooks
之类的内容,然后文件就会显示出来。
这是怎么回事?为什么 yorkie 找不到我的文件?
(我用 husky 标记了这个,因为 yorkie 是哈士奇的一个分支,变化非常小,而且没有 yorkie 标签。这里的问题可能不是 yorkie 特有的)
原来 not found
是一条红鲱鱼。这是行尾问题。
我把commit-msg
里面的行尾转成LF后,一切正常。我在我的 .gitattributes
中添加了以下行,这样就不会在我每次检查分支时都发生这种情况:
.githooks/* text eol=lf
我正在使用 yorkie 2.0.0,并且不能在我的 git 挂钩中 运行 任何自定义 shell 脚本。我的目录结构如下所示:
<project root>
|-- .githooks
| |-- commit-msg
|
|-- package.json
|-- .git
| |-- hooks
| | |-- <all the proper yorkie git hooks files>
| |
| |-- <other .git stuff>
|
|-- <lots of other irrelevant files>
我的 package.json 有这个 gitHooks 部分:
"gitHooks": {
"commit-msg": ".githooks/commit-msg $GIT_PARAMS"
}
commit-msg
文件肯定是可执行的,这是 ls -l
行:
-rwxr-xr-x 1 dan dan 400 Sep 14 08:51 commit-msg
创建提交时,我得到以下输出:
> running commit-msg hook: .githooks/commit-msg $GIT_PARAMS
/bin/sh: 1: .githooks/commit-msg: not found
commit-msg hook failed (add --no-verify to bypass)
我试过各种不同的目录结构,都没有找到。我已将 package.json 中的 gitHook 脚本更改为 ls .githooks
之类的内容,然后文件就会显示出来。
这是怎么回事?为什么 yorkie 找不到我的文件?
(我用 husky 标记了这个,因为 yorkie 是哈士奇的一个分支,变化非常小,而且没有 yorkie 标签。这里的问题可能不是 yorkie 特有的)
原来 not found
是一条红鲱鱼。这是行尾问题。
我把commit-msg
里面的行尾转成LF后,一切正常。我在我的 .gitattributes
中添加了以下行,这样就不会在我每次检查分支时都发生这种情况:
.githooks/* text eol=lf