diff mbox series

[wrynose,1/2] devtool: standard: fix update-recipe/finish --initial-rev override

Message ID 20261002010849.7-1-bbnpreetsingh@gmail.com
State New
Headers show
Series [wrynose,1/2] devtool: standard: fix update-recipe/finish --initial-rev override | expand

Commit Message

Babanpreet Singh Oct. 2, 2026, 1:08 a.m. UTC
Passing --initial-rev to update-recipe or finish currently has no
effect: the recorded initial revision is skipped as intended, but the
override is never stored in its place. For recipes without submodules
this leaves no initial revision at all, and the command fails with an
error asking the user to pass --initial-rev.

Seed initial_revs with the override before parsing the bbappend so it
takes precedence again. Recorded values are still used for submodules
and when no override is given.

AI-Generated: Uses Claude (claude-fable-5)
Signed-off-by: Babanpreet Singh <bbnpreetsingh@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 62abb60b899e63ea6db5c745f4b1b6af0d4b40f1)
Signed-off-by: Babanpreet Singh <bbnpreetsingh@gmail.com>
---
 scripts/lib/devtool/standard.py | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox series

Patch

diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 42fb13872d..e2f5c28f8b 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -1200,6 +1200,10 @@  def _get_patchset_revs(srctree, recipe_path, initial_rev=None, force_patch_refre
     commits = {}
     patches = []
     initial_revs = {}
+    if initial_rev:
+        # A user-specified override applies to the main repo ("."); the
+        # parse loop below leaves it in place of the recorded value
+        initial_revs["."] = initial_rev
     with open(recipe_path, 'r') as f:
         for line in f:
             pattern = r'^#\s.*\s(.*):\s([0-9a-fA-F]+)$'