Mercurial > public > mercurial-scm > hg
diff mercurial/help/internals/wireprotocolv2.txt @ 39815:d3d333ab167a
wireprotov2: teach changesetdata to fetch ancestors until depth
For shallow clone, it is useful to specify a starting node and tell
the server to send up to N ancestors from that starting point. This
enables the server to perform the DAG walk without the client having
to discover the base/stop node(s) first.
This commit implements support for said queries on the changesetdata
command.
Differential Revision: https://phab.mercurial-scm.org/D4621
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 17 Sep 2018 11:50:59 -0700 |
parents | d059cb669632 |
children | 33eb670e2834 |
line wrap: on
line diff
--- a/mercurial/help/internals/wireprotocolv2.txt Thu Sep 20 12:57:23 2018 -0700 +++ b/mercurial/help/internals/wireprotocolv2.txt Mon Sep 17 11:50:59 2018 -0700 @@ -130,6 +130,11 @@ nodes (array of bytestrings) Changelog revisions to request explicitly. +nodesdepth + (unsigned integer) Number of ancestor revisions of elements in ``nodes`` + to also fetch. When defined, for each element in ``nodes``, DAG ancestors + will be walked until at most N total revisions are emitted. + fields (set of bytestring) Which data associated with changelog revisions to fetch. The following values are recognized: @@ -229,9 +234,10 @@ TODO support different hash "namespaces" for revisions (e.g. sha-1 versus other) TODO support emitting obsolescence data TODO support filtering based on relevant paths (narrow clone) -TODO support depth limiting TODO support hgtagsfnodes cache / tags data TODO support branch heads cache +TODO consider unify query mechanism. e.g. as an array of "query descriptors" +rather than a set of top-level arguments that have semantics when combined. filedata --------