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

Re: [PATCH] push: disallow fast-forwarding tags without --force

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Aug 28, 2010, 01:21 UTC
Message-ID
<20100828012101.GB2004@burratino>
In-Reply-To
<alpine.DEB.2.00.1008271046080.20874@narbuckle.genericorp.net>
Hi,
Dave Olszewski wrote:
> It's trivial for someone to update build software from "git push remote
> tag" to "git push remote +tag" or "git push -f remote tag", but I can
> understand your objection.

Right. The thing to prevent is unhappy surprises: it is best if users upgrading get a chance to update their scripts before it matters.

> It seems unlikely that many people are ever going to "flip on" this
> feature; either they won't know about it (and for them, it should be
> on), or they'll have a reason to move a tag, and want it off.

This is why a switch of some kind is useful: after reading the release notes, a user can flip the switch for a glimpse of the future, forsee the upcoming disaster, and fix everything up before it really matters. After the default changes, the switch has the opposite purpose: users who were not prepared can use it to turn back time and avoid having to change their code.

So the deprecation process for unwanted features tends to look like this:

 1. complain about use of the feature, with an option to suppress
    the warnings.  or: loudly proclaim that the feature is going
    away in release notes
 2. add an option to disable the feature, to help people transition
 3. change the default to true
 4. remove the option

Step 1 is the most important one imho. See Documentation/RelNotes-1.6.6.txt for an example.

I don't think we've ever reached step 4, but we should try it some time.

Hope that helps, Jonathan

Previous: Dave OlszewskiNext: Dave Olszewski
Message 4 of 10 in “push: disallow fast-forwarding tags without --force”
  1. push: disallow fast-forwarding tags without --forceDave Olszewski, Aug 27, 2010
  2. Junio C HamanoAug 27, 2010
  3. Dave OlszewskiAug 27, 2010
  4. Jonathan NiederAug 28, 2010
  5. push: warn users about updating existing tags on pushDave Olszewski, Aug 28, 2010
  6. Junio C HamanoAug 30, 2010
  7. Dave OlszewskiAug 30, 2010
  8. Junio C HamanoAug 30, 2010
  9. Tay Ray ChuanSep 1, 2010
  10. Junio C HamanoSep 1, 2010

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.