Commit 5fedb2ba authored by Iain Lane's avatar Iain Lane Committed by Guido Günther

Ignore merge commits when looking at the pristine-tar branch

When there is a merge commit in this branch, we currently get the
warning:

  gbp:warning: Unknown compression type of Merge branch 'pristine-tar' into 'pristine-tar', assuming gzip

because we're grepping the commit logs to find out the compression type
of the tarballs in there.

For now, we can just use `git log ... --no-merges' to not see these
commits.
Signed-off-by: Guido Günther's avatarGuido Günther <agx@sigxcpu.org>
Closes: #906331
parent 8b266be2
......@@ -1645,7 +1645,7 @@ class GitRepository(object):
raise GitRepositoryError("can't get %s: %s" % (id, stderr.decode().rstrip()))
return obj
def grep_log(self, regex, since=None):
def grep_log(self, regex, since=None, merges=True):
"""
Get commmits matching I{regex}
......@@ -1655,6 +1655,8 @@ class GitRepository(object):
@type since: C{str}
"""
args = ['--pretty=format:%H']
if not merges:
args.append("--no-merges")
args.append("--grep=%s" % regex)
if since:
args.append(since)
......
......@@ -71,7 +71,7 @@ class PristineTar(Command):
return None
regex = ('pristine-tar .* %s' % archive_regexp)
commits = self.repo.grep_log(regex, self.branch)
commits = self.repo.grep_log(regex, self.branch, merges=False)
if commits:
commit = commits[-1]
gbp.log.debug("Found pristine-tar commit at '%s'" % commit)
......
......@@ -236,7 +236,7 @@ def guess_comp_type(comp_type, source, repo, tarball_dir):
if comp_type == 'auto':
if repo and repo.has_pristine_tar_branch():
regex = 'pristine-tar .* %s_%s\.orig.tar\.' % (source.name, source.upstream_version)
commits = repo.grep_log(regex, repo.pristine_tar_branch)
commits = repo.grep_log(regex, repo.pristine_tar_branch, merges=False)
if commits:
commit = commits[-1]
gbp.log.debug("Found pristine-tar commit at '%s'" % commit)
......
......@@ -24,7 +24,7 @@ class MockGitRepository:
def pristine_tar_branch(self):
'pristine-tar'
def grep_log(self, regex, branch):
def grep_log(self, regex, branch, merges=True):
return None
def get_commit_info(self, commit):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment