~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/fetch.py

  • Committer: Martin Pool
  • Date: 2006-06-20 07:55:43 UTC
  • mfrom: (1798 +trunk)
  • mto: This revision was merged to the branch mainline in revision 1799.
  • Revision ID: mbp@sourcefrog.net-20060620075543-b10f6575d4a4fa32
[merge] bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
 
34
34
import bzrlib
35
35
import bzrlib.errors as errors
36
 
from bzrlib.errors import (InstallFailed, NoSuchRevision,
37
 
                           MissingText)
 
36
from bzrlib.errors import (InstallFailed,
 
37
                           )
38
38
from bzrlib.trace import mutter
39
 
from bzrlib.progress import ProgressBar, ProgressPhase
40
 
from bzrlib.reconcile import RepoReconciler
 
39
from bzrlib.progress import ProgressPhase
41
40
from bzrlib.revision import NULL_REVISION
42
 
from bzrlib.symbol_versioning import *
 
41
from bzrlib.symbol_versioning import (deprecated_function,
 
42
        deprecated_method,
 
43
        zero_eight,
 
44
        )
43
45
 
44
46
 
45
47
# TODO: Avoid repeatedly opening weaves so many times.
124
126
        self.from_control = self.from_repository.control_weaves
125
127
        self.count_total = 0
126
128
        self.file_ids_names = {}
127
 
        pp = ProgressPhase('fetch phase', 4, self.pb)
 
129
        pp = ProgressPhase('Fetch phase', 4, self.pb)
128
130
        try:
 
131
            pp.next_phase()
129
132
            revs = self._revids_to_fetch()
130
133
            # something to do ?
131
134
            if revs:
169
172
                    self.from_repository.get_transaction())
170
173
                # we fetch all the texts, because texts do
171
174
                # not reference anything, and its cheap enough
172
 
                to_weave.join(from_weave, version_ids=required_versions)
 
175
                to_weave.join(from_weave, version_ids=required_versions) 
 
176
                # we don't need *all* of this data anymore, but we dont know
 
177
                # what we do. This cache clearing will result in a new read 
 
178
                # of the knit data when we do the checkout, but probably we
 
179
                # want to emit the needed data on the fly rather than at the
 
180
                # end anyhow.
 
181
                # the from weave should know not to cache data being joined,
 
182
                # but its ok to ask it to clear.
 
183
                from_weave.clear_cache()
 
184
                to_weave.clear_cache()
173
185
        finally:
174
186
            texts_pb.finished()
175
187
 
182
194
    
183
195
            child_pb = bzrlib.ui.ui_factory.nested_progress_bar()
184
196
            try:
185
 
                # just merge, this is optimisable and its means we dont
 
197
                # just merge, this is optimisable and its means we don't
186
198
                # copy unreferenced data such as not-needed inventories.
187
199
                pb.update("fetch inventory", 1, 3)
188
200
                from_weave = self.from_repository.get_inventory_weave()
264
276
 
265
277
 
266
278
class Fetcher(object):
267
 
    """Backwards compatability glue for branch.fetch()."""
 
279
    """Backwards compatibility glue for branch.fetch()."""
268
280
 
269
281
    @deprecated_method(zero_eight)
270
282
    def __init__(self, to_branch, from_branch, last_revision=None, pb=None):