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
next prev parent 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