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

Re: [PATCH 00/11] sequencer: do not record dropped commits as rewritten

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Jul 18, 2026, 09:22 UTC
Message-ID
<82527cd3-b3b3-4cc6-80c6-b5833b262c83@gmail.com>
In-Reply-To
<als4huLvpnHsl_Mi@monoceros>
Hi Uwe
On 18/07/2026 09:37, Uwe Kleine-König wrote:
Show 35 quoted lines
> 
> While it works fine in my test case, it doesn't in my real-life
> workflow.
> 
> I have a big branch of changes that I maintain on top of next/master, on
> todays rebase I experience:
> 
> 	uwe@monoceros:~/gsrc/linux-2nd$ git rebase --onto=next-20260717 next-20260716 -r -i device_id^{}
> 	... handling commits that get empty using `git rebase --skip` ...
> 
> 	uwe@monoceros:~/gsrc/linux-2nd$ git range-diff next-20260716..device_id next-20260717..
> 	...
> 	 24:  901ca5f67bc5 !  24:  9f3e8813f6b4 mtd: nand-omap2: Move omap_nand_ids[] to raw nand driver
> 	    @@ Commit message
> 	      ## Notes ##
> 		 Forwarded: id:901ca5f67bc57219a9222115fabe1a1729b87e25.1784229863.git.ukleinek@kernel.org
> 
> 	    +    Forwarded: id:20260716123646.1933293-2-u.kleine-koenig@baylibre.com
> 	    +
> 	      ## drivers/memory/omap-gpmc.c ##
> 	     @@ drivers/memory/omap-gpmc.c: static void __maybe_unused gpmc_read_timings_dt(struct device_node *np,
> 			of_property_read_bool(np, "gpmc,time-para-granularity");
> 	 25:  69be5d4f9f13 <   -:  ------------ drm/radeon: Only define radeon_acpi_vfct_match when actually used
> 	...
> 
> with:
> 
> 	uwe@monoceros:~/gsrc/linux-2nd$ git notes show 69be5d4f9f13
> 	Forwarded: id:20260716123646.1933293-2-u.kleine-koenig@baylibre.com
> 
> When I rebase without -i, the rebase happens without hitting empty
> commits that I have to manually skip and then the notes for 69be5d4f9f13
> doesn't make it into the neighbour commit after rebase.
> 
> So it seems there is still something fishy with interactive rebase.

For historic reasons "-i" implies "--empty=ask", without "-i" the default "--empty=drop" (the UI is a mess). This patch series only stops commits that are dropped by "--empty=drop" from being recorded as rewritten, so it will only have an effect with "-i" if you add "--empty=drop". I'm still thinking about how to handle commits that are dropped by the user, for example when when they run "git rebase --skip" after a conflict, or they run "git rebase --continue" without committing after a commit that becomes empty with "--empty=ask". As an aside I really wish "--empty=ask" kept the empty commit on "git rebase --continue" and dropped it on "git rebase --skip" but the current behavior dates from the early days of git.

Thanks
Phillip
Previous: Uwe Kleine-KönigNext: Phillip Wood
Message 31 of 67 in “sequencer: Skip copying notes for commits that disappear during rebase”
  1. sequencer: Skip copying notes for commits that disappear during rebaseUwe Kleine-König, Jun 16, 2026
  2. Junio C HamanoJun 17, 2026
  3. Uwe Kleine-KönigJun 17, 2026
  4. Phillip WoodJun 19, 2026
  5. Uwe Kleine-KönigJun 19, 2026
  6. 00/11 sequencer: do not record dropped commits as rewrittenPhillip Wood, Jun 30, 2026
  7. 01/11 t3400: restore coverage for note copying with apply backendPhillip Wood, Jun 30, 2026
  8. 02/11 sequencer: move definition of is_final_fixup()Phillip Wood, Jun 30, 2026
  9. 03/11 sequencer: be more careful with external mergePhillip Wood, Jun 30, 2026
  10. 04/11 sequencer: never reschedule on failed commitPhillip Wood, Jun 30, 2026
  11. 05/11 sequencer: remove unnecessary "or" in pick_one_commit()Phillip Wood, Jun 30, 2026
  12. 06/11 sequencer: simplify handing of fixup with conflictsPhillip Wood, Jun 30, 2026
  13. 07/11 sequencer: remove unnecessary condition in pick_one_commit()Phillip Wood, Jun 30, 2026
  14. 08/11 sequencer: simplify pick_one_commit()Phillip Wood, Jun 30, 2026
  15. Oswald BuddenhagenJul 6, 2026
  16. Phillip WoodJul 6, 2026
  17. 09/11 sequencer: return early from pick_one_commit() on successPhillip Wood, Jun 30, 2026
  18. Oswald BuddenhagenJul 6, 2026
  19. 11/11 sequencer: do not record dropped commits as rewrittenPhillip Wood, Jun 30, 2026
  20. 10/11 sequencer: use an enum to represent result of picking a commitPhillip Wood, Jun 30, 2026
  21. Oswald BuddenhagenJul 6, 2026
  22. Phillip WoodJul 6, 2026
  23. Junio C HamanoJun 30, 2026
  24. Uwe Kleine-KönigJul 1, 2026
  25. Phillip WoodJul 1, 2026
  26. Phillip WoodJul 1, 2026
  27. Junio C HamanoJul 13, 2026
  28. Uwe Kleine-KönigJul 1, 2026
  29. Phillip WoodJul 1, 2026
  30. Uwe Kleine-KönigJul 18, 2026
  31. Phillip WoodJul 18, 2026
  32. 00/10 sequencer: do not record dropped commits as rewrittenPhillip Wood, Jul 13, 2026
  33. 01/10 t3400: restore coverage for note copying with apply backendPhillip Wood, Jul 13, 2026
  34. Oswald BuddenhagenJul 13, 2026
  35. 02/10 sequencer: move definition of is_final_fixup()Phillip Wood, Jul 13, 2026
  36. Andrei RybakJul 14, 2026
  37. Phillip WoodJul 15, 2026
  38. 03/10 sequencer: be more careful with external mergePhillip Wood, Jul 13, 2026
  39. Oswald BuddenhagenJul 13, 2026
  40. Phillip WoodJul 15, 2026
  41. Phillip WoodJul 15, 2026
  42. Junio C HamanoJul 15, 2026
  43. 04/10 sequencer: never reschedule on failed commitPhillip Wood, Jul 13, 2026
  44. 05/10 sequencer: remove unnecessary "or" in pick_one_commit()Phillip Wood, Jul 13, 2026
  45. 06/10 sequencer: simplify handing of fixup with conflictsPhillip Wood, Jul 13, 2026
  46. Oswald BuddenhagenJul 13, 2026
  47. Phillip WoodJul 15, 2026
  48. 07/10 sequencer: remove unnecessary condition in pick_one_commit()Phillip Wood, Jul 13, 2026
  49. 08/10 sequencer: simplify pick_one_commit()Phillip Wood, Jul 13, 2026
  50. 09/10 sequencer: use an enum to represent result of picking a commitPhillip Wood, Jul 13, 2026
  51. 10/10 sequencer: do not record dropped commits as rewrittenPhillip Wood, Jul 13, 2026
  52. Junio C HamanoJul 13, 2026
  53. 0/9 sequencer: do not record dropped commits as rewrittenPhillip Wood, Jul 15, 2026
  54. 1/9 t3400: restore coverage for note copying with apply backendPhillip Wood, Jul 15, 2026
  55. 3/9 sequencer: never reschedule on failed commitPhillip Wood, Jul 15, 2026
  56. 2/9 sequencer: be more careful with external mergePhillip Wood, Jul 15, 2026
  57. 4/9 sequencer: remove unnecessary "or" in pick_one_commit()Phillip Wood, Jul 15, 2026
  58. 5/9 sequencer: simplify handling of fixup with conflictsPhillip Wood, Jul 15, 2026
  59. 6/9 sequencer: remove unnecessary condition in pick_one_commit()Phillip Wood, Jul 15, 2026
  60. 7/9 sequencer: simplify pick_one_commit()Phillip Wood, Jul 15, 2026
  61. 8/9 sequencer: use an enum to represent result of picking a commitPhillip Wood, Jul 15, 2026
  62. 9/9 sequencer: do not record dropped commits as rewrittenPhillip Wood, Jul 15, 2026
  63. Junio C HamanoJul 19, 2026
  64. Oswald BuddenhagenJul 20, 2026
  65. Junio C HamanoJul 20, 2026
  66. gerrit code review once more (was: Re: [PATCH v3 0/9] sequencer: do not record dropped commits as) rewrittenOswald Buddenhagen, Jul 20, 2026
  67. Phillip WoodJul 22, 2026

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.