~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/fetch.py

  • Committer: Robert Collins
  • Date: 2005-10-05 10:02:53 UTC
  • Revision ID: robertc@robertcollins.net-20051005100252-c0ac69ff83d3ffa2
remove some of the upgrade code that was duplicated with inventory_entry, and give all inventory entries a weave

Show diffs side-by-side

added added

removed removed

Lines of Context:
82
82
 
83
83
    count_copied -- number of revisions copied
84
84
 
85
 
    count_texts -- number of file texts copied
 
85
    count_weaves -- number of file weaves copied
86
86
    """
87
87
    def __init__(self, to_branch, from_branch, last_revision=None, pb=None):
88
88
        if to_branch == from_branch:
96
96
        self.failed_revisions = []
97
97
        self.count_copied = 0
98
98
        self.count_total = 0
99
 
        self.count_texts = 0
 
99
        self.count_weaves = 0
100
100
        self.copied_file_ids = set()
101
101
        if pb is None:
102
102
            self.pb = bzrlib.ui.ui_factory.progress_bar()
212
212
        # in memory until everything's done?  But this way is nicer
213
213
        # if it's interrupted.
214
214
        for path, ie in inv.iter_entries():
215
 
            if not ie.has_text():
216
 
                continue
217
215
            if ie.revision != rev_id:
218
216
                continue
219
217
            mutter('%s {%s} is changed in this revision',
220
218
                   path, ie.file_id)
221
 
            self._copy_one_text(rev_id, ie.file_id)
222
 
 
223
 
 
224
 
    def _copy_one_text(self, rev_id, file_id):
225
 
        """Copy one file text."""
 
219
            self._copy_one_weave(rev_id, ie.file_id)
 
220
 
 
221
 
 
222
    def _copy_one_weave(self, rev_id, file_id):
 
223
        """Copy one file weave."""
226
224
        mutter('copy file {%s} modified in {%s}', file_id, rev_id)
227
225
        if file_id in self.copied_file_ids:
228
226
            mutter('file {%s} already copied', file_id)
231
229
        to_weave = self.to_weaves.get_weave_or_empty(file_id)
232
230
        to_weave.join(from_weave)
233
231
        self.to_weaves.put_weave(file_id, to_weave)
234
 
        self.count_texts += 1
 
232
        self.count_weaves += 1
235
233
        self.copied_file_ids.add(file_id)
236
234
        mutter('copied file {%s}', file_id)
237
235