##// END OF EJS Templates
revlog: simplify entry update logic in `rewrite_sidedata`...
marmoute -
r48019:de63be07 default
parent child Browse files
Show More
@@ -3240,13 +3240,16 b' class revlog(object):'
3240 # Apply (potential) flags to add and to remove after running
3240 # Apply (potential) flags to add and to remove after running
3241 # the sidedata helpers
3241 # the sidedata helpers
3242 new_offset_flags = entry[0] | flags[0] & ~flags[1]
3242 new_offset_flags = entry[0] | flags[0] & ~flags[1]
3243 entry = (new_offset_flags,) + entry[1:8]
3243 entry_update = (
3244 entry += (current_offset, len(serialized_sidedata))
3244 current_offset,
3245 len(serialized_sidedata),
3246 new_offset_flags,
3247 )
3245
3248
3246 # the sidedata computation might have move the file cursors around
3249 # the sidedata computation might have move the file cursors around
3247 dfh.seek(current_offset, os.SEEK_SET)
3250 dfh.seek(current_offset, os.SEEK_SET)
3248 dfh.write(serialized_sidedata)
3251 dfh.write(serialized_sidedata)
3249 new_entries.append(entry)
3252 new_entries.append(entry_update)
3250 current_offset += len(serialized_sidedata)
3253 current_offset += len(serialized_sidedata)
3251 if self._docket is not None:
3254 if self._docket is not None:
3252 self._docket.data_end = dfh.tell()
3255 self._docket.data_end = dfh.tell()
@@ -3255,7 +3258,7 b' class revlog(object):'
3255 ifh.seek(startrev * self.index.entry_size)
3258 ifh.seek(startrev * self.index.entry_size)
3256 for i, e in enumerate(new_entries):
3259 for i, e in enumerate(new_entries):
3257 rev = startrev + i
3260 rev = startrev + i
3258 self.index.replace_sidedata_info(rev, e[8], e[9], e[0])
3261 self.index.replace_sidedata_info(rev, *e)
3259 packed = self.index.entry_binary(rev)
3262 packed = self.index.entry_binary(rev)
3260 if rev == 0 and self._docket is None:
3263 if rev == 0 and self._docket is None:
3261 header = self._format_flags | self._format_version
3264 header = self._format_flags | self._format_version
General Comments 0
You need to be logged in to leave comments. Login now