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

Re: Confusing error message in rebase when commit becomes empty

From
Jeff King <peff@peff.net>
Date
Jun 13, 2014, 07:31 UTC
Message-ID
<20140613073113.GE7908@sigill.intra.peff.net>
In-Reply-To
<alpine.DEB.2.00.1406130823251.27436@ds9.cixit.se>
On Fri, Jun 13, 2014 at 08:25:43AM +0100, Peter Krefting wrote:
Show 9 quoted lines
> >Yes, but empty commits are discouraged on some projects.  If you want your
> >"change + revert = empty" commit to appear after the squash, I would
> >expect you would want to use --keep-empty on your inital rebase command.
> >But I'm not sure that will do what you expected either; it may only keep
> >previously-empty commits during the rebase.
> 
> The thing is that I wasn't expecting it to come out empty, as I had another
> commit to squash into it. That the interim throw-away squashed commit was
> empty should have been an internal matter to rebase, IMHO.

That's a good point that I neglected in my other response. Maybe the right solution is for "rebase --interactive" to always pass "--allow-empty" when doing a squash. And then either:

  1. Always keep such empty commits. A user who is surprised by them
     being empty can then revisit them. Or drop them by doing another
     rebase without --keep-empty.
  2. Notice ourselves that the end-result of the whole squash is an
     empty commit, and stop to let the user deal with it.
-Peff
Previous: Peter KreftingNext: Jeff King
Message 6 of 7 in “Confusing error message in rebase when commit becomes empty”
  1. Peter KreftingJun 11, 2014
  2. Phil HordJun 11, 2014
  3. Peter KreftingJun 11, 2014
  4. Phil HordJun 11, 2014
  5. Peter KreftingJun 13, 2014
  6. Jeff KingJun 13, 2014
  7. Jeff KingJun 13, 2014

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.