diff mercurial/help/internals/wireprotocolv2.txt @ 40391:abbd077965c0

wireprotov2: support exposing linknode of file revisions When supporting shallow file storage, clients may fetch file revisions by changeset. But they may not readily know which changeset introduced a specific file revision. The "linknode" is used to record which changeset introduces which file revision. This commit teaches the "filedata" and "filesdata" wire protocol commands to expose the linknode for file revisions. The implementation is likely wrong when hidden changesets are in play, since the linknode may refer to a hidden changeset. We can deal with this problem later. Differential Revision: https://phab.mercurial-scm.org/D5167
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 19 Oct 2018 15:38:25 +0200
parents ed55a0077490
children 08cfa77d7288
line wrap: on
line diff
--- a/mercurial/help/internals/wireprotocolv2.txt	Fri Oct 19 14:59:03 2018 +0200
+++ b/mercurial/help/internals/wireprotocolv2.txt	Fri Oct 19 15:38:25 2018 +0200
@@ -258,6 +258,9 @@
    (set of bytestring) Which data associated with a file to fetch.
    The following values are recognized:
 
+   linknode
+      The changeset node introducing this revision.
+
    parents
       Parent nodes for the revision.
 
@@ -355,6 +358,9 @@
    (set of bytestring) Which data associated with a file to fetch.
    The following values are recognized:
 
+   linknode
+      The changeset node introducing this revision.
+
    parents
       Parent nodes for the revision.
 
@@ -422,6 +428,9 @@
 
 TODO we'll probably want a more complicated mechanism for the client to
 specify which ancestor revisions are known.
+TODO we may want to make linknodes an array so multiple changesets can be
+marked as introducing a file revision, since this can occur with e.g. hidden
+changesets.
 
 heads
 -----