From: Ian Jackson Date: Tue, 23 Jun 2015 12:16:23 +0000 (+0100) Subject: Use force flag when pushing tags X-Git-Tag: debian/0.30~65 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=81e28f0e284a89d8ede573bad8cd494c911099d1 Use force flag when pushing tags Newer versions of git push will not overwrite an existing tag unless the client specifies + on the refspec (or --force). (This is a client-side check.) So add this flag where appropriate, both in dgit itself, and in the test suite. --- diff --git a/dgit b/dgit index c84fb80e..fdc922e9 100755 --- a/dgit +++ b/dgit @@ -1693,7 +1693,7 @@ sub dopush ($) { create_remote_git_repo(); } runcmd_ordryrun @git, qw(push),access_giturl(), - $forceflag."HEAD:".rrref(), "refs/tags/$tag"; + $forceflag."HEAD:".rrref(), $forceflag."refs/tags/$tag"; runcmd_ordryrun @git, qw(update-ref -m), 'dgit push', lrref(), 'HEAD'; if ($we_are_responder) { diff --git a/tests/tests/drs-push-rejects b/tests/tests/drs-push-rejects index e80620da..3a709472 100755 --- a/tests/tests/drs-push-rejects +++ b/tests/tests/drs-push-rejects @@ -98,7 +98,7 @@ mustfail 'sid != sponge' HEAD:refs/dgit/sponge $push_spec2 prep unstable sid mktag mustfail 'push is missing tag ref update' $push_spec1 -mustfail 'push is missing head ref update' $push_spec2 +mustfail 'push is missing head ref update' +$push_spec2 mustfail 'pushing unexpected ref' $push_spec HEAD:refs/wombat mustfail 'pushing multiple heads' $push_spec HEAD:refs/dgit/wombat mustfail 'pushing multiple tags' $push_spec HEAD:refs/tags/debian/wombat @@ -139,11 +139,11 @@ mktag mustsucceed $push_spec # succeeds mktag -mustfail 'push is missing head ref update' $push_spec +mustfail 'push is missing head ref update' $push_spec1 +$push_spec2 git commit --allow-empty -m 'Dummy update' mktag -mustfail 'not replacing previously-pushed version' $push_spec +mustfail 'not replacing previously-pushed version' +$push_spec1 +$push_spec2 git reset --hard HEAD~ prep_dm_mangle () {