53
53
_test_needs_features = [tests.GitCommandFeature]
56
builder = tests.GitBranchBuilder()
57
builder.set_file('a', 'text for a\n', False)
58
commit_handle = builder.commit('Joe Foo <joe@foo.com>', u'message')
59
mapping = builder.finish()
60
return mapping[commit_handle]
55
62
def test_open_existing(self):
56
63
GitRepo.init(self.test_dir)
64
71
repo = Repository.open('.')
65
72
self.assertIsInstance(repo._git, dulwich.repo.Repo)
74
def test_has_revision(self):
75
GitRepo.init(self.test_dir)
76
commit_id = self._do_commit()
77
repo = Repository.open('.')
78
self.assertFalse(repo.has_revision('foobar'))
79
revid = default_mapping.revision_id_foreign_to_bzr(commit_id)
80
self.assertTrue(repo.has_revision(revid))
82
def test_has_revisions(self):
83
GitRepo.init(self.test_dir)
84
commit_id = self._do_commit()
85
repo = Repository.open('.')
86
self.assertEquals(set(), repo.has_revisions(['foobar']))
87
revid = default_mapping.revision_id_foreign_to_bzr(commit_id)
88
self.assertEquals(set([revid]), repo.has_revisions(['foobar', revid]))
67
90
def test_get_revision(self):
68
91
# GitRepository.get_revision gives a Revision object.
70
93
# Create a git repository with a revision.
71
94
GitRepo.init(self.test_dir)
72
builder = tests.GitBranchBuilder()
73
builder.set_file('a', 'text for a\n', False)
74
commit_handle = builder.commit('Joe Foo <joe@foo.com>', u'message')
75
mapping = builder.finish()
76
commit_id = mapping[commit_handle]
95
commit_id = self._do_commit()
78
97
# Get the corresponding Revision object.
79
98
revid = default_mapping.revision_id_foreign_to_bzr(commit_id)