summaryrefslogtreecommitdiff
path: root/gbp/git
diff options
context:
space:
mode:
Diffstat (limited to 'gbp/git')
-rw-r--r--gbp/git/repository.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/gbp/git/repository.py b/gbp/git/repository.py
index 760f891e..1b696406 100644
--- a/gbp/git/repository.py
+++ b/gbp/git/repository.py
@@ -1736,7 +1736,7 @@ class GitRepository(object):
return output
#}
- def archive(self, format, prefix, output, treeish):
+ def archive(self, format, prefix, output, treeish, paths=None):
"""
Create an archive from a treeish
@@ -1749,6 +1749,8 @@ class GitRepository(object):
@type output: C{str} or C{None}
@param treeish: the treeish to create the archive from
@type treeish: C{str}
+ @param paths: List of paths to include in the archive
+ @type paths: C{list} of C{str}
@return: archive data as a generator object
@rtype: C{None} or C{generator} of C{str}
@@ -1756,6 +1758,8 @@ class GitRepository(object):
args = GitArgs('--format=%s' % format, '--prefix=%s' % prefix)
args.add_true(output, '--output=%s' % output)
args.add(treeish)
+ args.add("--")
+ args.add_cond(paths, paths)
if output:
out, err, ret = self._git_inout('archive', args.args)