From 0c838feda384f115a115ddd609eca9b8c6ece162 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 27 May 2015 21:28:39 +0100 Subject: git_get_ref: Move to Dgit.pm and reimplement Use git for-each-ref --format=%(objectname) [r]efs/whatever This pattern won't match literally as a prefix because a ref name cannot contain [, so it must match according to fnmatch. whatever cannot contain fnmatch metacharacters because they're not valid in ref names. This is a better idiom because it might directly look up the ref in question (although currently it probably doesn't). --- dgit | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'dgit') diff --git a/dgit b/dgit index 1e348f3..42f9f45 100755 --- a/dgit +++ b/dgit @@ -667,23 +667,6 @@ sub parsechangelog { return $c; } -sub git_get_ref ($) { - my ($refname) = @_; - my $got = cmdoutput_errok @git, qw(show-ref --), $refname; - if (!defined $got) { - $?==256 or fail "git show-ref failed (status $?)"; - printdebug "ref $refname= [show-ref exited 1]\n"; - return ''; - } - if ($got =~ m/^(\w+) \Q$refname\E$/m) { - printdebug "ref $refname=$1\n"; - return $1; - } else { - printdebug "ref $refname= [no match]\n"; - return ''; - } -} - sub must_getcwd () { my $d = getcwd(); defined $d or fail "getcwd failed: $!"; -- cgit v1.2.3