~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bundle/serializer/v4.py

  • Committer: Aaron Bentley
  • Date: 2007-07-27 13:53:29 UTC
  • mto: This revision was merged to the branch mainline in revision 2699.
  • Revision ID: abentley@panoramicfeedback.com-20070727135329-02ettz9f9g02keb5
Updates from review

Show diffs side-by-side

added added

removed removed

Lines of Context:
144
144
    body
145
145
    """
146
146
 
147
 
    def __init__(self, fileobj, memory_friendly=True):
 
147
    def __init__(self, fileobj, stream_input=True):
148
148
        """Constructor
149
149
 
150
150
        :param fileobj: a file containing a bzip-encoded container
151
 
        :param memory_friendly: If True, read the file in pieces.
152
 
            If False, decode the entire file into memory at once.
153
 
            (This is much faster)
 
151
        :param stream_input: If True, the BundleReader stream input rather than
 
152
            reading it all into memory at once.  Reading it into memory all at
 
153
            once is (currently) faster.
154
154
        """
155
155
        line = fileobj.readline()
156
156
        if line != '\n':
157
157
            fileobj.readline()
158
158
        self.patch_lines = []
159
 
        if memory_friendly:
 
159
        if stream_input:
160
160
            source_file = iterablefile.IterableFile(self.iter_decode(fileobj))
161
161
        else:
162
162
            source_file = StringIO(bz2.decompress(fileobj.read()))
392
392
    def install(self, repository):
393
393
        return self.install_revisions(repository)
394
394
 
395
 
    def install_revisions(self, repository, memory_friendly=True):
396
 
        """Install this bundle's revisions into the specified repository"""
 
395
    def install_revisions(self, repository, stream_input=True):
 
396
        """Install this bundle's revisions into the specified repository
 
397
 
 
398
        :param target_repo: The repository to install into
 
399
        :param stream_input: If True, will stream input rather than reading it
 
400
            all into memory at once.  Reading it into memory all at once is
 
401
            (currently) faster.
 
402
        """
397
403
        repository.lock_write()
398
404
        try:
399
 
            ri = RevisionInstaller(self.get_bundle_reader(memory_friendly),
 
405
            ri = RevisionInstaller(self.get_bundle_reader(stream_input),
400
406
                                   self._serializer, repository)
401
407
            return ri.install()
402
408
        finally:
409
415
        """
410
416
        return None, self.target, 'inapplicable'
411
417
 
412
 
    def get_bundle_reader(self, memory_friendly=True):
 
418
    def get_bundle_reader(self, stream_input=True):
 
419
        """Return a new BundleReader for the associated bundle
 
420
 
 
421
        :param stream_input: If True, the BundleReader stream input rather than
 
422
            reading it all into memory at once.  Reading it into memory all at
 
423
            once is (currently) faster.
 
424
        """
413
425
        self._fileobj.seek(0)
414
 
        return BundleReader(self._fileobj, memory_friendly)
 
426
        return BundleReader(self._fileobj, stream_input)
415
427
 
416
428
    def _get_real_revisions(self):
417
429
        if self.__real_revisions is None: