1

正如标题所说..我正在尝试在 Eclipse 项目/git repo 中设置一个 commit-msg 挂钩。我刚刚将脚本添加到我的 .git 文件夹中,并从命令行钩子触发,我收到了我的错误消息。

#!/bin/bash

ISSUE_KEY=`some-regex`
if [ "" ==  "$ISSUE_KEY" ]; then
echo 'Commit rejected - Please edit your commit message'
exit 1;
fi

在 Eclipse 中,钩子一开始没有触发,但是在我安装 Cygwin 之后,它起作用了。问题是,我只是得到一个默认提示说

提交被钩子中止 - 被“commit-msg”钩子拒绝

而不是来自“回声输出”的消息。有没有办法为 egit 自定义我的错误消息?

4

1 回答 1

0

有同样的问题,EGIT 对所有 GIT 操作都很糟糕,一般来说,我更喜欢使用一些外部工具来管理所有 GIT 操作。Git bash 或 GitExtentions 等。

但是由于我必须在 Eclipse 中支持其他用户,所以我发现了以下内容: 1. 使用 Eclipse Oxygen,因此 eclipse 至少会运行这些钩子。我发现 Luna 在 Windows 上根本不会执行它们。

  1. 安装 Cygwin,或者至少在 C:\cygwin\bin 文件夹中创建“sh.exe”。Eclipse 使用这个文件来执行钩子

  2. 将所有钩子输出写入某个文件,例如 C:\Temp\hooks_log.txt 并在失败时检查该日志文件

    {
        ....
        My hook code
        ....
    } |& tee /c/temp/MyHook.log
    

另一种选择是非常欢迎您修复 EGIT,以便它显示日志。

于 2017-07-19T06:40:02.210 回答