/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/fetch.py

  • Committer: Ian Clatworthy
  • Date: 2008-12-15 06:18:29 UTC
  • mfrom: (3905 +trunk)
  • mto: (3586.1.23 views-ui)
  • mto: This revision was merged to the branch mainline in revision 4030.
  • Revision ID: ian.clatworthy@canonical.com-20081215061829-c8qwa93g71u9fsh5
merge bzr.dev 3905

Show diffs side-by-side

added added

removed removed

Lines of Context:
81
81
        """Create a repo fetcher.
82
82
 
83
83
        :param find_ghosts: If True search the entire history for ghosts.
 
84
        :param _write_group_acquired_callable: Don't use; this parameter only
 
85
            exists to facilitate a hack done in InterPackRepo.fetch.  We would
 
86
            like to remove this parameter.
84
87
        """
85
88
        # result variables.
86
89
        self.failed_revisions = []
109
112
                try:
110
113
                    self.__fetch()
111
114
                except:
112
 
                    self.to_repository.abort_write_group()
 
115
                    self.to_repository.abort_write_group(suppress_errors=True)
113
116
                    raise
114
117
                else:
115
118
                    self.to_repository.commit_write_group()
180
183
                    from_texts = self.from_repository.texts
181
184
                    to_texts.insert_record_stream(from_texts.get_record_stream(
182
185
                        text_keys, self.to_repository._fetch_order,
183
 
                        self.to_repository._fetch_uses_deltas))
 
186
                        not self.to_repository._fetch_uses_deltas))
184
187
                    # Cause an error if a text occurs after we have done the
185
188
                    # copy.
186
189
                    text_keys = None
243
246
            to_weave.insert_record_stream(from_weave.get_record_stream(
244
247
                [(rev_id,) for rev_id in revs],
245
248
                self.to_repository._fetch_order,
246
 
                self.to_repository._fetch_uses_deltas))
 
249
                not self.to_repository._fetch_uses_deltas))
247
250
        finally:
248
251
            child_pb.finished()
249
252
 
250
253
    def _fetch_revision_texts(self, revs, pb):
 
254
        # fetch signatures first and then the revision texts
251
255
        # may need to be a InterRevisionStore call here.
252
256
        to_sf = self.to_repository.signatures
253
257
        from_sf = self.from_repository.signatures
255
259
        to_sf.insert_record_stream(filter_absent(from_sf.get_record_stream(
256
260
            [(rev_id,) for rev_id in revs],
257
261
            self.to_repository._fetch_order,
258
 
            self.to_repository._fetch_uses_deltas)))
 
262
            not self.to_repository._fetch_uses_deltas)))
259
263
        self._fetch_just_revision_texts(revs)
260
264
 
261
265
    def _fetch_just_revision_texts(self, version_ids):
262
266
        to_rf = self.to_repository.revisions
263
267
        from_rf = self.from_repository.revisions
 
268
        # If a revision has a delta, this is actually expanded inside the
 
269
        # insert_record_stream code now, which is an alternate fix for
 
270
        # bug #261339
264
271
        to_rf.insert_record_stream(from_rf.get_record_stream(
265
272
            [(rev_id,) for rev_id in version_ids],
266
273
            self.to_repository._fetch_order,
267
 
            self.to_repository._fetch_uses_deltas))
 
274
            not self.to_repository._fetch_uses_deltas))
268
275
 
269
276
    def _generate_root_texts(self, revs):
270
277
        """This will be called by __fetch between fetching weave texts and
380
387
                                      parents)
381
388
 
382
389
    def fetch_revisions(self, revision_ids):
 
390
        # TODO: should this batch them up rather than requesting 10,000
 
391
        #       revisions at once?
383
392
        for revision in self.source.get_revisions(revision_ids):
384
393
            self.target.add_revision(revision.revision_id, revision)
385
394