summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
Diffstat (limited to 'dgit')
-rwxr-xr-xdgit15
1 files changed, 15 insertions, 0 deletions
diff --git a/dgit b/dgit
index 6f240ab..56b2ee9 100755
--- a/dgit
+++ b/dgit
@@ -102,6 +102,7 @@ our %forceopts = map { $_=>0 }
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);
@@ -4601,6 +4602,20 @@ END
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 --),