/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: Aaron Bentley
  • Date: 2008-01-16 03:57:26 UTC
  • mfrom: (3186 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3187.
  • Revision ID: aaron@aaronbentley.com-20080116035726-89yctl685d41kc7j
Merge from bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
75
75
    This should not be used directly, it's essential a object to encapsulate
76
76
    the logic in InterRepository.fetch().
77
77
    """
78
 
    def __init__(self, to_repository, from_repository, last_revision=None, pb=None):
 
78
 
 
79
    def __init__(self, to_repository, from_repository, last_revision=None, pb=None,
 
80
        find_ghosts=True):
 
81
        """Create a repo fetcher.
 
82
 
 
83
        :param find_ghosts: If True search the entire history for ghosts.
 
84
        """
79
85
        # result variables.
80
86
        self.failed_revisions = []
81
87
        self.count_copied = 0
88
94
        self.from_repository = from_repository
89
95
        # must not mutate self._last_revision as its potentially a shared instance
90
96
        self._last_revision = last_revision
 
97
        self.find_ghosts = find_ghosts
91
98
        if pb is None:
92
99
            self.pb = bzrlib.ui.ui_factory.nested_progress_bar()
93
100
            self.nested_pb = self.pb
196
203
            # XXX: this gets the full graph on both sides, and will make sure
197
204
            # that ghosts are filled whether or not you care about them.
198
205
            return self.to_repository.missing_revision_ids(self.from_repository,
199
 
                                                           self._last_revision)
 
206
                self._last_revision, find_ghosts=self.find_ghosts)
200
207
        except errors.NoSuchRevision:
201
208
            raise InstallFailed([self._last_revision])
202
209
 
329
336
 
330
337
        :param revs: A list of revision ids
331
338
        """
 
339
        # In case that revs is not a list.
 
340
        revs = list(revs)
332
341
        while revs:
333
342
            for tree in self.source.revision_trees(revs[:100]):
334
343
                if tree.inventory.revision_id is None:
362
371
        stored in the target (reserializing it in a different format).
363
372
        :param revs: The revisions to include
364
373
        """
365
 
        inventory_weave = self.source.get_inventory_weave()
366
374
        for tree in self.iter_rev_trees(revs):
367
 
            parents = inventory_weave.get_parents(tree.get_revision_id())
 
375
            parents = tree.get_parent_ids()
368
376
            self.target.add_inventory(tree.get_revision_id(), tree.inventory,
369
377
                                      parents)
370
378
 
372
380
class Model1toKnit2Fetcher(GenericRepoFetcher):
373
381
    """Fetch from a Model1 repository into a Knit2 repository
374
382
    """
375
 
    def __init__(self, to_repository, from_repository, last_revision=None, 
376
 
                 pb=None):
 
383
    def __init__(self, to_repository, from_repository, last_revision=None,
 
384
                 pb=None, find_ghosts=True):
377
385
        self.helper = Inter1and2Helper(from_repository, to_repository)
378
386
        GenericRepoFetcher.__init__(self, to_repository, from_repository,
379
 
                                    last_revision, pb)
 
387
            last_revision, pb, find_ghosts)
380
388
 
381
389
    def _generate_root_texts(self, revs):
382
390
        self.helper.generate_root_texts(revs)
389
397
    """Fetch from a Knit1 repository into a Knit2 repository"""
390
398
 
391
399
    def __init__(self, to_repository, from_repository, last_revision=None, 
392
 
                 pb=None):
 
400
                 pb=None, find_ghosts=True):
393
401
        self.helper = Inter1and2Helper(from_repository, to_repository)
394
402
        KnitRepoFetcher.__init__(self, to_repository, from_repository,
395
 
                                 last_revision, pb)
 
403
            last_revision, pb, find_ghosts)
396
404
 
397
405
    def _generate_root_texts(self, revs):
398
406
        self.helper.generate_root_texts(revs)