Mercurial > public > mercurial-scm > hg-stable
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 -----