~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/revisiontree.py

(jelmer) Add HPSS call for ``Repository.iter_files_bytes``. (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
        raise NotImplementedError(self.get_file_revision)
66
66
 
67
67
    def get_file_text(self, file_id, path=None):
68
 
        _, content = list(self.iter_files_bytes([(file_id, None)]))[0]
69
 
        return ''.join(content)
 
68
        for (identifier, content) in self.iter_files_bytes([(file_id, None)]):
 
69
            ret = "".join(content)
 
70
        return ret
70
71
 
71
72
    def get_file(self, file_id, path=None):
72
73
        return StringIO(self.get_file_text(file_id))
215
216
    def iter_files_bytes(self, desired_files):
216
217
        """See Tree.iter_files_bytes.
217
218
 
218
 
        This version is implemented on top of Repository.extract_files_bytes"""
 
219
        This version is implemented on top of Repository.iter_files_bytes"""
219
220
        repo_desired_files = [(f, self.get_file_revision(f), i)
220
221
                              for f, i in desired_files]
221
222
        try:
222
223
            for result in self._repository.iter_files_bytes(repo_desired_files):
223
224
                yield result
224
225
        except errors.RevisionNotPresent, e:
225
 
            raise errors.NoSuchFile(e.revision_id)
 
226
            raise errors.NoSuchFile(e.file_id)
226
227
 
227
228
    def annotate_iter(self, file_id,
228
229
                      default_revision=revision.CURRENT_REVISION):