From 3b74ba5f1af147df0aea243976f7064a2734d551 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sat, 9 Aug 2014 15:33:09 -0600 Subject: [PATCH] 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 Signed-off-by: Simon Glass Acked-by: York Sun --- tools/buildman/control.py | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/tools/buildman/control.py b/tools/buildman/control.py index 0c9e2cbfee..98a07a29e7 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) + 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) + # 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