From: Lingchaox Xin Date: Fri, 5 Jul 2013 09:50:48 +0000 (+0800) Subject: GitRepository.pull: Add 'all_remotes' option X-Git-Tag: debian/0.6.4~14 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=db79c5db34498bc353f7d1e10bb1f4b7140d876b;p=tools%2Fgit-buildpackage.git 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 --- 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): diff --git a/tests/test_GitRepository.py b/tests/test_GitRepository.py index b12f8d41..f48db0a9 100644 --- a/tests/test_GitRepository.py +++ b/tests/test_GitRepository.py @@ -595,6 +595,8 @@ def test_pull(): >>> clone = gbp.git.GitRepository(d) >>> clone.set_branch('master') >>> clone.pull() + >>> clone.pull(all_remotes=True) + >>> clone.pull('origin', all_remotes=True) """ def test_fetch():