diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-05-27 21:28:39 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-05-31 12:17:08 +0100 |
commit | 0c838feda384f115a115ddd609eca9b8c6ece162 (patch) | |
tree | 8cb1c0e7bd98def61fd28851c6c461ecb02b5ce9 /dgit | |
parent | c31626414fabe6a00ff9db901f69016d26400cb4 (diff) |
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).
Diffstat (limited to 'dgit')
-rwxr-xr-x | dgit | 17 |
1 files changed, 0 insertions, 17 deletions
@@ -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: $!"; |