Thread (8 messages) flat view 8 messages, 3 authors, 2016-06-15
STALE3739d

Revision v3 of 5 in this series.

Revisions (5)
  1. v2 [diff vs current]
  2. v3 current
  3. v4 [diff vs current]
  4. v5 [diff vs current]
  5. v6 [diff vs current]

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

From: Chris Rorvick <hidden>
Date: 2016-06-15 22:55:15

Minor changes since from v2 set.  Reposting primarily because I mucked
up the Cc: list (again) and hoping to route feedback to the appropriate
audience.

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

     An email thread initiated by Angelo Borsotti did not come to a
     consensus on how push should behave with regard to tag references.
     I think a key point is that you currently cannot be sure your push
     will not clobber a tag (lightweight or not) in the remote.  Also, I
     wonder what workflow would rely on this fast-forward feature of
     pushed tag references that would not be better served a branch?

This patch set contains some minor updates from the previous set:

  * remote.c: remove redundant check of ref->update
  * transport.c: remove extraneous tab in indent
  * builtin/send-pack.c: fix call to transport_print_push_status() (per
      feedback from Peff)

Also, rebased against the latest master in git://github.com/peff/git.git
to pickup changes in nd/builtin-to-libgit.

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                   | 38 ++++++++++++++++++++++++++++++--------
 send-pack.c                |  1 +
 t/t5516-fetch-push.sh      | 30 +++++++++++++++++++++++++++++-
 transport-helper.c         |  6 ++++++
 transport.c                | 25 +++++++++++++++----------
 transport.h                | 10 ++++++----
 10 files changed, 120 insertions(+), 40 deletions(-)

-- 
1.8.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help