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

Re: Please discuss: what "git push" should do when you do not say what to push?

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Mar 18, 2012, 21:26 UTC
Message-ID
<CACBZZX6_m6b3Abf=NhWvL_g5aHEG9xZEBFfc3K35aSRrUBeWOQ@mail.gmail.com>
In-Reply-To
<7vipi1d9r7.fsf@alter.siamese.dyndns.org>
On Sun, Mar 18, 2012 at 19:50, Junio C Hamano <gitster@pobox.com> wrote:
> But again, that is not something we have direct control over [...]
> ---whoever is doing the locking-out is taking responsibility for
> these users who are out of our reach.

Firstly I'm all for this change, but I agree with Andrew Sayers that step the deprecation plan is somewhat questionable.

I contribute to the perl core and a few years ago we moved to make yearly releases, at the same time we introduced a deprecation cycle saying that if we warn that something will be removed in $YEAR it's kosher to remove it in $YEAR+2.

The problem with that approach is that as Andrew points out OS release cycles aren't yearly, so someone might upgrade from $YEAR-2 to YEAR+3 and find that his programs don't compile anymore.

Git is similar to Perl in that most of our users don't get Git from us with any regular interval, they just use whatever's packaged by their OS, and in practice:

 * Most of your users use your program through their OS vendor
 * OS vendors will upgrade their OS whenever they feel like it.
 * OS vendors are in all likelyhood not going to backport some
   deprecation patch or eject it from their build in a manner that
   makes sense with regard to their release schedule.

That sucks, but given that this is how things work I wonder who we're really helping by implementing deprecation warnings from the standpoint of our release cycle, probably not the majority of our users.

Most of our users are either never going to see this warning because their OS will skip the whole of steps 2-6, or worse yet their OS might upgrade Git between steps 2-5 and they'll be stuck watching the warning it for 1-6 years, or however long their upstream vendor takes up upgrade.

I think a better strategy would be to just announce that we're going to change it, and then just change it without any intermediate steps. That's what this is going to look like anyway to most of our users, and without the danger that our users will be stuck on releases that'll spew warnings about some upcoming change which in reality happened in upstream years ago.

We could even use the only way of communicating to everyone involved that something major changed: bump the major version number.

Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 43 in “Please discuss: what "git push" should do when you do not say what to push?”
  1. Junio C HamanoMar 17, 2012
  2. Junio C HamanoMar 17, 2012
  3. Andrew SayersMar 17, 2012
  4. Junio C HamanoMar 18, 2012
  5. Ævar Arnfjörð BjarmasonMar 18, 2012
  6. Junio C HamanoMar 19, 2012
  7. Sebastien DoucheMar 19, 2012
  8. Andrew SayersMar 19, 2012
  9. Junio C HamanoMar 19, 2012
  10. demerphqMar 19, 2012
  11. Junio C HamanoMar 19, 2012
  12. Andreas EricssonMar 20, 2012
  13. Andrew SayersMar 19, 2012
  14. Junio C HamanoMar 19, 2012
  15. Andrew SayersMar 20, 2012
  16. Junio C HamanoMar 20, 2012
  17. Andrew SayersMar 20, 2012
  18. Junio C HamanoMar 21, 2012
  19. Martin LanghoffMar 20, 2012
  20. Junio C HamanoMar 20, 2012
  21. Martin LanghoffMar 20, 2012
  22. Jakub NarebskiMar 20, 2012
  23. Summary of discussion on "git push" default changeJunio C Hamano, Mar 21, 2012
  24. Matthieu MoyMar 21, 2012
  25. Joey HessMar 17, 2012
  26. Junio C HamanoMar 19, 2012
  27. fREW SchmidtMar 17, 2012
  28. H. Peter AnvinMar 18, 2012
  29. Marcus D. HanwellMar 18, 2012
  30. Sebastian SchuberthMar 18, 2012
  31. Peter KreftingMar 19, 2012
  32. Letting remote repositories override local configurationJonathan Nieder, Mar 19, 2012
  33. Peter KreftingMar 19, 2012
  34. Kevin BallardMar 19, 2012
  35. Antony MaleMar 20, 2012
  36. Jakub NarebskiMar 20, 2012
  37. Antony MaleMar 20, 2012
  38. Nathan GrayMar 20, 2012
  39. Ben TebulinMar 20, 2012
  40. Ben TebulinMar 20, 2012
  41. Ben TebulinMar 20, 2012
  42. Ben TebulinMar 20, 2012
  43. Filipe FernandesMar 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.