diff options
authorPaul Eggleton <>2016-07-07 11:57:10 +1200
committerRichard Purdie <>2016-11-08 23:03:16 +0000
commitd62aa298b80af78bc89f6e64736ce7383c3fa2de (patch)
parentecc0a8ba077305c51804fd7bc287758b43420a76 (diff)
devtool: update-recipe: fix --initial-rev option
In OE-Core revision 7baf57ad896112cf2258b3e2c2a1f8b756fb39bc I changed the default update-recipe behaviour to only update patches for commits that were changed; unfortunately I failed to handle the --initial-rev option which was broken after that point. Rework how the initial revision is passed in so that it now operates correctly. (From OE-Core rev: b2ca2523cc9e51a4759b4420b07b0b67b3f5ac43) Signed-off-by: Paul Eggleton <> Signed-off-by: Ross Burton <> Signed-off-by: Richard Purdie <> Signed-off-by: Armin Kuster <>
1 files changed, 5 insertions, 8 deletions
diff --git a/scripts/lib/devtool/ b/scripts/lib/devtool/
index 77a82d5590..711399a1fc 100644
--- a/scripts/lib/devtool/
+++ b/scripts/lib/devtool/
@@ -809,22 +809,19 @@ def modify(args, config, basepath, workspace):
return 0
-def _get_patchset_revs(args, srctree, recipe_path):
+def _get_patchset_revs(srctree, recipe_path, initial_rev=None):
"""Get initial and update rev of a recipe. These are the start point of the
whole patchset and start point for the patches to be re-generated/updated.
import bb
- if args.initial_rev:
- return args.initial_rev, args.initial_rev
- # Parse initial rev from recipe
+ # Parse initial rev from recipe if not specified
commits = []
- initial_rev = None
with open(recipe_path, 'r') as f:
for line in f:
if line.startswith('# initial_rev:'):
- initial_rev = line.split(':')[-1].strip()
+ if not initial_rev:
+ initial_rev = line.split(':')[-1].strip()
elif line.startswith('# commit:'):
@@ -1123,7 +1120,7 @@ def _update_recipe_patch(args, config, workspace, srctree, rd, config_data):
raise DevtoolError('unable to find workspace bbappend for recipe %s' %
- initial_rev, update_rev, changed_revs = _get_patchset_revs(args, srctree, append)
+ initial_rev, update_rev, changed_revs = _get_patchset_revs(srctree, append, args.initial_rev)
if not initial_rev:
raise DevtoolError('Unable to find initial revision - please specify '
'it with --initial-rev')