[yocto] [PATCH 04/19] yocto-bsp: allow branch display filtering
tom.zanussi at intel.com
tom.zanussi at intel.com
Thu Aug 9 14:05:27 PDT 2012
From: Tom Zanussi <tom.zanussi at intel.com>
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 <tom.zanussi at intel.com>
---
scripts/lib/bsp/engine.py | 7 +++++++
scripts/lib/bsp/kernel.py | 19 +++++++++++++++++++
2 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/scripts/lib/bsp/engine.py b/scripts/lib/bsp/engine.py
index cda1d14..8b05809 100644
--- a/scripts/lib/bsp/engine.py
+++ b/scripts/lib/bsp/engine.py
@@ -473,6 +473,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)
@@ -488,6 +493,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 7c6da4e..d4bdc4c 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"):
--
1.7.4.1
More information about the yocto
mailing list