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

Re: [PATCH] rebase -i: auto-squash commits

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 18, 2009, 07:54 UTC
Message-ID
<7vws7ayo1k.fsf@alter.siamese.dyndns.org>
In-Reply-To
<4A39EAAB.70402@alum.mit.edu>
Michael Haggerty <mhagger@alum.mit.edu> writes:
Show 7 quoted lines
> It seems to me that even this requires more steps than strictly
> necessary, namely a commit then a rebase, and conveying the information
> from the commit step to the rebase step is somewhat awkward.  Since I
> have to specify a magic commit message to trigger this behavior, I
> obviously know at the time of the commit that I want to squash the new
> changes onto an older commit.  So why not implement this functionality
> as a variant of "commit"?

That may be a good feature, but that won't work as well as the patch being discussed for _me_.

IOW, I think what you are suggesting is a different feature.

It largely depends on how you work. I do not function well when I get interrupted and/or disrupted often, and I would prefer the convenience of being able to simply queue a trivial patch with a minimum amount of fuss (e.g. just leave a note that says "to be squashed to that other one" and nothing else) when I find a trivial breakage that is unrelated to what I am concentrating on.

Imagine the "Clean up the surrounding code" then "Lay the groundwork" and finally "Implement a cool new feature" sequence I outlined in the message the patch was response to. When I thought I am finished cleaning up the surrounding code and laid the groundwork, and finally concentrating on implementing the new feature (which is the fun part), I may notice small breakages and untidiness I could squash into earlier commits.

It is very distracting, however, if I have to go back to the state _before I wrote all the fun code for the new feature_ to fix the breakage right there. Once I go back, the surrounding code would look all different, and I may even be tempted to do the full test cycle before finishing your "amend in the past" operation. The distraction will destroy my momentum and concentration.

It's much more easier on my brain to commit the fix-up to be later squashed (use "add -p then commit" for that) and continue. I can keep the momentum going that way.

But that is how _I_ work. You may well work differently, and for you "stop, switch brain back to the state before all these fun work and amend, then finally come back" workflow may work better.

What I am saying is that "a variant of commit" you talk may be good but it won't be a _replacement_ for the effort to make squash easier to do while running "rebase -i".

Previous: Michael Haggerty
Message 40 of 40 in “git rebase --interactive squash/squish/fold/rollup”
  1. MintyJun 17, 2009
  2. John TapsellJun 17, 2009
  3. MintyJun 17, 2009
  4. Junio C HamanoJun 17, 2009
  5. John TapsellJun 17, 2009
  6. Paolo BonziniJun 17, 2009
  7. John KoleszarJun 17, 2009
  8. John TapsellJun 17, 2009
  9. Clemens BuchacherJun 17, 2009
  10. MintyJun 18, 2009
  11. rebase -i: auto-squash commitsNanako Shiraishi, Jun 17, 2009
  12. Johannes SchindelinJun 17, 2009
  13. Re: rebase -i: auto-squash commitsNicolas Sebrecht, Jun 18, 2009
  14. Junio C HamanoJun 18, 2009
  15. Johannes SchindelinJun 18, 2009
  16. Jakub NarebskiJun 18, 2009
  17. Junio C HamanoJun 18, 2009
  18. Johannes SchindelinJun 18, 2009
  19. Teemu LikonenJun 18, 2009
  20. Johannes SchindelinJun 18, 2009
  21. Teemu LikonenJun 18, 2009
  22. Johannes SchindelinJun 18, 2009
  23. Jakub NarebskiJun 18, 2009
  24. John KoleszarJun 18, 2009
  25. Junio C HamanoJun 18, 2009
  26. Johannes SchindelinJun 18, 2009
  27. Michael J GruberJun 18, 2009
  28. Miles BaderJun 19, 2009
  29. Re: rebase -i: auto-squash commitsNicolas Sebrecht, Jun 18, 2009
  30. Matthieu MoyJun 18, 2009
  31. Johannes SchindelinJun 18, 2009
  32. Matthieu MoyJun 18, 2009
  33. Re: rebase -i: auto-squash commitsNicolas Sebrecht, Jun 18, 2009
  34. Junio C HamanoJun 18, 2009
  35. rebase -i --autosquash: auto-squash commitsNanako Shiraishi, Jun 18, 2009
  36. Alex RiesenJun 18, 2009
  37. Wincent ColaiutaJun 19, 2009
  38. Nanako ShiraishiJun 20, 2009
  39. Michael HaggertyJun 18, 2009
  40. Junio C HamanoJun 18, 2009

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.