~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/knit.py

  • Committer: Robert Collins
  • Date: 2008-04-09 00:34:54 UTC
  • mto: This revision was merged to the branch mainline in revision 3350.
  • Revision ID: robertc@robertcollins.net-20080409003454-x19fm1n0o2govzh6
 * ``VersionedFile.annotate_iter`` is deprecated. While in principal this
   allows lower memory use, all users of annotations wanted full file 
   annotations, and there is no storage format suitable for incremental
   line-by-line annotation. (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
144
144
    def __init__(self):
145
145
        self._should_strip_eol = False
146
146
 
147
 
    def annotate(self):
148
 
        """Return a list of (origin, text) tuples."""
149
 
        return list(self.annotate_iter())
150
 
 
151
147
    def apply_delta(self, delta, new_version_id):
152
148
        """Apply delta to this object to become new_version_id."""
153
149
        raise NotImplementedError(self.apply_delta)
206
202
        KnitContent.__init__(self)
207
203
        self._lines = lines
208
204
 
209
 
    def annotate_iter(self):
210
 
        """Yield tuples of (origin, text) for each content line."""
211
 
        return iter(self._lines)
 
205
    def annotate(self):
 
206
        """Return a list of (origin, text) for each content line."""
 
207
        return list(self._lines)
212
208
 
213
209
    def apply_delta(self, delta, new_version_id):
214
210
        """Apply delta to this object to become new_version_id."""
256
252
        self._lines = lines
257
253
        self._version_id = version_id
258
254
 
259
 
    def annotate_iter(self):
260
 
        """Yield tuples of (origin, text) for each content line."""
261
 
        for line in self._lines:
262
 
            yield self._version_id, line
 
255
    def annotate(self):
 
256
        """Return a list of (origin, text) for each content line."""
 
257
        return [(self._version_id, line) for line in self._lines]
263
258
 
264
259
    def apply_delta(self, delta, new_version_id):
265
260
        """Apply delta to this object to become new_version_id."""
427
422
                       for origin, text in lines)
428
423
        return out
429
424
 
430
 
    def annotate_iter(self, knit, version_id):
 
425
    def annotate(self, knit, version_id):
431
426
        content = knit._get_content(version_id)
432
 
        return content.annotate_iter()
 
427
        return content.annotate()
433
428
 
434
429
 
435
430
class KnitPlainFactory(_KnitFactory):
489
484
            out.extend(lines)
490
485
        return out
491
486
 
492
 
    def annotate_iter(self, knit, version_id):
 
487
    def annotate(self, knit, version_id):
493
488
        annotator = _KnitAnnotator(knit)
494
 
        return iter(annotator.annotate(version_id))
 
489
        return annotator.annotate(version_id)
495
490
 
496
491
 
497
492
def make_empty_knit(transport, relpath):
1240
1235
 
1241
1236
    __len__ = num_versions
1242
1237
 
1243
 
    def annotate_iter(self, version_id):
1244
 
        """See VersionedFile.annotate_iter."""
1245
 
        return self.factory.annotate_iter(self, version_id)
 
1238
    def annotate(self, version_id):
 
1239
        """See VersionedFile.annotate."""
 
1240
        return self.factory.annotate(self, version_id)
1246
1241
 
1247
1242
    def get_parent_map(self, version_ids):
1248
1243
        """See VersionedFile.get_parent_map."""