Incorporated Junio's feedback. Also, I broke the last patch of the previous series out into three to make the changes more clear. This patch set can be divided into two sets: 1. Provide useful advice for rejected tag references. push: return reject reasons via a mask push: add advice for rejected tag reference Recommending a merge to resolve a rejected tag update seems nonsensical since the tag does not come along for the ride. These patches change the advice for rejected tags to suggest using "push -f". 2. Require force when updating tag references, even on a fast-forward. push: flag updates push: flag updates that require force push: require force for refs under refs/tags/ push: require force for annotated tags push: clarify rejection of update to non-commit-ish This is in response to the following thread: http://thread.gmane.org/gmane.comp.version-control.git/208354 This series prevents fast-forwards if the reference is under the refs/tags/* hierarchy or if the old object is a tag. Chris Rorvick (7): push: return reject reasons via a mask push: add advice for rejected tag reference push: flag updates push: flag updates that require force push: require force for refs under refs/tags/ push: require force for annotated tags push: clarify rejection of update to non-commit-ish Documentation/git-push.txt | 9 ++++--- builtin/push.c | 24 ++++++++++------- builtin/send-pack.c | 9 +++++-- cache.h | 7 ++++- remote.c | 65 +++++++++++++++++++++++++++++++++++++--------- send-pack.c | 1 + t/t5516-fetch-push.sh | 44 ++++++++++++++++++++++++++++++- transport-helper.c | 6 +++++ transport.c | 25 +++++++++++------- transport.h | 10 ++++--- 10 files changed, 157 insertions(+), 43 deletions(-) -- 1.8.0.209.gf3828dc -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html