~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/repofmt/groupcompress_repo.py

Merge brisbane-core tip, resolve differences.
Finish making various get_record_stream() calls clean up refcycles
and memory consumption after yielding the record.

Show diffs side-by-side

added added

removed removed

Lines of Context:
258
258
                next_keys = set()
259
259
                def handle_internal_node(node):
260
260
                    for prefix, value in node._items.iteritems():
261
 
                        if not isinstance(value, tuple):
262
 
                            raise AssertionError("value is %s when a tuple"
263
 
                                " is expected" % (value.__class__))
264
261
                        # We don't want to request the same key twice, and we
265
262
                        # want to order it by the first time it is seen.
266
263
                        # Even further, we don't want to request a key which is
294
291
                            handle_internal_node(node)
295
292
                        elif parse_leaf_nodes:
296
293
                            handle_leaf_node(node)
297
 
                        # XXX: We don't walk the chk map to determine
298
 
                        #      referenced (file_id, revision_id) keys.
299
 
                        #      We don't do it yet because you really need to
300
 
                        #      filter out the ones that are present in the
301
 
                        #      parents of the rev just before the ones you are
302
 
                        #      copying, otherwise the filter is grabbing too
303
 
                        #      many keys...
304
294
                        counter[0] += 1
305
295
                        if pb is not None:
306
296
                            pb.update('chk node', counter[0], total_keys)