##// END OF EJS Templates
wireprotov2: allow multiple fields to follow revision maps...
wireprotov2: allow multiple fields to follow revision maps The *data wire protocol commands emit a series of CBOR values. Because revision/delta data may be large, their data is emitted outside the map as a top-level bytestring value. Before this commit, we'd emit a single optional bytestring value after the revision descriptor map. This got the job done. But it was limiting in that we could only send a single field. And, it required the consumer to know that the presence of a key in the map implied the existence of a following bytestring value. This commit changes the encoding strategy so top-level bytestring values in the stream are explicitly denoted in a "fieldsfollowing" key. This key contains an array defining what fields that follow and the expected size of each field. By defining things this way, we can easily send N bytestring values without any ambiguity about their order. In addition, clients only need to know how to parse ``fieldsfollowing`` to know if extra values are present. Because this breaks backwards compatibility, we've bumped the version number of the wire protocol version 2 API endpoint. Differential Revision: https://phab.mercurial-scm.org/D4620

File last commit:

r38029:e51c91c1 default
r39839:d059cb66 default
Show More
control
54 lines | 1.6 KiB | text/plain | DebianControlLexer
Source: mercurial
Section: vcs
Priority: optional
Maintainer: Mercurial Developers <mercurial-devel@mercurial-scm.org>
Build-Depends:
debhelper (>= 9),
dh-python,
less,
netbase,
python-all,
python-all-dev,
python-docutils,
unzip,
zip
Standards-Version: 3.9.4
X-Python-Version: >= 2.7
Package: mercurial
Depends:
python,
${shlibs:Depends},
${misc:Depends},
${python:Depends},
mercurial-common (= ${source:Version})
Architecture: any
Description: fast, easy to use, distributed revision control tool.
Mercurial is a fast, lightweight Source Control Management system designed
for efficient handling of very large distributed projects.
.
Its features include:
* O(1) delta-compressed file storage and retrieval scheme
* Complete cross-indexing of files and changesets for efficient exploration
of project history
* Robust SHA1-based integrity checking and append-only storage model
* Decentralized development model with arbitrary merging between trees
* Easy-to-use command-line interface
* Integrated stand-alone web interface
* Small Python codebase
Package: mercurial-common
Architecture: all
Depends:
${misc:Depends},
${python:Depends},
Recommends: mercurial (= ${source:Version}), ca-certificates
Suggests: wish
Breaks: mercurial (<< ${source:Version})
Replaces: mercurial (<< 2.6.3)
Description: easy-to-use, scalable distributed version control system (common files)
Mercurial is a fast, lightweight Source Control Management system designed
for efficient handling of very large distributed projects.
.
This package contains the architecture independent components of Mercurial,
and is generally useless without the mercurial package.