From 221705f0143c9ba4c11180dc9ff1bf29966b23bc Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Wed, 4 Mar 2015 13:20:37 +0000 Subject: devtool: modify: get correct initial revision from previously extracted source tree If you point devtool modify to a source tree previously created by devtool modify or devtool extract, then we need to try to pick up the correct initial revision so that devtool update-recipe knows where to start looking for commits that match up with patches in the recipe. (From OE-Core rev: c20e10543e268ebb43074a3f8d6e7ed991e54ec8) Signed-off-by: Paul Eggleton Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- scripts/lib/devtool/standard.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'scripts/lib/devtool/standard.py') diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 32fb3b6..f9369ee 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -326,8 +326,19 @@ def modify(args, config, basepath, workspace): commits = stdout.split() else: if os.path.exists(os.path.join(args.srctree, '.git')): - (stdout, _) = bb.process.run('git rev-parse HEAD', cwd=args.srctree) - initial_rev = stdout.rstrip() + # Check if it's a tree previously extracted by us + try: + (stdout, _) = bb.process.run('git branch --contains devtool-base', cwd=args.srctree) + except bb.process.ExecutionError: + stdout = '' + for line in stdout.splitlines(): + if line.startswith('*'): + (stdout, _) = bb.process.run('git rev-parse devtool-base', cwd=args.srctree) + initial_rev = stdout.rstrip() + if not initial_rev: + # Otherwise, just grab the head revision + (stdout, _) = bb.process.run('git rev-parse HEAD', cwd=args.srctree) + initial_rev = stdout.rstrip() # Check that recipe isn't using a shared workdir s = rd.getVar('S', True) -- cgit v1.1