~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/versionedfile.py

  • Committer: John Arbash Meinel
  • Date: 2009-06-04 21:09:51 UTC
  • mto: This revision was merged to the branch mainline in revision 4469.
  • Revision ID: john@arbash-meinel.com-20090604210951-5mxlt1h8p4xdh6pl
Switch the api from VF.add_text to VF._add_text and trim some extra 'features'.

Commit won't be using parent_texts or left_matching_blocks or check_content.
And for something like fast-import, it will be tuned for GC repositories anyway,
and there we don't need parent_texts anyway.

Show diffs side-by-side

added added

removed removed

Lines of Context:
829
829
        """
830
830
        raise NotImplementedError(self.add_lines)
831
831
 
832
 
    def add_text(self, key, parents, text, parent_texts=None,
833
 
                 nostore_sha=None, random_id=False, check_content=True):
 
832
    def _add_text(self, key, parents, text, nostore_sha=None, random_id=False):
 
833
        """Add a text to the store.
 
834
 
 
835
        This is a private function for use by CommitBuilder.
 
836
 
 
837
        :param key: The key tuple of the text to add. If the last element is
 
838
            None, a CHK string will be generated during the addition.
 
839
        :param parents: The parents key tuples of the text to add.
 
840
        :param text: A string containing the text to be committed.
 
841
        :param nostore_sha: Raise ExistingContent and do not add the lines to
 
842
            the versioned file if the digest of the lines matches this.
 
843
        :param random_id: If True a random id has been selected rather than
 
844
            an id determined by some deterministic process such as a converter
 
845
            from a foreign VCS. When True the backend may choose not to check
 
846
            for uniqueness of the resulting key within the versioned file, so
 
847
            this should only be done when the result is expected to be unique
 
848
            anyway.
 
849
        :param check_content: If True, the lines supplied are verified to be
 
850
            bytestrings that are correctly formed lines.
 
851
        :return: The text sha1, the number of bytes in the text, and an opaque
 
852
                 representation of the inserted version which can be provided
 
853
                 back to future _add_text calls in the parent_texts dictionary.
 
854
        """
 
855
        # The default implementation just thunks over to .add_lines(),
 
856
        # inefficient, but it works.
834
857
        return self.add_lines(key, parents, osutils.split_lines(text),
835
 
                              parent_texts=parent_texts,
836
858
                              nostore_sha=nostore_sha,
837
859
                              random_id=random_id,
838
 
                              check_content=check_content)
 
860
                              check_content=True)
839
861
 
840
862
    def add_mpdiffs(self, records):
841
863
        """Add mpdiffs to this VersionedFile.