From: Ian Jackson Date: Wed, 27 May 2015 20:28:05 +0000 (+0100) Subject: Dgit.pm: git_for_each_ref: do not insist that first component after refs/ matches \w+ X-Git-Tag: debian/0.30~138 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=c31626414fabe6a00ff9db901f69016d26400cb4;ds=sidebyside Dgit.pm: git_for_each_ref: do not insist that first component after refs/ matches \w+ --- diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm index c2b7f670..a270cd80 100644 --- a/Debian/Dgit.pm +++ b/Debian/Dgit.pm @@ -191,7 +191,7 @@ sub git_rev_parse ($) { sub git_for_each_ref ($$) { my ($pattern,$func) = @_; # calls $func->($objid,$objtype,$fullrefname,$reftail); - # $reftail is RHS of ref after refs/\w+/ + # $reftail is RHS of ref after refs/[^/]+/ # breaks if $pattern matches any ref `refs/blah' where blah has no `/' my @cmd = (qw(git for-each-ref), $pattern); open GFER, "-|", @cmd or die $!; @@ -199,7 +199,7 @@ sub git_for_each_ref ($$) { while () { chomp or die "$_ ?"; printdebug "|> ", $_, "\n"; - m#^(\w+)\s+(\w+)\s+(refs/\w+/(\S+))$# or die "$_ ?"; + m#^(\w+)\s+(\w+)\s+(refs/[^/]+/(\S+))$# or die "$_ ?"; $func->($1,$2,$3,$4); } $!=0; $?=0; close GFER or die "$pattern $? $!";