summaryrefslogtreecommitdiff
path: root/Debian/Dgit.pm
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2015-03-22 14:56:32 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2015-03-22 15:19:51 +0000
commit996984bbcc5c1c7b4ed734fdb7a3dd844f2ff567 (patch)
treed4092e913216eb3c4739303456029df078d188c1 /Debian/Dgit.pm
parentb7dec4080f555d202570cd3293465db52a9139ec (diff)
Introduce git_for_each_tag_referring
Diffstat (limited to 'Debian/Dgit.pm')
-rw-r--r--Debian/Dgit.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm
index 4d9b81a..e2f8edd 100644
--- a/Debian/Dgit.pm
+++ b/Debian/Dgit.pm
@@ -64,4 +64,15 @@ sub git_for_each_ref ($$) {
$!=0; $?=0; close $fh or die "$pattern $? $!";
}
+sub git_for_each_tag_referring ($$) {
+ my ($objreferring, $func) = @_;
+ # calls $func->($objid,$fullrefname,$tagname);
+ git_for_each_ref('refs/tags', sub {
+ my ($objid,$objtype,$fullrefname,$tagname) = @_;
+ next unless $objtype eq 'tag';
+ next if defined $objreferring and $objid ne $objreferring;
+ $func->($objid,$fullrefname,$tagname);
+ });
+}
+
1;