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. (From OE-Core rev: e498257ecbec94cec181d73bda57d44335b4dee0) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
7ddf64d58d
commit
a2eab6bb16
|
@ -183,6 +183,9 @@ def action_init(conf, args):
|
||||||
lastrev = repo.get('last_revision', None)
|
lastrev = repo.get('last_revision', None)
|
||||||
if lastrev and lastrev != "HEAD":
|
if lastrev and lastrev != "HEAD":
|
||||||
initialrev = lastrev
|
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))
|
logger.info("Copying data from %s at specified revision %s..." % (name, lastrev))
|
||||||
else:
|
else:
|
||||||
lastrev = None
|
lastrev = None
|
||||||
|
@ -278,7 +281,7 @@ def drop_to_shell(workdir=None):
|
||||||
else:
|
else:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def check_rev_branch(repodir, rev, branch):
|
def check_rev_branch(component, repodir, rev, branch):
|
||||||
try:
|
try:
|
||||||
actualbranch = runcmd("git branch --contains %s" % rev, repodir, printerr=False).rstrip()
|
actualbranch = runcmd("git branch --contains %s" % rev, repodir, printerr=False).rstrip()
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
|
@ -290,10 +293,10 @@ def check_rev_branch(repodir, rev, branch):
|
||||||
if ' ' in actualbranch:
|
if ' ' in actualbranch:
|
||||||
actualbranch = actualbranch.split(' ')[-1]
|
actualbranch = actualbranch.split(' ')[-1]
|
||||||
if not actualbranch:
|
if not actualbranch:
|
||||||
logger.error("Specified revision %s is invalid!" % rev)
|
logger.error("%s: specified revision %s is invalid!" % (component, rev))
|
||||||
return False
|
return False
|
||||||
elif actualbranch != branch:
|
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 False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
@ -373,7 +376,7 @@ def action_update(conf, args):
|
||||||
patch_cmd_range = "--root %s" % branch
|
patch_cmd_range = "--root %s" % branch
|
||||||
rev_cmd_range = branch
|
rev_cmd_range = branch
|
||||||
else:
|
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)
|
sys.exit(1)
|
||||||
patch_cmd_range = "%s..%s" % (repo['last_revision'], branch)
|
patch_cmd_range = "%s..%s" % (repo['last_revision'], branch)
|
||||||
rev_cmd_range = patch_cmd_range
|
rev_cmd_range = patch_cmd_range
|
||||||
|
|
Loading…
Reference in New Issue