All of lore.kernel.org
 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: 66+ 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
2026-07-19 19:29           ` [PATCH v3 0/9] " Junio C Hamano
2026-07-20 12:15             ` Oswald Buddenhagen
2026-07-20 17:03               ` Junio C Hamano
2026-07-20 21:35                 ` gerrit code review once more (was: Re: [PATCH v3 0/9] sequencer: do not record dropped commits as) rewritten Oswald Buddenhagen

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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.