##// 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:

r37587:2025bf60 default
r39839:d059cb66 default
Show More
dist.wxs
37 lines | 1.4 KiB | text/plain | TextLexer
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include guids.wxi ?>
<?include defines.wxi ?>
<Fragment>
<DirectoryRef Id="INSTALLDIR" FileSource="$(var.SourceDir)">
<Component Id="distOutput" Guid="$(var.dist.guid)" Win64='$(var.IsX64)'>
<File Name="python27.dll" KeyPath="yes" />
</Component>
<Directory Id="libdir" Name="lib" FileSource="$(var.SourceDir)/lib">
<Component Id="libOutput" Guid="$(var.lib.guid)" Win64='$(var.IsX64)'>
<File Name="library.zip" KeyPath="yes" />
<File Name="mercurial.cext.base85.pyd" />
<File Name="mercurial.cext.bdiff.pyd" />
<File Name="mercurial.cext.mpatch.pyd" />
<File Name="mercurial.cext.osutil.pyd" />
<File Name="mercurial.cext.parsers.pyd" />
<File Name="mercurial.zstd.pyd" />
<File Name="hgext.fsmonitor.pywatchman.bser.pyd" />
<File Name="pyexpat.pyd" />
<File Name="bz2.pyd" />
<File Name="select.pyd" />
<File Name="unicodedata.pyd" />
<File Name="_ctypes.pyd" />
<File Name="_elementtree.pyd" />
<File Name="_testcapi.pyd" />
<File Name="_hashlib.pyd" />
<File Name="_socket.pyd" />
<File Name="_ssl.pyd" />
</Component>
</Directory>
</DirectoryRef>
</Fragment>
</Wix>