Egit 钩子不会被触发
Posted
技术标签:
【中文标题】Egit 钩子不会被触发【英文标题】:Egit hooks do not get triggered 【发布时间】:2011-09-08 02:09:00 【问题描述】:我有一个带有预提交钩子的 git 存储库,它在 100% 的时间里故意失败。
cat .git/hooks/pre-commit
> exit 1
如果我尝试通过命令行提交,它会按预期失败。但是,如果我从 egit 提交,钩子将被忽略并提交更改。
egit/jgit 还不能识别钩子吗?有解决办法吗?
提前致谢!
【问题讨论】:
做了一个快速的谷歌搜索...看起来目前不支持。 code.google.com/p/egit/issues/detail?id=105 和 bugs.eclipse.org/bugs/show_bug.cgi?id=299315 【参考方案1】:(原答案:2011 年 6 月)
MatrixFrog 正确指出 bug 299315,其中提到尚不支持这些钩子。
您还可以探索 JGit 存储库,now on GitHub,其中没有显示任何关于钩子的提交。
你可以在EGit User Guide 中搜索“hook”:也没有提到 hook 的概念。
2015 年 3 月更新(4 年后):正如 MariuszS 指出的 in the comments、"hook" is present in JGit。
在 2015 年,支持这些钩子的工作正在进行中:
“Introduce hook support into the FS implementations” “Support for the pre-commit hook”(所以还没有预接收钩子)那些应该在即将到来的 JGit 3.7 中
2015 年第四季度更新,EGit 4.x 确实支持钩子,如 this answer 中所述。
【讨论】:
@MariuszS 是的,我已经更新了答案。 JGit 3.7 应该开始支持 一些 钩子。 那么现在支持 hooks 了吗? @jayarjo 支持预提交。其他人不多:查看他们的状态git.eclipse.org/r/#/q/project:jgit/jgit+hook 现在 egit 也支持钩子了。看到这个答案:***.com/a/32462648 @AmitM 谢谢。我已经相应地更新了答案。【参考方案2】:我的解决方法:
运行:git commit -a ...
如果可以,从工作目录中的命令行执行挂钩,并且所有其他 eGit 功能将正常工作。
【讨论】:
以上是关于Egit 钩子不会被触发的主要内容,如果未能解决你的问题,请参考以下文章