Part of bzrlib.repofmt.knitpack_repo View In Hierarchy
Known subclasses: bzrlib.repofmt.knitpack_repo.KnitReconcilePacker, bzrlib.repofmt.knitpack_repo.OptimisingKnitPacker
Method | __init__ | Create a Packer. |
Method | _pack_map_and_index_list | Convert a list of packs to an index pack map and index list. |
Method | _index_contents | Get an iterable of the index contents from a pack_map. |
Method | _copy_nodes | Copy knit nodes between packs with no graph references. |
Method | _do_copy_nodes | Undocumented |
Method | _copy_nodes_graph | Copy knit nodes between packs. |
Method | _do_copy_nodes_graph | Undocumented |
Method | _process_inventory_lines | Use up the inv_lines generator and setup a text key filter. |
Method | _copy_inventory_texts | Copy the inventory texts to the new pack. |
Method | _update_pack_order | Determine how we want our packs to be ordered. |
Method | _copy_revision_texts | Copy revision data to the new pack. |
Method | _get_text_nodes | Undocumented |
Method | _copy_text_texts | Undocumented |
Method | _create_pack_from_packs | Undocumented |
Method | _least_readv_node_readv | Generate request groups for nodes using the least readv's. |
Method | _revision_node_readv | Return the total revisions and the readv's to issue. |
Inherited from Packer:
Method | pack | Create a new pack by reading data from other packs. |
Method | open_pack | Open a pack for the pack we are creating. |
Method | _log_copied_texts | Undocumented |
Method | _use_pack | Return True if new_pack should be used. |
Parameters | pack_collection | A RepositoryPackCollection object where the new pack is being written to. |
packs | The packs to combine. | |
suffix | The suffix to use on the temporary files for the pack. | |
revision_ids | Revision ids to limit the pack to. | |
reload_func | A function to call if a pack file/index goes missing. The side effect of calling this function should be to update self.packs. See also AggregateIndex |
Parameters | index_attribute | The attribute that the desired index is found on. |
Returns | A tuple (map, list) where map contains the dict from index:pack_tuple, and list contains the indices in the preferred access order. |
Parameters | indices | The list of indices to query |
key_filter | An optional filter to limit the keys returned. |
Parameters | output_lines | Output full texts of copied items. |
Parameters | output_lines | Return lines present in the copied data as an iterator of line,version_id. |
self._revision_keys is used to determine what inventories to copy.
Sets self._text_filter appropriately.
This changes the sort order of the self.packs list so that packs unused by 'entries' will be at the end of the list, so that future requests can avoid probing them. Used packs will be at the front of the self.packs list, in the order of their first use in 'entries'.
Parameters | entries | A list of (index, ...) tuples |
index_to_pack_map | A mapping from index objects to pack objects. |
Parameters | nodes | An iterable of graph index nodes. |
Returns | Total node count and an iterator of the data needed to perform readvs to obtain the data for nodes. Each item yielded by the iterator is a tuple with: index, readv_vector, node_vector. readv_vector is a list ready to hand to the transport readv method, and node_vector is a list of (key, eol_flag, references) for the node retrieved by the matching readv_vector. |
Parameters | revision_nodes | The revision index contents for the packs being incorporated into the new pack. |
Returns | As per _least_readv_node_readv. |