~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/revfile.py

  • Committer: mbp at sourcefrog
  • Date: 2005-04-09 05:20:25 UTC
  • Revision ID: mbp@sourcefrog.net-20050409052024-5fa0df720b8c08e3e87c7870
Revfile: don't store deltas if they'd be larger than just storing the whole text

Show diffs side-by-side

added added

removed removed

Lines of Context:
203
203
        self._check_index(base)
204
204
        base_text = self.get(base)
205
205
        data = mdiff.bdiff(base_text, text)
206
 
        return self._add_common(text_sha, data, base)
 
206
        
 
207
        # If the delta is larger than the text, we might as well just
 
208
        # store the text.  (OK, the delta might be more compressible,
 
209
        # but the overhead of applying it probably still makes it
 
210
        # bad.)
 
211
        if len(data) >= len(text):
 
212
            return self._add_full_text(text, text_sha)
 
213
        else:
 
214
            return self._add_common(text_sha, data, base)
207
215
 
208
216
 
209
217
    def add(self, text, base=_NO_RECORD):