如何用perl编写的post-receive钩子获得分支名称?

时间:2011-08-23 22:01:30

标签: githooks git-post-receive

我有一个用perl编写的post-receive钩子。我需要能够找出正在推送的分支。我怎样才能做到这一点?我试着看@ARGV和$ ARGV [2]但没有成功。

1 个答案:

答案 0 :(得分:1)

git文档中的密钥是post-receive hook不接收任何参数:

此挂钩执行一次以进行接收操作。它不需要参数,但获得与<>相同的信息。 hook对其标准输入做了。

这是我用来解析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;
   #...
}