1106
1106
tree_path_ids = dict((k.encode('utf-8'), v)
1107
1107
for k, v in viewitems(self._tree_path_ids))
1109
'_id_number': self._id_number,
1110
'_new_name': new_name,
1111
'_new_parent': self._new_parent,
1112
'_new_executability': new_executability,
1113
'_new_id': self._new_id,
1114
'_tree_path_ids': tree_path_ids,
1115
'_removed_id': list(self._removed_id),
1116
'_removed_contents': list(self._removed_contents),
1117
'_non_present_ids': self._non_present_ids,
1109
b'_id_number': self._id_number,
1110
b'_new_name': new_name,
1111
b'_new_parent': self._new_parent,
1112
b'_new_executability': new_executability,
1113
b'_new_id': self._new_id,
1114
b'_tree_path_ids': tree_path_ids,
1115
b'_removed_id': list(self._removed_id),
1116
b'_removed_contents': list(self._removed_contents),
1117
b'_non_present_ids': self._non_present_ids,
1119
1119
yield serializer.bytes_record(bencode.bencode(attribs),
1120
1120
(('attribs',),))
1140
1140
names, content = next(records)
1141
1141
attribs = bencode.bdecode(content)
1142
self._id_number = attribs['_id_number']
1142
self._id_number = attribs[b'_id_number']
1143
1143
self._new_name = dict((k, v.decode('utf-8'))
1144
for k, v in viewitems(attribs['_new_name']))
1145
self._new_parent = attribs['_new_parent']
1144
for k, v in viewitems(attribs[b'_new_name']))
1145
self._new_parent = attribs[b'_new_parent']
1146
1146
self._new_executability = dict((k, bool(v))
1147
for k, v in viewitems(attribs['_new_executability']))
1148
self._new_id = attribs['_new_id']
1147
for k, v in viewitems(attribs[b'_new_executability']))
1148
self._new_id = attribs[b'_new_id']
1149
1149
self._r_new_id = dict((v, k) for k, v in viewitems(self._new_id))
1150
1150
self._tree_path_ids = {}
1151
1151
self._tree_id_paths = {}
1152
for bytepath, trans_id in viewitems(attribs['_tree_path_ids']):
1152
for bytepath, trans_id in viewitems(attribs[b'_tree_path_ids']):
1153
1153
path = bytepath.decode('utf-8')
1154
1154
self._tree_path_ids[path] = trans_id
1155
1155
self._tree_id_paths[trans_id] = path
1156
self._removed_id = set(attribs['_removed_id'])
1157
self._removed_contents = set(attribs['_removed_contents'])
1158
self._non_present_ids = attribs['_non_present_ids']
1156
self._removed_id = set(attribs[b'_removed_id'])
1157
self._removed_contents = set(attribs[b'_removed_contents'])
1158
self._non_present_ids = attribs[b'_non_present_ids']
1159
1159
for ((trans_id, kind),), content in records:
1160
1160
if kind == 'file':
1161
1161
mpdiff = multiparent.MultiParent.from_patch(content)