Git development
 help / color / mirror / Atom feed
From: Phillip Wood <phillip.wood123@gmail.com>
To: "Uwe Kleine-König" <u.kleine-koenig@baylibre.com>,
	"Phillip Wood" <phillip.wood@dunelm.org.uk>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 00/11] sequencer: do not record dropped commits as rewritten
Date: Sat, 18 Jul 2026 10:22:23 +0100	[thread overview]
Message-ID: <82527cd3-b3b3-4cc6-80c6-b5833b262c83@gmail.com> (raw)
In-Reply-To: <als4huLvpnHsl_Mi@monoceros>

Hi Uwe

On 18/07/2026 09:37, Uwe Kleine-König wrote:
> 
> 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

  reply	other threads:[~2026-07-18  9:22 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-16 17:40 [PATCH] sequencer: Skip copying notes for commits that disappear during rebase Uwe Kleine-König
2026-06-17 13:24 ` Junio C Hamano
2026-06-17 13:58   ` Uwe Kleine-König
2026-06-19 10:13     ` Phillip Wood
2026-06-19 13:01       ` Uwe Kleine-König
2026-06-30 15:28       ` [PATCH 00/11] sequencer: do not record dropped commits as rewritten Phillip Wood
2026-06-30 15:28         ` [PATCH 01/11] t3400: restore coverage for note copying with apply backend Phillip Wood
2026-06-30 15:28         ` [PATCH 02/11] sequencer: move definition of is_final_fixup() Phillip Wood
2026-06-30 15:28         ` [PATCH 03/11] sequencer: be more careful with external merge Phillip Wood
2026-06-30 15:28         ` [PATCH 04/11] sequencer: never reschedule on failed commit Phillip Wood
2026-06-30 15:28         ` [PATCH 05/11] sequencer: remove unnecessary "or" in pick_one_commit() Phillip Wood
2026-06-30 15:28         ` [PATCH 06/11] sequencer: simplify handing of fixup with conflicts Phillip Wood
2026-06-30 15:28         ` [PATCH 07/11] sequencer: remove unnecessary condition in pick_one_commit() Phillip Wood
2026-06-30 15:28         ` [PATCH 08/11] sequencer: simplify pick_one_commit() Phillip Wood
2026-07-06 11:06           ` Oswald Buddenhagen
2026-07-06 13:40             ` Phillip Wood
2026-06-30 15:28         ` [PATCH 09/11] sequencer: return early from pick_one_commit() on success Phillip Wood
2026-07-06 11:08           ` Oswald Buddenhagen
2026-06-30 15:29         ` [PATCH 10/11] sequencer: use an enum to represent result of picking a commit Phillip Wood
2026-07-06 11:12           ` Oswald Buddenhagen
2026-07-06 13:39             ` Phillip Wood
2026-06-30 15:29         ` [PATCH 11/11] sequencer: do not record dropped commits as rewritten Phillip Wood
2026-06-30 19:57         ` [PATCH 00/11] " Junio C Hamano
2026-07-01  6:00           ` Uwe Kleine-König
2026-07-01 13:29             ` Phillip Wood
2026-07-01 13:31           ` Phillip Wood
2026-07-13  0:06             ` Junio C Hamano
2026-07-01  9:38         ` Uwe Kleine-König
2026-07-01 13:37           ` Phillip Wood
2026-07-18  8:37           ` Uwe Kleine-König
2026-07-18  9:22             ` Phillip Wood [this message]
2026-07-13 13:17         ` [PATCH v2 00/10] " Phillip Wood
2026-07-13 13:17           ` [PATCH v2 01/10] t3400: restore coverage for note copying with apply backend Phillip Wood
2026-07-13 13:43             ` Oswald Buddenhagen
2026-07-13 13:17           ` [PATCH v2 02/10] sequencer: move definition of is_final_fixup() Phillip Wood
2026-07-14 22:50             ` Andrei Rybak
2026-07-15  9:12               ` Phillip Wood
2026-07-13 13:17           ` [PATCH v2 03/10] sequencer: be more careful with external merge Phillip Wood
2026-07-13 14:01             ` Oswald Buddenhagen
2026-07-15  9:35               ` Phillip Wood
2026-07-15  9:42                 ` Phillip Wood
2026-07-15 18:53                   ` Junio C Hamano
2026-07-13 13:17           ` [PATCH v2 04/10] sequencer: never reschedule on failed commit Phillip Wood
2026-07-13 13:17           ` [PATCH v2 05/10] sequencer: remove unnecessary "or" in pick_one_commit() Phillip Wood
2026-07-13 13:17           ` [PATCH v2 06/10] sequencer: simplify handing of fixup with conflicts Phillip Wood
2026-07-13 14:09             ` Oswald Buddenhagen
2026-07-15  9:20               ` Phillip Wood
2026-07-13 13:17           ` [PATCH v2 07/10] sequencer: remove unnecessary condition in pick_one_commit() Phillip Wood
2026-07-13 13:17           ` [PATCH v2 08/10] sequencer: simplify pick_one_commit() Phillip Wood
2026-07-13 13:17           ` [PATCH v2 09/10] sequencer: use an enum to represent result of picking a commit Phillip Wood
2026-07-13 13:17           ` [PATCH v2 10/10] sequencer: do not record dropped commits as rewritten Phillip Wood
2026-07-13 17:00           ` [PATCH v2 00/10] " Junio C Hamano
2026-07-15 15:21         ` [PATCH v3 0/9] " Phillip Wood
2026-07-15 15:21           ` [PATCH v3 1/9] t3400: restore coverage for note copying with apply backend Phillip Wood
2026-07-15 15:21           ` [PATCH v3 2/9] sequencer: be more careful with external merge Phillip Wood
2026-07-15 15:21           ` [PATCH v3 3/9] sequencer: never reschedule on failed commit Phillip Wood
2026-07-15 15:21           ` [PATCH v3 4/9] sequencer: remove unnecessary "or" in pick_one_commit() Phillip Wood
2026-07-15 15:21           ` [PATCH v3 5/9] sequencer: simplify handling of fixup with conflicts Phillip Wood
2026-07-15 15:22           ` [PATCH v3 6/9] sequencer: remove unnecessary condition in pick_one_commit() Phillip Wood
2026-07-15 15:22           ` [PATCH v3 7/9] sequencer: simplify pick_one_commit() Phillip Wood
2026-07-15 15:22           ` [PATCH v3 8/9] sequencer: use an enum to represent result of picking a commit Phillip Wood
2026-07-15 15:22           ` [PATCH v3 9/9] sequencer: do not record dropped commits as rewritten Phillip Wood

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=82527cd3-b3b3-4cc6-80c6-b5833b262c83@gmail.com \
    --to=phillip.wood123@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=phillip.wood@dunelm.org.uk \
    --cc=u.kleine-koenig@baylibre.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox