From: Ian Jackson Date: Sat, 17 Aug 2013 10:57:35 +0000 (+0100) Subject: do not use git-show-ref as it is hopeless; just do it ourselves X-Git-Tag: debian/0.3~24 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=17652b53bde8d7aa85a7cdd8fc6d7abcc94b2946;p=dgit.git do not use git-show-ref as it is hopeless; just do it ourselves --- diff --git a/dgit b/dgit index 279d92de..5fc93789 100755 --- a/dgit +++ b/dgit @@ -454,15 +454,17 @@ sub fetch_from_archive () { print "last upload to archive has NO git hash\n"; } - $!=0; $upload_hash = - cmdoutput_errok @git, qw(show-ref --heads), lrref(); - if ($?==0) { - die unless chomp $upload_hash; - } elsif ($?==256) { + my $lrref_fn = ".git/".lrref(); + if (open H, $lrref_fn) { + $upload_hash = ; + chomp $upload_hash; + die "$lrref_fn $upload_hash ?" unless $upload_hash =~ m/^\w+$/; + } elsif ($! == &ENOENT) { $upload_hash = ''; } else { - die $?; + die "$lrref_fn $!"; } + print DEBUG "last upload hash $upload_hash\n"; my $hash; if (defined $dsc_hash) { die "missing git history even though dsc has hash"