diff options
-rw-r--r-- | lib/git/remote.py | 11 | ||||
-rw-r--r-- | test/git/test_remote.py | 6 |
2 files changed, 5 insertions, 12 deletions
diff --git a/lib/git/remote.py b/lib/git/remote.py index ace5128a..562a5082 100644 --- a/lib/git/remote.py +++ b/lib/git/remote.py @@ -238,16 +238,9 @@ class Remote(LazyMixin, Iterable): Returns Iterator yielding Remote objects of the given repository """ - # parse them using refs, as their query can be faster as it is - # purely based on the file system seen_remotes = set() - for ref in RemoteReference.iter_items(repo): - remote_name = ref.remote_name - if remote_name in seen_remotes: - continue - # END if remote done already - seen_remotes.add(remote_name) - yield Remote(repo, remote_name) + for name in repo.git.remote().splitlines(): + yield Remote(repo, name) # END for each ref @property diff --git a/test/git/test_remote.py b/test/git/test_remote.py index 6f43e163..152ef5ab 100644 --- a/test/git/test_remote.py +++ b/test/git/test_remote.py @@ -122,8 +122,6 @@ class TestRemote(TestBase): res = fetch_and_test(remote, tags=True) self.failUnlessRaises(IndexError, get_info, res, remote, str(rtag)) - self.fail("Test fetch with true remote side - plenty of possible output is ommitted right now") - def _test_push_and_pull(self,remote, rw_repo, remote_repo): # push our changes lhead = rw_repo.head @@ -151,9 +149,10 @@ class TestRemote(TestBase): remote.pull('master') @with_rw_and_rw_remote_repo('0.1.6') - def test_base(self, rw_repo, remote_repo): + def test_base(self, rw_repo, remote_repo, damon_handle): num_remotes = 0 remote_set = set() + for remote in rw_repo.remotes: num_remotes += 1 assert remote == remote @@ -221,6 +220,7 @@ class TestRemote(TestBase): arg_list = (new_name, "git@server:hello.git") remote = Remote.create(bare_rw_repo, *arg_list ) assert remote.name == "test_new_one" + assert remote in bare_rw_repo.remotes # create same one again self.failUnlessRaises(GitCommandError, Remote.create, bare_rw_repo, *arg_list) |