0

我有一个用 perl 编写的接收后挂钩。我需要能够弄清楚被推送到哪个分支。我怎样才能做到这一点?我尝试查看 @ARGV 和 $ARGV[2] 没有成功。

4

1 回答 1

1

git 文档中的关键是 post-receive 挂钩不接收任何参数:

该钩子为接收操作执行一次。它不接受任何参数,但获得的信息与 <> 钩子在其标准输入上获得的信息相同。

这是我用来解析 ref 的一些 perl 代码:

while (<>) {
   chomp;
   next unless my($old,$new,$ref) =
      m/ ^ ([0-9a-f]+) \s+    # old SHA-1
           ([0-9a-f]+) \s+    # new SHA-1
           refs\/heads\/(.*?) # ref
         \s* $ /x;
   #...
}
于 2012-02-27T14:27:20.843 回答