From 4d56ab643100776171a66bff9686ff7f676ad1c5 Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Tue, 3 Jul 2012 10:06:54 +0300 Subject: GitRepository/rev_parse: add new argument 'short' Adds a new argument to get abbreviated SHA1. Also, modifies rev_parse() to use GitArgs class. Signed-off-by: Markus Lehtonen --- gbp/git/repository.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'gbp/git') diff --git a/gbp/git/repository.py b/gbp/git/repository.py index d4f9460..5d33fc7 100644 --- a/gbp/git/repository.py +++ b/gbp/git/repository.py @@ -602,17 +602,21 @@ class GitRepository(object): # an empty repo has no branches: return False if self.branch else True - def rev_parse(self, name): + def rev_parse(self, name, short=None): """ Find the SHA1 of a given name @param name: the name to look for @type name: C{str} + @param short: try to abbreviate SHA1 to given length + @type short: C{int} @return: the name's sha1 @rtype: C{str} """ - args = [ "--quiet", "--verify", name ] - sha, ret = self._git_getoutput('rev-parse', args) + args = GitArgs("--quiet", "--verify") + args.add_cond(short, '--short=%s' % short) + args.add(name) + sha, ret = self._git_getoutput('rev-parse', args.args) if ret: raise GitRepositoryError("revision '%s' not found" % name) return sha[0].strip() -- cgit v1.2.3