aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--gbp/git/repository.py9
-rw-r--r--tests/test_GitRepository.py1
2 files changed, 6 insertions, 4 deletions
diff --git a/gbp/git/repository.py b/gbp/git/repository.py
index fe405884..42612327 100644
--- a/gbp/git/repository.py
+++ b/gbp/git/repository.py
@@ -687,17 +687,18 @@ class GitRepository(object):
args += [ name, url ]
self._git_command("remote", args)
- def fetch(self, repo=None):
+ def fetch(self, repo=None, tags=False):
"""
Download objects and refs from another repository.
@param repo: repository to fetch from
@type repo: C{str}
"""
- args = [ '--quiet' ]
- args += [repo] if repo else []
+ args = GitArgs('--quiet')
+ args.add_true(tags, '--tags')
+ args.add_cond(repo, repo)
- self._git_command("fetch", args)
+ self._git_command("fetch", args.args)
def pull(self, repo=None, ff_only=False):
"""
diff --git a/tests/test_GitRepository.py b/tests/test_GitRepository.py
index 7eaae1e3..23f4f997 100644
--- a/tests/test_GitRepository.py
+++ b/tests/test_GitRepository.py
@@ -424,6 +424,7 @@ def test_fetch():
>>> clone.push_tag('origin', 'tag3')
>>> clone.add_remote_repo('foo', repo_dir)
>>> clone.fetch('foo')
+ >>> clone.fetch('foo', tags=True)
"""
def test_create_bare():