/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 breezy/bzr/groupcompress.py

Support user.signingkey configuration variable in .git/config.

Merged from https://code.launchpad.net/~jelmer/brz/local-git-key/+merge/381000

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
"""Core compression logic for compressing streams of related files."""
18
18
 
 
19
from __future__ import absolute_import
 
20
 
19
21
import time
20
22
import zlib
21
23
 
44
46
    )
45
47
from .btree_index import BTreeBuilder
46
48
from ..lru_cache import LRUSizeCache
 
49
from ..sixish import (
 
50
    indexbytes,
 
51
    map,
 
52
    range,
 
53
    viewitems,
 
54
    )
47
55
from .versionedfile import (
48
56
    _KeyRefs,
49
57
    adapter_registry,
72
80
    # groupcompress ordering is approximately reverse topological,
73
81
    # properly grouped by file-id.
74
82
    per_prefix_map = {}
75
 
    for key, value in parent_map.items():
 
83
    for key, value in viewitems(parent_map):
76
84
        if isinstance(key, bytes) or len(key) == 1:
77
85
            prefix = b''
78
86
        else:
384
392
                result.append((b'd', content_len, decomp_len, delta_info))
385
393
                measured_len = 0
386
394
                while delta_pos < content_len:
387
 
                    c = delta_content[delta_pos]
 
395
                    c = indexbytes(delta_content, delta_pos)
388
396
                    delta_pos += 1
389
397
                    if c & 0x80:  # Copy
390
398
                        (offset, length,
1624
1632
            # start with one key, recurse to its oldest parent, then grab
1625
1633
            # everything in the same group, etc.
1626
1634
            parent_map = dict((key, details[2]) for key, details in
1627
 
                              locations.items())
 
1635
                              viewitems(locations))
1628
1636
            for key in unadded_keys:
1629
1637
                parent_map[key] = self._unadded_refs[key]
1630
1638
            parent_map.update(fallback_parent_map)
2082
2090
        if changed:
2083
2091
            result = []
2084
2092
            if self._parents:
2085
 
                for key, (value, node_refs) in keys.items():
 
2093
                for key, (value, node_refs) in viewitems(keys):
2086
2094
                    result.append((key, value, node_refs))
2087
2095
            else:
2088
 
                for key, (value, node_refs) in keys.items():
 
2096
                for key, (value, node_refs) in viewitems(keys):
2089
2097
                    result.append((key, value))
2090
2098
            records = result
2091
2099
        key_dependencies = self._key_dependencies