/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 fetch.py

Use ChunkedContentFactory when possible.

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
    topo_sort,
54
54
    )
55
55
from bzrlib.versionedfile import (
56
 
    FulltextContentFactory,
 
56
    ChunkedContentFactory,
57
57
    )
58
58
 
59
59
from bzrlib.plugins.git.mapping import (
149
149
        assert file_id is not None
150
150
        assert ie.revision is not None
151
151
        if ie.kind == 'symlink':
152
 
            data = ''
 
152
            chunks = []
153
153
        else: 
154
 
            data = blob.data
155
 
        texts.insert_record_stream([FulltextContentFactory((file_id, ie.revision), tuple(parent_keys), ie.text_sha1, data)])
 
154
            try:
 
155
                chunks = blob.chunked
 
156
            except AttributeError: # older version of dulwich
 
157
                chunks = [blob.data]
 
158
        texts.insert_record_stream([ChunkedContentFactory((file_id, ie.revision), tuple(parent_keys), ie.text_sha1, chunks)])
156
159
    shamap = { ie.file_id: hexsha }
157
160
    invdelta = []
158
161
    if base_ie is not None:
184
187
            base_ie.reference_revision == ie.reference_revision):
185
188
            ie.revision = base_ie.revision
186
189
    ie.reference_revision = mapping.revision_id_foreign_to_bzr(hexsha)
187
 
    texts.insert_record_stream([FulltextContentFactory((file_id, ie.revision), (), None, "")])
 
190
    texts.insert_record_stream([ChunkedContentFactory((file_id, ie.revision), (), None, [])])
188
191
    invdelta = [(oldpath, path, file_id, ie)]
189
192
    return invdelta, {}, {}
190
193
 
220
223
    if base_ie is None:
221
224
        # Newly appeared here
222
225
        ie.revision = revision_id
223
 
        texts.insert_record_stream([FulltextContentFactory((file_id, ie.revision), (), None, "")])
 
226
        texts.insert_record_stream([ChunkedContentFactory((file_id, ie.revision), (), None, [])])
224
227
        invdelta.append((None, path, file_id, ie))
225
228
    else:
226
229
        # See if this has changed at all
234
237
                return [], {}, []
235
238
        if base_ie.kind != "directory":
236
239
            ie.revision = revision_id
237
 
            texts.insert_record_stream([FulltextContentFactory((ie.file_id, ie.revision), (), None, "")])
 
240
            texts.insert_record_stream([ChunkedContentFactory((ie.file_id, ie.revision), (), None, [])])
238
241
            invdelta.append((base_inv.id2path(ie.file_id), path, ie.file_id, ie))
239
242
    if base_ie is not None and base_ie.kind == "directory":
240
243
        base_children = base_ie.children