scipts/combo-layer: Fix check_rev_branch() for cases where the revision is on more than one branch
If a revision is in more than one branch, the check_rev_branch() function can't cope with it and the tool returns incorrect errror messages. This patch ensures it copes with this situation. (From OE-Core rev: 14bd101c6a86dd048da98817f47694fb21504209) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
1a57708ba8
commit
214ad32077
|
@ -283,19 +283,23 @@ def drop_to_shell(workdir=None):
|
|||
|
||||
def check_rev_branch(component, repodir, rev, branch):
|
||||
try:
|
||||
actualbranch = runcmd("git branch --contains %s" % rev, repodir, printerr=False).rstrip()
|
||||
actualbranch = runcmd("git branch --contains %s" % rev, repodir, printerr=False)
|
||||
except subprocess.CalledProcessError as e:
|
||||
if e.returncode == 129:
|
||||
actualbranch = ""
|
||||
else:
|
||||
raise
|
||||
|
||||
if ' ' in actualbranch:
|
||||
actualbranch = actualbranch.split(' ')[-1]
|
||||
if not actualbranch:
|
||||
logger.error("%s: specified revision %s is invalid!" % (component, rev))
|
||||
return False
|
||||
elif actualbranch != branch:
|
||||
|
||||
branches = []
|
||||
branchlist = actualbranch.split("\n")
|
||||
for b in branchlist:
|
||||
branches.append(b.strip().split(' ')[-1])
|
||||
|
||||
if branch not in branches:
|
||||
logger.error("%s: specified revision %s is not on specified branch %s!" % (component, rev, branch))
|
||||
return False
|
||||
return True
|
||||
|
|
Loading…
Reference in New Issue