~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/versionedfile.py

  • Committer: Robert Collins
  • Date: 2007-09-10 03:37:19 UTC
  • mto: (2592.3.132 repository)
  • mto: This revision was merged to the branch mainline in revision 2817.
  • Revision ID: robertc@robertcollins.net-20070910033719-nqsmg72617f0tvyo
* The ``VersionedFile`` interface no longer protects against misuse when
  lines that are not lines, or are not strings are supplied. This saves
  nearly 30% of the minimum cost to store a version of a file.
  (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
86
86
 
87
87
        Must raise RevisionNotPresent if any of the given parents are
88
88
        not present in file history.
 
89
 
 
90
        :param lines: A list of lines. Each line must be a bytestring. And all
 
91
            of them except the last must be terminated with \n and contain no
 
92
            other \n's. The last line may either contain no \n's or a single
 
93
            terminated \n. If the lines list does meet this constraint the add
 
94
            routine may error or may succeed - but you will be unable to read
 
95
            the data back accurately. (Checking the lines have been split
 
96
            correctly is expensive and extermely unlikely to catch bugs so it
 
97
            is not done at runtime.)
89
98
        :param parent_texts: An optional dictionary containing the opaque 
90
 
             representations of some or all of the parents of 
91
 
             version_id to allow delta optimisations. 
92
 
             VERY IMPORTANT: the texts must be those returned
93
 
             by add_lines or data corruption can be caused.
 
99
            representations of some or all of the parents of version_id to
 
100
            allow delta optimisations.  VERY IMPORTANT: the texts must be those
 
101
            returned by add_lines or data corruption can be caused.
94
102
        :param left_matching_blocks: a hint about which areas are common
95
103
            between the text and its left-hand-parent.  The format is
96
104
            the SequenceMatcher.get_matching_blocks format.