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

Re: odd behavior with git-rebase

From
Jeff King <peff@peff.net>
Date
Mar 23, 2012, 19:54 UTC
Message-ID
<20120323195455.GB15063@sigill.intra.peff.net>
In-Reply-To
<20120323185205.GA11916@hmsreliant.think-freely.org>
On Fri, Mar 23, 2012 at 02:52:05PM -0400, Neil Horman wrote:
Show 10 quoted lines
> 	I hit a strange problem with git rebase and I can't quite decide if its
> a design point of the rebase command, or if its happening in error.  When doing
> upstream backports of various kernel components I occasionally run accross
> commits that, for whatever reason, I don't want/need or can't backport.  When
> that happens, I insert an empty commit in my history noting the upstream commit
> hash and the reasoning behind why I skipped it (I use git commit -c <hash>
> --allow-empty).  If I later rebase this branch, I note that all my empty commits
> fail indicating the commit cannot be applied.  I can of course do another git
> commit --allow-empty -c <hash>; git rebase --continue, and everything is fine,
> but I'd rather it just take the empty commit in the rebase if possible.

I think it is even odder than that. If you use plain rebase, the empty commits are silently omitted. If you do an interactive rebase, you get the "could not apply" message (and just doing a "continue" creates some funny error messages and ends up omitting the commit).

I think both of these are bugs. In the first case, the empty commit appears to be already applied, because it does nothing. But if somebody bothered to create an empty commit in the first place, they probably want to keep it, and we should special-case it.

As you've probably guessed, empty commits are not all that common, and I think this area of git is not well-tested.

-Peff
Previous: Neil HormanNext: Phil Hord
Message 2 of 17 in “odd behavior with git-rebase”
  1. Neil HormanMar 23, 2012
  2. Jeff KingMar 23, 2012
  3. Phil HordMar 26, 2012
  4. Jeff KingMar 26, 2012
  5. Junio C HamanoMar 23, 2012
  6. Neil HormanMar 24, 2012
  7. Junio C HamanoMar 26, 2012
  8. Neil HormanMar 26, 2012
  9. Neal KreitzingerMar 26, 2012
  10. Phil HordMar 26, 2012
  11. Phil HordMar 26, 2012
  12. Neil HormanMar 26, 2012
  13. Jay SoffianMar 27, 2012
  14. Neal KreitzingerMar 26, 2012
  15. Neil HormanMar 26, 2012
  16. Phil HordMar 28, 2012
  17. Junio C HamanoMar 28, 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.