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

Re: git push (mis ?)behavior

From
Miles Bader <miles.bader@necel.com>
Date
Oct 3, 2007, 08:57 UTC
Message-ID
<buobqbgmv6z.fsf@dhapc248.dev.necel.com>
In-Reply-To
<20071003073554.GA8110@artemis.corp>
Pierre Habouzit <madcoder@debian.org> writes:
Show 5 quoted lines
>   There definitely is a point: with the current behaviour you sometimes
> end up pushing more than what you meant, with sometimes WIP that you
> intend to rebase, and it hurts. Git porcelains should help you avoid to
> shoot yourself in the foot, hence I think that (especially to git
> newcomers), the current default _is_ dangerous.

What's "dangerous" for newbies, often ends up being what doesn't correspond with their mental model. I think the current default behavior without any <refspec> specified corresponds well to the operation of many other git commands (and unix command) in similar circumstances: If you don't specify something to operate on, it essentially uses a wild card and operates on "every reasonable thing" (e.g., consider "git commit FILE" versus "git commit").

Even if the default were changed, it could very well end up causing many problems because it _didn't_ push as many heads as the user thought it would (I don't think I'm the only one that might expect the default action to be "push everything"). When I was a git newbie, I sometimes got into situations where I screwed something up because heads I thought had been pushed to another system actually hadn't been.

To the extent that a command _is_ "dangerous", there's always a tradeoff between convenience and "danger". Some systems (e.g. those aimed at newbies) might have as a goal to do the absolute minimum with every command and always, always, err on the side of safety. I don't think git is that system.

-Miles
-- 
Yo mama's so fat when she gets on an elevator it HAS to go down.
Previous: Pierre HabouzitNext: Pierre Habouzit
Message 22 of 40 in “git push (mis ?)behavior”
  1. Pierre HabouzitSep 27, 2007
  2. Wincent ColaiutaSep 27, 2007
  3. Benoit SIGOURESep 27, 2007
  4. Junio C HamanoSep 27, 2007
  5. Pierre HabouzitSep 27, 2007
  6. Steffen ProhaskaSep 28, 2007
  7. Pierre HabouzitSep 28, 2007
  8. Steffen ProhaskaSep 28, 2007
  9. Junio C HamanoSep 28, 2007
  10. Steffen ProhaskaSep 28, 2007
  11. Junio C HamanoSep 28, 2007
  12. Steffen ProhaskaSep 28, 2007
  13. Johannes SchindelinSep 28, 2007
  14. Jan HudecOct 9, 2007
  15. Steffen ProhaskaOct 9, 2007
  16. Wincent ColaiutaSep 28, 2007
  17. Miles BaderOct 3, 2007
  18. Junio C HamanoOct 3, 2007
  19. Wincent ColaiutaOct 3, 2007
  20. Miles BaderOct 3, 2007
  21. Pierre HabouzitOct 3, 2007
  22. Miles BaderOct 3, 2007
  23. Pierre HabouzitOct 3, 2007
  24. Wincent ColaiutaOct 3, 2007
  25. Karl HasselströmOct 3, 2007
  26. Junio C HamanoOct 3, 2007
  27. Wincent ColaiutaOct 3, 2007
  28. Karl HasselströmOct 3, 2007
  29. Johannes SchindelinOct 3, 2007
  30. Karl HasselströmOct 3, 2007
  31. Johannes SchindelinOct 3, 2007
  32. Pierre HabouzitOct 3, 2007
  33. Johannes SchindelinOct 3, 2007
  34. Karl HasselströmOct 3, 2007
  35. Steffen ProhaskaOct 4, 2007
  36. Wincent ColaiutaOct 4, 2007
  37. Steffen ProhaskaOct 4, 2007
  38. Wincent ColaiutaOct 4, 2007
  39. Wincent ColaiutaOct 3, 2007
  40. Benoit SIGOUREOct 3, 2007

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.