Size: 168
Comment: Drop the old content of the page (not so devel content)
|
Size: 1120
Comment: adding V1 format information
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
== Obsstore Format == Markers are stored in an append-only file stored in '.hg/store/obsstore'. == V1 (current) Format == (see in line document for latest data) The file starts with a version header: - 1 unsigned byte: version number, starting at zero. The header is followed by the markers. Each marker is made of: - 1 unsigned byte: number of new changesets "N", can be zero. - 1 unsigned 32-bits integer: metadata size "M" in bytes. - 1 byte: a bit field. It is reserved for flags used in common obsolete marker operations, to avoid repeated decoding of metadata entries. - 20 bytes: obsoleted changeset identifier. - N*20 bytes: new changesets identifiers. - M bytes: metadata as a sequence of nul-terminated strings. Each string contains a key and a value, separated by a colon ':', without additional encoding. Keys cannot contain '\0' or ':' and values cannot contain '\0'. |
Implementation Details about Changesets Evolution
This page is intended for developer
For a user perspective have a look at the ChangesetEvolution page.
1. Obsstore Format
Markers are stored in an append-only file stored in '.hg/store/obsstore'.
2. V1 (current) Format
(see in line document for latest data)
The file starts with a version header:
- - 1 unsigned byte: version number, starting at zero.
The header is followed by the markers. Each marker is made of:
- - 1 unsigned byte: number of new changesets "N", can be zero. - 1 unsigned 32-bits integer: metadata size "M" in bytes. - 1 byte: a bit field. It is reserved for flags used in common
- obsolete marker operations, to avoid repeated decoding of metadata entries.
- string contains a key and a value, separated by a colon ':', without additional encoding. Keys cannot contain '\0' or ':' and values cannot contain '\0'.