0

perl で書かれた post-receive フックがあります。どのブランチにプッシュされているかを把握できる必要があります。これどうやってするの?@ARGV と $ARGV[2] を調べてみましたが、成功しませんでした。

4

1 に答える 1

1

git ドキュメントの重要な点は、post-receive フックが引数を受け取らないことです。

このフックは、受信操作のために 1 回実行されます。引数はありませんが、標準入力で <> フックが行うのと同じ情報を取得します。

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 に答える