From: Ian Jackson Date: Sun, 22 Mar 2015 14:56:32 +0000 (+0000) Subject: Introduce git_for_each_tag_referring X-Git-Tag: debian/0.30~250 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=996984bbcc5c1c7b4ed734fdb7a3dd844f2ff567;ds=sidebyside Introduce git_for_each_tag_referring --- diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index 4d9b81aa..e2f8edd0 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;