Egit hooks do not get triggered

吃可爱长大的小学妹 提交于 2020-01-09 03:49:06

问题


I have a git repo with a pre-commit hook that intentionally fails 100% of the time.

cat .git/hooks/pre-commit
> exit 1

If I try to commit through the command line, it fails as expected. However, if I commit from egit, the hook is ignored and the changes get committed.

Does egit/jgit not recognize hooks yet? Is there a workaround for this?

Thanks in advance!


回答1:


(Original answer: June 2011)

MatrixFrog correctly points out to the bug 299315, which mentions those hooks aren't supported yet.

You also can explore the JGit repository, now on GitHub, which doesn't show any commit about hooks.
And you can search for 'hook' in the EGit User Guide: the notion of hook isn't mentioned either.


Update March 2015 (4 years later): as MariuszS points out in the comments, "hook" is present in JGit.

In 2015, there are works in progress to support those hooks:

  • "Introduce hook support into the FS implementations"
  • "Support for the pre-commit hook" (so not yet pre-receive hook)

Those should be in the upcoming JGit 3.7


Update Q4 2015, EGit 4.x does support hooks, as mentioned in this answer.




回答2:


My workaround:

run: git commit -a ...

from the command line in your working directory if you can, the hook gets executed and all other eGit functionality will work as normal.



来源:https://stackoverflow.com/questions/6232026/egit-hooks-do-not-get-triggered

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!