~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/versionedfile.py

  • Committer: Martin Pool
  • Date: 2006-06-20 03:30:14 UTC
  • mfrom: (1793 +trunk)
  • mto: This revision was merged to the branch mainline in revision 1797.
  • Revision ID: mbp@sourcefrog.net-20060620033014-e19ce470e2ce6561
[merge] bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
252
252
        return ''.join(self.get_lines(version_id))
253
253
    get_string = get_text
254
254
 
 
255
    def get_texts(self, version_ids):
 
256
        """Return the texts of listed versions as a list of strings.
 
257
 
 
258
        Raises RevisionNotPresent if version is not present in
 
259
        file history.
 
260
        """
 
261
        return [''.join(self.get_lines(v)) for v in version_ids]
 
262
 
255
263
    def get_lines(self, version_id):
256
264
        """Return version contents as a sequence of lines.
257
265
 
287
295
        
288
296
        Ghosts are not listed or referenced in the graph.
289
297
        :param version_ids: Versions to select.
290
 
                            None means retreive all versions.
 
298
                            None means retrieve all versions.
291
299
        """
292
300
        result = {}
293
301
        if version_ids is None:
388
396
        specific version marker at this point. The api may be changed
389
397
        during development to include the version that the versioned file
390
398
        thinks is relevant, but given that such hints are just guesses,
391
 
        its better not to have it if we dont need it.
 
399
        its better not to have it if we don't need it.
392
400
 
393
401
        NOTES: Lines are normalised: they will all have \n terminators.
394
402
               Lines are returned in arbitrary order.
483
491
       
484
492
        # We previously considered either 'unchanged' or 'killed-both' lines
485
493
        # to be possible places to resynchronize.  However, assuming agreement
486
 
        # on killed-both lines may be too agressive. -- mbp 20060324
 
494
        # on killed-both lines may be too aggressive. -- mbp 20060324
487
495
        for state, line in self.plan:
488
496
            if state == 'unchanged':
489
497
                # resync and flush queued conflicts changes if any
638
646
class InterVersionedFileTestProviderAdapter(object):
639
647
    """A tool to generate a suite testing multiple inter versioned-file classes.
640
648
 
641
 
    This is done by copying the test once for each interversionedfile provider
 
649
    This is done by copying the test once for each InterVersionedFile provider
642
650
    and injecting the transport_server, transport_readonly_server,
643
651
    versionedfile_factory and versionedfile_factory_to classes into each copy.
644
652
    Each copy is also given a new id() to make it easy to identify.