chiark / gitweb /
Introduce git_for_each_ref
[dgit.git] / infra / dgit-repos-policy-debian
index 493fefdd6d9233c3d85056c6483888589c58e238..66bf8be6d63ffc937e776c78c04cb95fe8ef3b5a 100755 (executable)
@@ -221,14 +221,13 @@ sub action__check_package () {
        return 0;
     }
 
-    open TAGL, "git for-each-ref '[r]efs/tags/*' |" or die $!;
-    while (<TAGL>) {
-       m#^(\w+) (\w+) (refs/tags/\S+)\s# or die "$_ ?";
-       add_taint($1,$2,
-                 "tag $3 referred to this object in git tree but all".
+    git_for_each_ref('refs/tags', sub {
+       my ($objid,$objtype,$fullrefname,$tagname) = @_;
+       add_taint($objid,$objtype,
+                 "tag $tagname referred to this object in git tree but all".
                  " previously pushed versions were found to have been".
                  " removed from NEW (ie, rejected) (or never arrived)");
-    }
+    });
     $?=0; $!=0; close TAGL or die "git for-each-ref $? $!";
 
     return FRESHREPO;