diff options
-rw-r--r-- | lib/git/__init__.py | 1 | ||||
-rw-r--r-- | lib/git/remote.py | 5 | ||||
-rw-r--r-- | test/git/test_remote.py | 19 |
3 files changed, 22 insertions, 3 deletions
diff --git a/lib/git/__init__.py b/lib/git/__init__.py index 041d69f7..45364b88 100644 --- a/lib/git/__init__.py +++ b/lib/git/__init__.py @@ -20,6 +20,7 @@ from git.repo import Repo from git.stats import Stats from git.utils import dashify from git.utils import touch +from git.remote import Remote __all__ = [ name for name, obj in locals().items() diff --git a/lib/git/remote.py b/lib/git/remote.py index 842ad2f3..24efd900 100644 --- a/lib/git/remote.py +++ b/lib/git/remote.py @@ -151,7 +151,7 @@ class Remote(LazyMixin, Iterable): Raise GitCommandError in case an origin with that name already exists """ - self.repo.git.remote( "add", name, url, **kwargs ) + repo.git.remote( "add", name, url, **kwargs ) return cls(repo, name) # add is an alias @@ -164,6 +164,9 @@ class Remote(LazyMixin, Iterable): """ repo.git.remote("rm", name) + # alias + rm = remove + def rename(self, new_name): """ Rename self to the given new_name diff --git a/test/git/test_remote.py b/test/git/test_remote.py index ac282908..2446710f 100644 --- a/test/git/test_remote.py +++ b/test/git/test_remote.py @@ -49,7 +49,7 @@ class TestRemote(TestCase): assert writer.get(opt) == val del(writer) assert getattr(remote, opt) == val - # END + # END for each default option key # RENAME other_name = "totally_other_name" @@ -69,6 +69,21 @@ class TestRemote(TestCase): def test_creation_and_removal(self): - self.fail( "Test remote creation/removal" ) + new_name = "test_new_one" + arg_list = (new_name, "git@server:hello.git") + remote = Remote.create(self.repo, *arg_list ) + assert remote.name == "test_new_one" + + # create same one again + self.failUnlessRaises(GitCommandError, Remote.create, self.repo, *arg_list) + + Remote.remove(self.repo, new_name) + + for remote in self.repo.remotes: + if remote.name == new_name: + raise AssertionError("Remote removal failed") + # END if deleted remote matches existing remote's name + # END for each remote + |