Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > Change the test that asserts that lightweight tags can only be > clobbered by a force-push to check do the same tests for annotated > tags. > > There used to be less exhaustive tests for this with the code added in > 40eff17999 ("push: require force for annotated tags", 2012-11-29), but > Junio removed them in 256b9d70a4 ("push: fix "refs/tags/ hierarchy > cannot be updated without --force"", 2013-01-16) while fixing some of > the behavior around tag pushing. > > That change left us without any coverage asserting that pushing and > clobbering annotated tags worked as intended. There was no reason to > suspect that the receive machinery wouldn't behave the same way with > annotated tags, but now we know for sure. Hmm, I am not sure if annotated tag T1 on commit C1 should be called to "fast-forward to annotated tag T2 on commit C2" when C2 is a descendant of C1. Tag is meant to be a non-moving anchor point, so it may make sense not to allow "fast-forwarding hence it is OK to replace" that is typical for branch heads, which are meant to move "forward". But let's move on and keep reading, at least temporarily assuming that "fast-forwarding" annotated tags makes sense. Under that assumption, this patch makes perfect sense to ensure lightweight and annotated tags behave the same. Thanks.