summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2014-08-09 15:33:09 -0600
committerSimon Glass <sjg@chromium.org>2014-08-13 08:34:16 -0600
commit3b74ba5f1af147df0aea243976f7064a2734d551 (patch)
tree082be1cfbc3ca2dce1b7148f9cddccfd014f1a93 /tools
parent6131beab6993f29bd6e52e94180654cb759dc4c7 (diff)
buildman: Allow selection of the number of commits to build
It is useful to be able to build only some of the commits in a branch. Add support for the -c option to allow this. It was previously parsed by buildman but not implemented. Suggested-by: York Sun <yorksun@freescale.com> Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/buildman/control.py31
1 files changed, 19 insertions, 12 deletions
diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index 0c9e2cbfee5..98a07a29e7e 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -144,18 +144,25 @@ def DoBuildman(options, args):
# a merge commit (it will list all the commits that form part of the
# merge)
if options.branch:
- range_expr = gitutil.GetRangeInBranch(options.git_dir, options.branch)
- upstream_commit = gitutil.GetUpstream(options.git_dir, options.branch)
- series = patchstream.GetMetaDataForList(upstream_commit,
- options.git_dir, 1)
-
- # Conflicting tags are not a problem for buildman, since it does not
- # use them. For example, Series-version is not useful for buildman. On
- # the other hand conflicting tags will cause an error. So allow later
- # tags to overwrite earlier ones.
- series.allow_overwrite = True
- series = patchstream.GetMetaDataForList(range_expr, options.git_dir, None,
- series)
+ if count == -1:
+ range_expr = gitutil.GetRangeInBranch(options.git_dir,
+ options.branch)
+ upstream_commit = gitutil.GetUpstream(options.git_dir,
+ options.branch)
+ series = patchstream.GetMetaDataForList(upstream_commit,
+ options.git_dir, 1)
+
+ # Conflicting tags are not a problem for buildman, since it does
+ # not use them. For example, Series-version is not useful for
+ # buildman. On the other hand conflicting tags will cause an
+ # error. So allow later tags to overwrite earlier ones.
+ series.allow_overwrite = True
+ series = patchstream.GetMetaDataForList(range_expr,
+ options.git_dir, None, series)
+ else:
+ # Honour the count
+ series = patchstream.GetMetaDataForList(options.branch,
+ options.git_dir, count)
else:
series = None
options.verbose = True