用红宝石写的Git post-commit hook没有在Git Tower中运行

时间:2013-05-29 04:39:55

标签: git git-tower

所以我有一个用ruby编写的基本post-commit钩子,我已经确认它在我从命令行提交时运行。但是,当我在Git Tower中提交时,它并没有运行,我甚至没有看到Git Tower出现任何错误。

我的脚本以: #!/usr/bin/env ruby当我从命令行提交时它运行正常,所以我知道这不是脚本的问题。我需要做些什么来让我的宝石正确加载吗?

1 个答案:

答案 0 :(得分:0)

唯一的解释是Git Tower不会在相同的shell中运行,具有相同的环境。

请参阅its FAQ "Are Hook scripts supported in Tower?"

  

请注意:您的钩子脚本是否依赖于在shell配置文件中创建/修改的shell环境变量的存在或特定值(例如通过非标准路径扩展“PATH”(例如'{{1从钩子里那里运行一个脚本)?

     

如果答案是肯定的,那么你需要确保在钩子脚本本身中创建所需的shell环境(比如修改“~/bin”),而不是在你的shell配置文件中,作为钩子脚本从未在shell环境中运行的Tower进程环境调用(因此未加载shell配置文件)。

在这种情况下,一个简单的shell脚本应该是你的提交后挂钩,以便:

  • 适当修改环境
  • 调用你的红宝石脚本。