~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tree.py

  • Committer: Martin Pool
  • Date: 2005-09-22 06:54:01 UTC
  • Revision ID: mbp@sourcefrog.net-20050922065401-6694b0f910701fca
- try to avoid redundant conversion of strings when retrieving from weaves

Show diffs side-by-side

added added

removed removed

Lines of Context:
129
129
 
130
130
    def get_weave(self, file_id):
131
131
        return self._weave_store.get_weave(file_id)
 
132
 
 
133
 
 
134
    def get_file_lines(self, file_id):
 
135
        ie = self._inventory[file_id]
 
136
        weave = self.get_weave(file_id)
 
137
        return weave.get(ie.text_version)
132
138
        
133
139
 
134
140
    def get_file_text(self, file_id):
135
 
        ie = self._inventory[file_id]
136
 
        weave = self.get_weave(file_id)
137
 
        content = weave.get_text(ie.text_version)
138
 
        if len(content) != ie.text_size:
139
 
            raise BzrCheckError('mismatched size on revision %s of file %s: '
140
 
                                '%d vs %d bytes'
141
 
                                % (self._revision_id, file_id, len(content),
142
 
                                   ie.text_size))
143
 
        return content
 
141
        return ''.join(self.get_file_lines(file_id))
 
142
 
144
143
 
145
144
    def get_file(self, file_id):
146
145
        return StringIO(self.get_file_text(file_id))