From: Guido Günther Date: Tue, 25 Oct 2011 16:27:28 +0000 (+0200) Subject: GitRepository: extend list_files() X-Git-Tag: debian/0.6.0_git20111202~67 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=15c5abf132004d3cf8c2f8ea732c3f851c3967e6;p=tools%2Fgit-buildpackage.git GitRepository: extend list_files() --- 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: