~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/versionedfile.py

  • Committer: Aaron Bentley
  • Date: 2007-06-23 13:20:58 UTC
  • mto: (2520.5.2 bzr.mpbundle)
  • mto: This revision was merged to the branch mainline in revision 2631.
  • Revision ID: aaron.bentley@utoronto.ca-20070623132058-9bgdk6m4jxre0c5w
Handle \r terminated lines in Weaves properly

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
from bzrlib.transport.memory import MemoryTransport
36
36
""")
37
37
 
 
38
from cStringIO import StringIO
 
39
 
38
40
from bzrlib.inter import InterObject
39
41
from bzrlib.textmerge import TextMerge
40
42
from bzrlib.symbol_versioning import (deprecated_function,
272
274
        for version_id in version_ids:
273
275
            knit_versions.add(version_id)
274
276
            knit_versions.update(self.get_parents(version_id))
275
 
        lines = dict(zip(knit_versions, self._get_line_list(knit_versions)))
 
277
        lines = dict(zip(knit_versions,
 
278
            self._get_lf_split_line_list(knit_versions)))
276
279
        diffs = []
277
280
        for version_id in version_ids:
278
281
            target = lines[version_id]
294
297
        for version, parents, expected_sha1, mpdiff in records:
295
298
            mpvf = multiparent.MultiMemoryVersionedFile()
296
299
            needed_parents = [p for p in parents if not mpvf.has_version(p)]
297
 
            parent_lines = self._get_line_list(needed_parents)
 
300
            parent_lines = self._get_lf_split_line_list(needed_parents)
298
301
            for parent_id, lines in zip(needed_parents, parent_lines):
299
302
                mpvf.add_version(lines, parent_id, [])
300
303
            mpvf.add_diff(mpdiff, version, parents)
348
351
        """
349
352
        raise NotImplementedError(self.get_lines)
350
353
 
351
 
    def _get_line_list(self, version_ids):
352
 
        return [t.splitlines(True) for t in self.get_texts(version_ids)]
 
354
    def _get_lf_split_line_list(self, version_ids):
 
355
        return [StringIO(t).readlines() for t in self.get_texts(version_ids)]
353
356
 
354
357
    def get_ancestry(self, version_ids, topo_sorted=True):
355
358
        """Return a list of all ancestors of given version(s). This