From 15c5abf132004d3cf8c2f8ea732c3f851c3967e6 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Tue, 25 Oct 2011 18:27:28 +0200 Subject: GitRepository: extend list_files() --- gbp/git.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/gbp/git.py b/gbp/git.py index 32b6163..d1c59cc 100644 --- a/gbp/git.py +++ b/gbp/git.py @@ -475,11 +475,25 @@ class GitRepository(object): else: return True - def index_files(self): - """List files in the index""" - out, ret = self.__git_getoutput('ls-files', ['-z']) + def list_files(self, types=['cached']): + """ + List files in index and working tree + + @param types: list of types to show + @type types: list + """ + all_types = [ 'cached', 'deleted', 'others', 'ignored', 'stage' + 'unmerged', 'killed', 'modified' ] + args = [ '-z' ] + + for t in types: + if t in all_types: + args += [ '--%s' % t ] + else: + raise GitRepositoryError("Unknown type '%s'" % t) + out, ret = self.__git_getoutput('ls-files', args) if ret: - raise GitRepositoryError, "Error listing files %d" % ret + raise GitRepositoryError("Error listing files: '%d'" % ret) if out: return [ file for file in out[0].split('\0') if file ] else: -- cgit v1.2.3