buildman: Ignore conflicting tags
Tags like Series-version are normally expected to appear once, and with a unique value. But buildman doesn't actually look at these tags. So ignore conflicts. This allows bulidman to build a branch containing multiple patman series. Reported-by: Steve Rae <srae@broadcom.com> Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
f7582ce849
commit
950a23133d
@ -166,6 +166,10 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
|
|||||||
# upstream/master~..branch but that isn't possible if upstream/master is
|
# upstream/master~..branch but that isn't possible if upstream/master is
|
||||||
# a merge commit (it will list all the commits that form part of the
|
# a merge commit (it will list all the commits that form part of the
|
||||||
# merge)
|
# merge)
|
||||||
|
# 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 by setting allow_overwrite=True
|
||||||
if options.branch:
|
if options.branch:
|
||||||
if count == -1:
|
if count == -1:
|
||||||
range_expr = gitutil.GetRangeInBranch(options.git_dir,
|
range_expr = gitutil.GetRangeInBranch(options.git_dir,
|
||||||
@ -173,19 +177,14 @@ def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
|
|||||||
upstream_commit = gitutil.GetUpstream(options.git_dir,
|
upstream_commit = gitutil.GetUpstream(options.git_dir,
|
||||||
options.branch)
|
options.branch)
|
||||||
series = patchstream.GetMetaDataForList(upstream_commit,
|
series = patchstream.GetMetaDataForList(upstream_commit,
|
||||||
options.git_dir, 1)
|
options.git_dir, 1, series=None, allow_overwrite=True)
|
||||||
|
|
||||||
# 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,
|
series = patchstream.GetMetaDataForList(range_expr,
|
||||||
options.git_dir, None, series)
|
options.git_dir, None, series, allow_overwrite=True)
|
||||||
else:
|
else:
|
||||||
# Honour the count
|
# Honour the count
|
||||||
series = patchstream.GetMetaDataForList(options.branch,
|
series = patchstream.GetMetaDataForList(options.branch,
|
||||||
options.git_dir, count)
|
options.git_dir, count, series=None, allow_overwrite=True)
|
||||||
else:
|
else:
|
||||||
series = None
|
series = None
|
||||||
options.verbose = True
|
options.verbose = True
|
||||||
|
@ -79,6 +79,7 @@ Date: Thu Aug 14 16:48:25 2014 -0600
|
|||||||
Series-changes: 7
|
Series-changes: 7
|
||||||
- Add new patch to fix the 'reverse' bug
|
- Add new patch to fix the 'reverse' bug
|
||||||
|
|
||||||
|
Series-version: 8
|
||||||
|
|
||||||
Change-Id: I79078f792e8b390b8a1272a8023537821d45feda
|
Change-Id: I79078f792e8b390b8a1272a8023537821d45feda
|
||||||
Reported-by: York Sun <yorksun@freescale.com>
|
Reported-by: York Sun <yorksun@freescale.com>
|
||||||
@ -156,6 +157,8 @@ Date: Fri Aug 22 15:57:39 2014 -0600
|
|||||||
Series-changes: 9
|
Series-changes: 9
|
||||||
- Add new patch to avoid changing the order of tags
|
- Add new patch to avoid changing the order of tags
|
||||||
|
|
||||||
|
Series-version: 9
|
||||||
|
|
||||||
Suggested-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
|
Suggested-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
|
||||||
Change-Id: Ib1518588c1a189ad5c3198aae76f8654aed8d0db
|
Change-Id: Ib1518588c1a189ad5c3198aae76f8654aed8d0db
|
||||||
"""]
|
"""]
|
||||||
|
@ -355,7 +355,7 @@ class PatchStream:
|
|||||||
|
|
||||||
|
|
||||||
def GetMetaDataForList(commit_range, git_dir=None, count=None,
|
def GetMetaDataForList(commit_range, git_dir=None, count=None,
|
||||||
series = None):
|
series = None, allow_overwrite=False):
|
||||||
"""Reads out patch series metadata from the commits
|
"""Reads out patch series metadata from the commits
|
||||||
|
|
||||||
This does a 'git log' on the relevant commits and pulls out the tags we
|
This does a 'git log' on the relevant commits and pulls out the tags we
|
||||||
@ -367,11 +367,13 @@ def GetMetaDataForList(commit_range, git_dir=None, count=None,
|
|||||||
count: Number of commits to list, or None for no limit
|
count: Number of commits to list, or None for no limit
|
||||||
series: Series object to add information into. By default a new series
|
series: Series object to add information into. By default a new series
|
||||||
is started.
|
is started.
|
||||||
|
allow_overwrite: Allow tags to overwrite an existing tag
|
||||||
Returns:
|
Returns:
|
||||||
A Series object containing information about the commits.
|
A Series object containing information about the commits.
|
||||||
"""
|
"""
|
||||||
if not series:
|
if not series:
|
||||||
series = Series()
|
series = Series()
|
||||||
|
series.allow_overwrite = allow_overwrite
|
||||||
params = gitutil.LogCmd(commit_range,reverse=True, count=count,
|
params = gitutil.LogCmd(commit_range,reverse=True, count=count,
|
||||||
git_dir=git_dir)
|
git_dir=git_dir)
|
||||||
stdout = command.RunPipe([params], capture=True).stdout
|
stdout = command.RunPipe([params], capture=True).stdout
|
||||||
|
Loading…
Reference in New Issue
Block a user