[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] serialization format
From: |
Stephen Leake |
Subject: |
Re: [Monotone-devel] serialization format |
Date: |
Mon, 04 Apr 2016 11:58:19 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (windows-nt) |
Markus Wanner <address@hidden> writes:
> Hi,
>
> I'd like to get some feedback regarding some ideas around the
> serialization format used for storage and exchange of data in monotone.
> Currently, we're mostly using basic_io (for revisions, manifests, certs,
> AFAIK even for automate).
>
> Three things are bug me about basic_io:
>
> * while well readable, it's a custom format, not used anywhere else
>
> * it's flat and cannot represent nested structures
>
> * it cannot handle binary data (therefore monotone is spending quite a
> bit of time converting between hex and raw data (mostly revision
> ids))
>
>
> There are plenty of alternatives when considering a binary format: good
> old ASN.1, Google Protocol Buffers, MessagePack, Blink, etc...
>
> Human readable alternatives (which would at least eliminate the first
> two concerns) might be: JSON, YAML, or (bear with me) even XML. But for
> hashes and such we need a canonical format. And nothing for those three
> remains readable in any of their canonical forms that I've seen so far.
>
>
> At the moment, the most important question seems to be: how much do you
> value the human readable representation? How about a binary format that
> you can easily transform to and from a human readable one?
Human readable makes testing and developing new features much easier. If
we use binary, we will need a separate tool that translates that to
readable, which is then another source of bugs (or the same source, just
in a different place).
Unless you are planning major work on monotone, it's not worth changing
from basic_io.
--
-- Stephe
- [Monotone-devel] serialization format, Markus Wanner, 2016/04/04
- Re: [Monotone-devel] serialization format,
Stephen Leake <=
- Re: [Monotone-devel] serialization format, Markus Wanner, 2016/04/04
- Re: [Monotone-devel] serialization format, Stephen Leake, 2016/04/04
- Re: [Monotone-devel] serialization format, Ludovic Brenta, 2016/04/04
- Re: [Monotone-devel] serialization format, Markus Wanner, 2016/04/05
- Re: [Monotone-devel] serialization format, J Decker, 2016/04/05
- Re: [Monotone-devel] serialization format, J Decker, 2016/04/05
- Re: [Monotone-devel] serialization format, Markus Wanner, 2016/04/06
- Re: [Monotone-devel] serialization format, Markus Wanner, 2016/04/06
- Re: [Monotone-devel] serialization format, Hendrik Boom, 2016/04/06
- Re: [Monotone-devel] serialization format, Markus Wanner, 2016/04/06