From: B4 Bugbot <bugbot+b4@kernel.org>
To: mricon@kernel.org, tools@kernel.org, broonie@kernel.org
Subject: Re: Problems with b4 review update workflow
Date: Thu, 19 Mar 2026 17:46:27 +0000 (UTC) [thread overview]
Message-ID: <20260319-bcc07a98c2-dc61cf5d01a0@git.kernel.org> (raw)
In-Reply-To: <64a3ea45-bb7f-4a29-bce9-2dcf44ed7e25@sirena.org.uk>
Konstantin Ryabitsev writes in commit db13a1e6989d946ae12fc7acfd7ec38a61df2148:
review: use temporary upgrade branch for revision updates
Refactor _do_update_revision() into a three-phase workflow so the old
review branch is never modified until the new revision applies
successfully:
Phase 1 (worker): fetch the new series from the network and compute
base commit hints -- same logic used during initial checkout.
Phase 2 (modal): show BaseSelectionScreen so the maintainer can see
and correct the base commit, instead of silently guessing.
Phase 3 (suspend): apply patches to a temporary upgrade branch
(b4/review/{change_id}-v{rev}-upgrade), restore review data, then
archive the old branch and rename the upgrade branch into place.
Previously the old review branch was archived (deleted) before
attempting to apply the new version, so a failed git-am left the
maintainer with no review data. Now the old branch stays untouched
until the apply succeeds. If anything goes wrong the upgrade branch
is cleaned up and the old review is intact.
After a successful upgrade the TUI returns to the tracking list
instead of immediately entering review mode.
Key changes:
- _do_update_revision() now pushes a WorkerScreen for the fetch phase
- New _on_update_prepared() callback pushes BaseSelectionScreen
- New _on_update_base_selected() does the apply/swap in suspend()
- Archive only happens after the upgrade branch is fully built
- git branch -m renames upgrade branch to review branch on success
- Added 8 tests covering all phases, failure modes, and the safety
guarantee that the old branch survives errors
Reported-by: Mark Brown <broonie@kernel.org>
Closes: https://msgid.link/64a3ea45-bb7f-4a29-bce9-2dcf44ed7e25@sirena.org.uk # cc07a98
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
Assisted-by: claude-opus-4-6
--
Deet-doot-dot, I am a bot.
b4 bug tracker (bugspray 0.1-dev)
prev parent reply other threads:[~2026-03-19 17:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-19 12:05 Problems with b4 review update workflow Mark Brown
2026-03-19 13:20 ` Konstantin Ryabitsev
2026-03-19 13:33 ` B4 Bugbot
2026-03-19 17:46 ` B4 Bugbot [this message]
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=20260319-bcc07a98c2-dc61cf5d01a0@git.kernel.org \
--to=bugbot+b4@kernel.org \
--cc=broonie@kernel.org \
--cc=mricon@kernel.org \
--cc=tools@kernel.org \
/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