git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 0/5] push: update remote tags only with force

From
Chris Rorvick <chris@rorvick.com>
Date
Nov 17, 2012, 20:16 UTC
Message-ID
<1353183397-17719-1-git-send-email-chris@rorvick.com>
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: Chris Rorvick
Message 1 of 10 in “push: update remote tags only with force”
  1. 0/5 push: update remote tags only with forceChris Rorvick, Nov 17, 2012
  2. 1/5 push: return reject reasons via a maskChris Rorvick, Nov 17, 2012
  3. 2/5 push: add advice for rejected tag referenceChris Rorvick, Nov 17, 2012
  4. 3/5 push: flag updatesChris Rorvick, Nov 17, 2012
  5. 4/5 push: flag updates that require forceChris Rorvick, Nov 17, 2012
  6. 5/5 push: update remote tags only with forceChris Rorvick, Nov 17, 2012
  7. 5/5 push: update remote tags only with forceChris Rorvick, Nov 17, 2012
  8. Junio C HamanoNov 19, 2012
  9. Chris RorvickNov 20, 2012
  10. Junio C HamanoNov 20, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.