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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 13, 2012, 21:20 UTC
Message-ID
<7v4nktdwtp.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1352693288-7396-1-git-send-email-chris@rorvick.com>
Chris Rorvick <chris@rorvick.com> writes:
Show 15 quoted lines
> 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".

Below, I take that you mean by "tag reference" everything under refs/tags/ (not limited to "annotated tag objects", but also lightweight tags).

Given that the second point below is to strongly discourage updating of existing any tag, it might be even better to advise *not* to push tags in the first place, instead of destructive "push -f", no?

Show 8 quoted lines
>   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 the original motivation of allowing fast-forward updates to tags was for people who wanted to have "today's recommended version" tag that can float from day to day. I tend to think that was a misguided notion and it is better implemented with a tip of a branch (iow, I personally am OK with the change to forbid tag updates altogether, without --force).

>      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.

"Do not update, only add new" may be a good feature, but at the same time I have this suspicion that its usefulness may not necessarily be limited to refs/tags/* hierarchy.

I dunno.
Previous: Chris RorvickNext: Drew Northup
Message 7 of 17 in “push: update remote tags only with force”
  1. 0/5 push: update remote tags only with forceChris Rorvick, Nov 12, 2012
  2. 1/5 push: return reject reasons via a maskChris Rorvick, Nov 12, 2012
  3. 2/5 push: add advice for rejected tag referenceChris Rorvick, Nov 12, 2012
  4. 3/5 push: flag updatesChris Rorvick, Nov 12, 2012
  5. 4/5 push: flag updates that require forceChris Rorvick, Nov 12, 2012
  6. 5/5 push: update remote tags only with forceChris Rorvick, Nov 12, 2012
  7. Junio C HamanoNov 13, 2012
  8. Drew NorthupNov 13, 2012
  9. Chris RorvickNov 14, 2012
  10. Kacper KornetNov 14, 2012
  11. Junio C HamanoNov 14, 2012
  12. Angelo BorsottiNov 14, 2012
  13. Junio C HamanoNov 14, 2012
  14. Angelo BorsottiNov 14, 2012
  15. Junio C HamanoNov 15, 2012
  16. Angelo BorsottiNov 15, 2012
  17. Junio C HamanoNov 15, 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.