yocto-bsp: allow branch display filtering

Add a "branches_base" property that can be used to allow only matching
branches to be returned from all_branches().

(From meta-yocto rev: c3481e22fc4690ff5e449f9c16c2453fa964205d)

Signed-off-by: Tom Zanussi <tom.zanussi@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:
Tom Zanussi 2012-08-05 12:29:16 -05:00 committed by Richard Purdie
parent 0f34dd65f2
commit 7be26836ca
2 changed files with 26 additions and 0 deletions

View File

@ -463,6 +463,11 @@ def gen_choices_defer(input_line, context, checklist = False):
except KeyError:
nameappend = ""
try:
branches_base = input_line.props["branches_base"]
except KeyError:
branches_base = ""
filename = input_line.props["filename"]
closetag_start = filename.find(CLOSE_TAG)
@ -478,6 +483,8 @@ def gen_choices_defer(input_line, context, checklist = False):
captured_context["filename"] = filename
context["nameappend"] = nameappend
captured_context["nameappend"] = nameappend
context["branches_base"] = branches_base
captured_context["branches_base"] = branches_base
deferred_choice = (input_line, captured_context, checklist)
key = name + "_" + filename + "_" + nameappend

View File

@ -713,6 +713,17 @@ def all_branches(context):
branches = []
base_prefixes = None
try:
branches_base = context["branches_base"]
if branches_base:
base_prefixes = branches_base.split(":")
except KeyError:
pass
arch = context["arch"]
if tmp:
tmpline = tmp.split("\n")
for line in tmpline:
@ -720,6 +731,14 @@ def all_branches(context):
break;
idx = line.find("refs/heads/")
kbranch = line[idx + len("refs/heads/"):]
kbranch_prefix = kbranch.rsplit("/", 1)[0]
if base_prefixes:
for base_prefix in base_prefixes:
if kbranch_prefix == base_prefix:
branches.append(kbranch)
continue
if (kbranch.find("/") != -1 and
(kbranch.find("standard") != -1 or kbranch.find("base") != -1) or
kbranch == "base"):