From: Chris Rorvick <chris@rorvick.com>
To: git@vger.kernel.org
Cc: Chris Rorvick <chris@rorvick.com>,
Angelo Borsotti <angelo.borsotti@gmail.com>,
Drew Northup <n1xim.email@gmail.com>,
Michael Haggerty <mhagger@alum.mit.edu>,
Philip Oakley <philipoakley@iee.org>,
Johannes Sixt <j6t@kdbg.org>,
Kacper Kornet <draenog@pld-linux.org>, Jeff King <peff@peff.net>,
Felipe Contreras <felipe.contreras@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v4 0/5] push: update remote tags only with force
Date: Sat, 17 Nov 2012 14:16:32 -0600 [thread overview]
Message-ID: <1353183397-17719-1-git-send-email-chris@rorvick.com> (raw)
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: update remote tags only with force
This is in response to the following thread:
http://thread.gmane.org/gmane.comp.version-control.git/208354
This solution prevents fast-forwards if the reference is of the
refs/tags/* hierarchy or if the old object is not a commit.
These patches contain the following updates since the v3 set:
* builtin/push.c: Remove "push --force" suggestion from advice.
* remote.c: Only require old object to be a commit to be forwardable.
I added the check for object types based comments from Peff in
original thread, and I think this implementation is actually what
he intended. If the new object is a tag, the operation is not
destructive so there is no reason to block it (at least within
the scope of these changes) as was done in the previous iteration.
* t/t5516-fetch-push.sh: Create separate tests for the lightweight and
annotated cases. Do the annotated tests outside of refs/tags/
so that it actually tests different functionality.
Chris Rorvick (5):
push: return reject reasons via a mask
push: add advice for rejected tag reference
push: flag updates
push: flag updates that require force
push: update remote tags only with force
Documentation/git-push.txt | 10 +++++-----
builtin/push.c | 24 +++++++++++++++---------
builtin/send-pack.c | 9 +++++++--
cache.h | 7 ++++++-
remote.c | 46 ++++++++++++++++++++++++++++++++++++----------
send-pack.c | 1 +
t/t5516-fetch-push.sh | 30 +++++++++++++++++++++++++++++-
transport-helper.c | 6 ++++++
transport.c | 25 +++++++++++++++----------
transport.h | 10 ++++++----
10 files changed, 126 insertions(+), 42 deletions(-)
--
1.8.0.155.g3a063ad.dirty
next reply other threads:[~2012-11-17 20:17 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-17 20:16 Chris Rorvick [this message]
2012-11-17 20:16 ` [PATCH v4 1/5] push: return reject reasons via a mask Chris Rorvick
2012-11-17 20:16 ` [PATCH v4 2/5] push: add advice for rejected tag reference Chris Rorvick
2012-11-17 20:16 ` [PATCH v4 3/5] push: flag updates Chris Rorvick
2012-11-17 20:16 ` [PATCH v4 4/5] push: flag updates that require force Chris Rorvick
2012-11-17 20:16 ` [PATCH v4 5/5] push: update remote tags only with force Chris Rorvick
2012-11-17 21:53 ` [PATCH v4.1 " Chris Rorvick
2012-11-19 20:23 ` Junio C Hamano
2012-11-20 4:43 ` Chris Rorvick
2012-11-20 5:44 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1353183397-17719-1-git-send-email-chris@rorvick.com \
--to=chris@rorvick.com \
--cc=angelo.borsotti@gmail.com \
--cc=draenog@pld-linux.org \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j6t@kdbg.org \
--cc=mhagger@alum.mit.edu \
--cc=n1xim.email@gmail.com \
--cc=peff@peff.net \
--cc=philipoakley@iee.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.