summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2012-09-13 17:23:12 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-14 09:49:55 +0100
commite498257ecbec94cec181d73bda57d44335b4dee0 (patch)
tree9e95943e9959f3608dc3ad19baf3192a2ed5863c
parentff8277cd133e9a02b131977078cff61fa587a1af (diff)
downloadopenembedded-core-e498257ecbec94cec181d73bda57d44335b4dee0.tar.gz
openembedded-core-e498257ecbec94cec181d73bda57d44335b4dee0.tar.bz2
openembedded-core-e498257ecbec94cec181d73bda57d44335b4dee0.zip
scripts/combo-layer: ensure we validate branch/revision on init
If both branch and last_revision are specified for a component when combo-layer init is run, ensure that the specified revision is actually on the specified branch and error out if not. Also ensure that the error message mentions the component. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
-rwxr-xr-xscripts/combo-layer11
1 files changed, 7 insertions, 4 deletions
diff --git a/scripts/combo-layer b/scripts/combo-layer
index 65435db8c0..3baea24dee 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -183,6 +183,9 @@ def action_init(conf, args):
lastrev = repo.get('last_revision', None)
if lastrev and lastrev != "HEAD":
initialrev = lastrev
+ if branch:
+ if not check_rev_branch(name, ldir, lastrev, branch):
+ sys.exit(1)
logger.info("Copying data from %s at specified revision %s..." % (name, lastrev))
else:
lastrev = None
@@ -278,7 +281,7 @@ def drop_to_shell(workdir=None):
else:
return True
-def check_rev_branch(repodir, rev, branch):
+def check_rev_branch(component, repodir, rev, branch):
try:
actualbranch = runcmd("git branch --contains %s" % rev, repodir, printerr=False).rstrip()
except subprocess.CalledProcessError as e:
@@ -290,10 +293,10 @@ def check_rev_branch(repodir, rev, branch):
if ' ' in actualbranch:
actualbranch = actualbranch.split(' ')[-1]
if not actualbranch:
- logger.error("Specified revision %s is invalid!" % rev)
+ logger.error("%s: specified revision %s is invalid!" % (component, rev))
return False
elif actualbranch != branch:
- logger.error("Specified revision %s is not on specified branch %s!" % (rev, branch))
+ logger.error("%s: specified revision %s is not on specified branch %s!" % (component, rev, branch))
return False
return True
@@ -373,7 +376,7 @@ def action_update(conf, args):
patch_cmd_range = "--root %s" % branch
rev_cmd_range = branch
else:
- if not check_rev_branch(ldir, repo['last_revision'], branch):
+ if not check_rev_branch(name, ldir, repo['last_revision'], branch):
sys.exit(1)
patch_cmd_range = "%s..%s" % (repo['last_revision'], branch)
rev_cmd_range = patch_cmd_range