X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=dgit;h=c0c7b8df4d23cfec766dd346035964d2b7715d85;hb=fddfa627cb0ced08188eec1711039e4614a16de7;hp=645528f63c6f7f22dfc59a103fbb0e0452b9dd4d;hpb=10eb7774037c99711c6f8ca70b3ccfce7215b08e;p=dgit.git diff --git a/dgit b/dgit index 645528f6..c0c7b8df 100755 --- a/dgit +++ b/dgit @@ -68,7 +68,7 @@ our $debug = 0; open DEBUG, ">/dev/null" or die $!; our $remotename = 'dgit'; -our $ourdscfield = 'Vcs-Dgit-Master'; +our @ourdscfield = qw(Dgit Vcs-Dgit-Master); our $branchprefix = 'dgit'; our $csuite; @@ -591,12 +591,9 @@ Last allegedly pushed/uploaded: $oversion (newer or same) $later_warning_msg END $outputhash = $upload_hash; - } elsif ($outputhash ne $upload_hash) { - fail "version in archive ($cversion)". - " is same as version in git". - " to-be-uploaded (upload/) branch ($oversion)". - " but archive version hash no commit hash?!"; - } + } else { + $outputhash = $upload_hash; + } } chdir '../../../..' or die $!; runcmd @git, qw(update-ref -m),"dgit fetch import $cversion", @@ -644,7 +641,10 @@ sub fetch_from_archive () { # ensures that lrref() is what is actually in the archive, # one way or another get_archive_dsc() or return 0; - $dsc_hash = $dsc->{$ourdscfield}; + foreach my $field (@ourdscfield) { + $dsc_hash = $dsc->{$field}; + last if defined $dsc_hash; + } if (defined $dsc_hash) { $dsc_hash =~ m/\w+/ or fail "invalid hash in .dsc \`$dsc_hash'"; $dsc_hash = $&; @@ -832,7 +832,7 @@ sub dopush () { # runcmd @git, qw(fetch -p ), "$alioth_git/$package.git", # map { lref($_).":".rref($_) } # (uploadbranch()); - $dsc->{$ourdscfield} = rev_parse('HEAD'); + $dsc->{$ourdscfield[0]} = rev_parse('HEAD'); $dsc->save("../$dscfn.tmp") or die $!; if (!$changesfile) { my $multi = "../${package}_${cversion}_multi.changes";