D6889: sidedata: add a new module with basic documentation
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Tue Oct 1 18:22:32 UTC 2019
Closed by commit rHG21025a4107d4: sidedata: add a new module with basic documentation (authored by marmoute).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6889?vs=16647&id=16761
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D6889/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D6889
AFFECTED FILES
mercurial/revlogutils/sidedata.py
CHANGE DETAILS
diff --git a/mercurial/revlogutils/sidedata.py b/mercurial/revlogutils/sidedata.py
new file mode 100644
--- /dev/null
+++ b/mercurial/revlogutils/sidedata.py
@@ -0,0 +1,34 @@
+# sidedata.py - Logic around store extra data alongside revlog revisions
+#
+# Copyright 2019 Pierre-Yves David <pierre-yves.david at octobus.net)
+#
+# This software may be used and distributed according to the terms of the
+# GNU General Public License version 2 or any later version.
+"""core code for "sidedata" support
+
+The "sidedata" are stored alongside the revision without actually being part of
+its content and not affecting its hash. It's main use cases is to cache
+important information related to a changesets.
+
+The current implementation is experimental and subject to changes. Do not rely
+on it in production.
+
+Sidedata are stored in the revlog itself, withing the revision rawtext. They
+are inserted, removed from it using the flagprocessors mechanism. The following
+format is currently used::
+
+ initial header:
+ <number of sidedata; 2 bytes>
+ sidedata (repeated N times):
+ <sidedata-key; 2 bytes>
+ <sidedata-entry-length: 4 bytes>
+ <sidedata-content-sha1-digest: 20 bytes>
+ <sidedata-content; X bytes>
+ normal raw text:
+ <all bytes remaining in the rawtext>
+
+This is a simple and effective format. It should be enought to experiment with
+the concept.
+"""
+
+from __future__ import absolute_import
To: marmoute, durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list