Show More
@@ -279,25 +279,25 b' class Index2Mixin(object):' | |||||
279 | index_format = revlog_constants.INDEX_ENTRY_V2 |
|
279 | index_format = revlog_constants.INDEX_ENTRY_V2 | |
280 |
|
280 | |||
281 | def replace_sidedata_info( |
|
281 | def replace_sidedata_info( | |
282 |
self, |
|
282 | self, rev, sidedata_offset, sidedata_length, offset_flags | |
283 | ): |
|
283 | ): | |
284 | """ |
|
284 | """ | |
285 | Replace an existing index entry's sidedata offset and length with new |
|
285 | Replace an existing index entry's sidedata offset and length with new | |
286 | ones. |
|
286 | ones. | |
287 | This cannot be used outside of the context of sidedata rewriting, |
|
287 | This cannot be used outside of the context of sidedata rewriting, | |
288 |
inside the transaction that creates the revision ` |
|
288 | inside the transaction that creates the revision `rev`. | |
289 | """ |
|
289 | """ | |
290 |
if |
|
290 | if rev < 0: | |
291 | raise KeyError |
|
291 | raise KeyError | |
292 |
self._check_index( |
|
292 | self._check_index(rev) | |
293 | sidedata_format = b">Qi" |
|
293 | sidedata_format = b">Qi" | |
294 | packed_size = struct.calcsize(sidedata_format) |
|
294 | packed_size = struct.calcsize(sidedata_format) | |
295 |
if |
|
295 | if rev >= self._lgt: | |
296 | packed = _pack(sidedata_format, sidedata_offset, sidedata_length) |
|
296 | packed = _pack(sidedata_format, sidedata_offset, sidedata_length) | |
297 |
old = self._extra[ |
|
297 | old = self._extra[rev - self._lgt] | |
298 | offset_flags = struct.pack(b">Q", offset_flags) |
|
298 | offset_flags = struct.pack(b">Q", offset_flags) | |
299 | new = offset_flags + old[8:64] + packed + old[64 + packed_size :] |
|
299 | new = offset_flags + old[8:64] + packed + old[64 + packed_size :] | |
300 |
self._extra[ |
|
300 | self._extra[rev - self._lgt] = new | |
301 | else: |
|
301 | else: | |
302 | msg = b"cannot rewrite entries outside of this transaction" |
|
302 | msg = b"cannot rewrite entries outside of this transaction" | |
303 | raise KeyError(msg) |
|
303 | raise KeyError(msg) |
General Comments 0
You need to be logged in to leave comments.
Login now