diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2012-09-13 17:23:12 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-09-14 09:49:55 +0100 |
commit | e498257ecbec94cec181d73bda57d44335b4dee0 (patch) | |
tree | 9e95943e9959f3608dc3ad19baf3192a2ed5863c | |
parent | ff8277cd133e9a02b131977078cff61fa587a1af (diff) | |
download | openembedded-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-x | scripts/combo-layer | 11 |
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 |