90
92
def make_working_trees(self):
93
def revision_graph_can_have_wrong_parents(self):
96
95
def dfetch(self, source, stop_revision):
97
96
interrepo = repository.InterRepository.get(source, self)
98
97
return interrepo.dfetch(stop_revision)
113
112
self.base = gitdir.root_transport.base
114
113
self._git = gitdir._git
115
114
self.texts = None
116
self.signatures = None
117
self.revisions = GitRevisions(self._git.object_store)
118
self.inventories = None
115
self.signatures = versionedfiles.VirtualSignatureTexts(self)
116
self.revisions = versionedfiles.VirtualRevisionTexts(self)
117
self.inventories = versionedfiles.VirtualInventoryTexts(self)
119
118
self.texts = GitTexts(self)
121
120
def all_revision_ids(self):
232
231
class GitRevisionTree(revisiontree.RevisionTree):
234
233
def __init__(self, repository, revision_id):
234
self._repository = repository
235
235
self._revision_id = revision_id
236
self._repository = repository
237
store = repository._git.object_store
238
236
assert isinstance(revision_id, str)
239
237
git_id, self.mapping = repository.lookup_git_revid(revision_id)
241
commit = store[git_id]
239
commit = repository._git.commit(git_id)
242
240
except KeyError, r:
243
241
raise errors.NoSuchRevision(repository, revision_id)
244
242
self.tree = commit.tree
245
self._inventory = GitInventory(self.tree, self.mapping, store,
243
self._inventory = GitInventory(self.tree, self.mapping, repository._git.object_store, revision_id)
248
245
def get_revision_id(self):
249
246
return self._revision_id
251
def get_file_text(self, file_id, path=None):
253
entry = self._inventory._get_ie(path)
255
entry = self._inventory[file_id]
248
def get_file_text(self, file_id):
249
entry = self._inventory[file_id]
256
250
if entry.kind == 'directory': return ""
257
251
return entry.object.data