diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-06-23 13:16:23 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-06-23 14:14:09 +0100 |
commit | 81e28f0e284a89d8ede573bad8cd494c911099d1 (patch) | |
tree | a885e926d8fe31150754dd04659c37926bb11578 | |
parent | 343e6ff2ea5f63f6d7c7c9a9abf7807832a68ce3 (diff) |
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.
-rwxr-xr-x | dgit | 2 | ||||
-rwxr-xr-x | tests/tests/drs-push-rejects | 6 |
2 files changed, 4 insertions, 4 deletions
@@ -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 e80620d..3a70947 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 () { |