From 61b720359540801fde1465379c72e15e70fa4675 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Sat, 30 Jul 2011 09:30:22 +0200 Subject: Robustify gbp.git.commits() Git-Dch: Ignore --- gbp/git.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/gbp/git.py b/gbp/git.py index 83b79268..06264b4b 100644 --- a/gbp/git.py +++ b/gbp/git.py @@ -267,26 +267,24 @@ class GitRepository(object): return [] def commits(self, since=None, until=None, paths=None, options=None): - """get commits from start to end touching pathds""" + """get commits from start to end touching paths""" - if since or until: - range = ['%s..%s' % (since, until)] - else: - range = [] + args = ['--pretty=format:%H'] + + if options: + args += options + + if since and until: + args += ['%s..%s' % (since, until)] if paths: - paths = [ "--", paths ] - else: - paths = [] + args += [ "--", paths ] - commits, ret = self.__git_getoutput('log', - ['--pretty=format:%H'] + - options + - range + - paths) + commits, ret = self.__git_getoutput('log', args) if ret: + where = " on %s" % paths if paths else "" raise GitRepositoryError, ("Error getting commits %s..%s%s" % - (since, until,["", " on %s" % paths][len(paths) > 0] )) + (since, until, where)) return [ commit.strip() for commit in commits[::-1] ] def show(self, id): -- cgit v1.2.3