changeset 47078 | 223b47235d1c |
parent 47037 | d57386e5c80e |
child 47142 | 4292bed8da7c |
47077:119790e1c67c | 47078:223b47235d1c |
---|---|
266 |
266 |
267 class Index2Mixin(object): |
267 class Index2Mixin(object): |
268 index_format = revlog_constants.INDEX_ENTRY_V2 |
268 index_format = revlog_constants.INDEX_ENTRY_V2 |
269 null_item = (0, 0, 0, -1, -1, -1, -1, sha1nodeconstants.nullid, 0, 0) |
269 null_item = (0, 0, 0, -1, -1, -1, -1, sha1nodeconstants.nullid, 0, 0) |
270 |
270 |
271 def replace_sidedata_info(self, i, sidedata_offset, sidedata_length): |
271 def replace_sidedata_info( |
272 self, i, sidedata_offset, sidedata_length, offset_flags |
|
273 ): |
|
272 """ |
274 """ |
273 Replace an existing index entry's sidedata offset and length with new |
275 Replace an existing index entry's sidedata offset and length with new |
274 ones. |
276 ones. |
275 This cannot be used outside of the context of sidedata rewriting, |
277 This cannot be used outside of the context of sidedata rewriting, |
276 inside the transaction that creates the revision `i`. |
278 inside the transaction that creates the revision `i`. |
281 sidedata_format = b">Qi" |
283 sidedata_format = b">Qi" |
282 packed_size = struct.calcsize(sidedata_format) |
284 packed_size = struct.calcsize(sidedata_format) |
283 if i >= self._lgt: |
285 if i >= self._lgt: |
284 packed = _pack(sidedata_format, sidedata_offset, sidedata_length) |
286 packed = _pack(sidedata_format, sidedata_offset, sidedata_length) |
285 old = self._extra[i - self._lgt] |
287 old = self._extra[i - self._lgt] |
286 new = old[:64] + packed + old[64 + packed_size :] |
288 offset_flags = struct.pack(b">Q", offset_flags) |
289 new = offset_flags + old[8:64] + packed + old[64 + packed_size :] |
|
287 self._extra[i - self._lgt] = new |
290 self._extra[i - self._lgt] = new |
288 else: |
291 else: |
289 msg = b"cannot rewrite entries outside of this transaction" |
292 msg = b"cannot rewrite entries outside of this transaction" |
290 raise KeyError(msg) |
293 raise KeyError(msg) |
291 |
294 |