From db79c5db34498bc353f7d1e10bb1f4b7140d876b Mon Sep 17 00:00:00 2001 From: Lingchaox Xin Date: Fri, 5 Jul 2013 17:50:48 +0800 Subject: GitRepository.pull: Add 'all_remotes' option Also changes the method to utilize the GitArgs class. Signed-off-by: Lingchaox Xin Signed-off-by: Markus Lehtonen --- gbp/git/repository.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'gbp/git') diff --git a/gbp/git/repository.py b/gbp/git/repository.py index 9a67abf1..fc7857b9 100644 --- a/gbp/git/repository.py +++ b/gbp/git/repository.py @@ -1063,7 +1063,7 @@ class GitRepository(object): self._git_command("fetch", args.args) - def pull(self, repo=None, ff_only=False): + def pull(self, repo=None, ff_only=False, all_remotes=False): """ Fetch and merge from another repository @@ -1071,11 +1071,16 @@ class GitRepository(object): @type repo: C{str} @param ff_only: only merge if this results in a fast forward merge @type ff_only: C{bool} + @param all_remotes: fetch all remotes + @type all_remotes: C{bool} """ - args = [] - args += [ '--ff-only' ] if ff_only else [] - args += [ repo ] if repo else [] - self._git_command("pull", args) + args = GitArgs() + args.add_true(ff_only, '--ff-only') + if all_remotes: + args.add_true(all_remotes, '--all') + else: + args.add_true(repo, repo) + self._git_command("pull", args.args) def push(self, repo=None, src=None, dst=None, ff_only=True, force=False, tags=False): -- cgit v1.2.3