qw(unrepresentable unsupported-source-format
dsc-changes-mismatch changes-origs-exactly
uploading-binaries uploading-source-only
+ reusing-version
import-gitapply-absurd
import-gitapply-no-absurd
import-dsc-with-dgit-field);
};
my $response_body = '';
+ $setopt->(CURLOPT_FOLLOWLOCATION, 1);
$setopt->(CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTPS|CURLPROTO_HTTP);
$setopt->(CURLOPT_URL, $url);
$setopt->(CURLOPT_NOSIGNAL, 1);
foreach my $vinfo (@vsns) {
my ($vsn,$vsn_dscurl,$digester,$digest) = @$vinfo;
$dscurl = $vsn_dscurl;
- $dscdata = url_fetch($dscurl);
+ $dscdata = url_fetch($dscurl, Ok404 => 1 );
if (!$dscdata) {
$skew_warning_vsn = $vsn if !defined $skew_warning_vsn;
next;
confess unless !!$made_split_brain == do_split_brain();
+ my $tagname = debiantag_new $cversion, access_nomdistro();
+ if (!(forceing[qw(reusing-version)]) && git_get_ref "refs/tags/$tagname") {
+ supplementary_message '';
+ print STDERR f_ <<END, $cversion;
+
+Version %s has already been tagged (pushed?)
+If this was a failed (or incomplete or rejected) upload by you, just
+add a new changelog stanza for a new version number and try again.
+END
+ fail f_ <<END, $tagname;
+Tag %s already exists.
+END
+ }
+
changedir $playground;
progress f_ "checking that %s corresponds to HEAD", $dscfn;
runcmd qw(dpkg-source -x --),