125 r = self.index_format.unpack(data) |
125 r = self.index_format.unpack(data) |
126 if self._lgt and i == 0: |
126 if self._lgt and i == 0: |
127 r = (offset_type(0, gettype(r[0])),) + r[1:] |
127 r = (offset_type(0, gettype(r[0])),) + r[1:] |
128 return r |
128 return r |
129 |
129 |
130 def entry_binary(self, rev, header): |
130 def pack_header(self, header): |
|
131 """pack header information as binary""" |
|
132 v_fmt = revlog_constants.INDEX_HEADER |
|
133 return v_fmt.pack(header) |
|
134 |
|
135 def entry_binary(self, rev): |
131 """return the raw binary string representing a revision""" |
136 """return the raw binary string representing a revision""" |
132 entry = self[rev] |
137 entry = self[rev] |
133 p = revlog_constants.INDEX_ENTRY_V1.pack(*entry) |
138 p = revlog_constants.INDEX_ENTRY_V1.pack(*entry) |
134 if rev == 0: |
139 if rev == 0: |
135 v_fmt = revlog_constants.INDEX_HEADER |
140 p = p[revlog_constants.INDEX_HEADER.size :] |
136 v_bin = v_fmt.pack(header) |
|
137 p = v_bin + p[v_fmt.size :] |
|
138 return p |
141 return p |
139 |
142 |
140 |
143 |
141 class IndexObject(BaseIndexObject): |
144 class IndexObject(BaseIndexObject): |
142 def __init__(self, data): |
145 def __init__(self, data): |
284 self._extra[i - self._lgt] = new |
287 self._extra[i - self._lgt] = new |
285 else: |
288 else: |
286 msg = b"cannot rewrite entries outside of this transaction" |
289 msg = b"cannot rewrite entries outside of this transaction" |
287 raise KeyError(msg) |
290 raise KeyError(msg) |
288 |
291 |
289 def entry_binary(self, rev, header): |
292 def entry_binary(self, rev): |
290 """return the raw binary string representing a revision""" |
293 """return the raw binary string representing a revision""" |
291 entry = self[rev] |
294 entry = self[rev] |
292 p = revlog_constants.INDEX_ENTRY_V2.pack(*entry) |
295 p = revlog_constants.INDEX_ENTRY_V2.pack(*entry) |
293 if rev == 0: |
296 if rev == 0: |
294 v_fmt = revlog_constants.INDEX_HEADER |
297 p = p[revlog_constants.INDEX_HEADER.size :] |
295 v_bin = v_fmt.pack(header) |
|
296 p = v_bin + p[v_fmt.size :] |
|
297 return p |
298 return p |
298 |
299 |
299 |
300 |
300 class IndexObject2(Index2Mixin, IndexObject): |
301 class IndexObject2(Index2Mixin, IndexObject): |
301 pass |
302 pass |