##// END OF EJS Templates
revlog: improve documentation of the entry tuple...
marmoute -
r48020:02a44635 default
parent child Browse files
Show More
@@ -284,6 +284,58 b' class revlog(object):'
284 file handle, a filename, and an expected position. It should check whether
284 file handle, a filename, and an expected position. It should check whether
285 the current position in the file handle is valid, and log/warn/fail (by
285 the current position in the file handle is valid, and log/warn/fail (by
286 raising).
286 raising).
287
288
289 Internal details
290 ----------------
291
292 A large part of the revlog logic deals with revisions' "index entries", tuple
293 objects that contains the same "items" whatever the revlog version.
294 Different versions will have different ways of storing these items (sometimes
295 not having them at all), but the tuple will always be the same. New fields
296 are usually added at the end to avoid breaking existing code that relies
297 on the existing order. The field are defined as follows:
298
299 [0] offset:
300 The byte index of the start of revision data chunk.
301 That value is shifted up by 16 bits. use "offset = field >> 16" to
302 retrieve it.
303
304 flags:
305 A flag field that carries special information or changes the behavior
306 of the revision. (see `REVIDX_*` constants for details)
307 The flag field only occupies the first 16 bits of this field,
308 use "flags = field & 0xFFFF" to retrieve the value.
309
310 [1] compressed length:
311 The size, in bytes, of the chunk on disk
312
313 [2] uncompressed length:
314 The size, in bytes, of the full revision once reconstructed.
315
316 [3] base rev:
317 Either the base of the revision delta chain (without general
318 delta), or the base of the delta (stored in the data chunk)
319 with general delta.
320
321 [4] link rev:
322 Changelog revision number of the changeset introducing this
323 revision.
324
325 [5] parent 1 rev:
326 Revision number of the first parent
327
328 [6] parent 2 rev:
329 Revision number of the second parent
330
331 [7] node id:
332 The node id of the current revision
333
334 [8] sidedata offset:
335 The byte index of the start of the revision's side-data chunk.
336
337 [9] sidedata chunk length:
338 The size, in bytes, of the revision's side-data chunk.
287 """
339 """
288
340
289 _flagserrorclass = error.RevlogError
341 _flagserrorclass = error.RevlogError
General Comments 0
You need to be logged in to leave comments. Login now