From: Tom Zanussi Date: Sun, 5 Aug 2012 17:29:16 +0000 (-0500) Subject: yocto-bsp: allow branch display filtering X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c3481e22fc4690ff5e449f9c16c2453fa964205d;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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(). Signed-off-by: Tom Zanussi Signed-off-by: Saul Wold --- diff --git a/scripts/lib/bsp/engine.py b/scripts/lib/bsp/engine.py index 8e53f00bd2f..bf6ebaad47b 100644 --- a/scripts/lib/bsp/engine.py +++ b/scripts/lib/bsp/engine.py @@ -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 diff --git a/scripts/lib/bsp/kernel.py b/scripts/lib/bsp/kernel.py index 7c6da4e2eb6..d4bdc4c2509 100644 --- a/scripts/lib/bsp/kernel.py +++ b/scripts/lib/bsp/kernel.py @@ -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"):