Martin Björklund <[email protected]> writes:

> Hi,
>
>
> Ladislav Lhotka <[email protected]> wrote:
>> 
>> 
>> On 11. 08. 20 15:41, Joe Clarke (jclarke) wrote:
>> > At the IETF 108 virtual meeting, Lada asked about what would happen if he 
>> > converted a YANG module to YIN syntax (or vice versa, or to some other 
>> > format).  This was during the discussion of the issue of what should 
>> > happen if a module changes and the only changes are insignificant 
>> > whitespaces (e.g., strip trailing spaces, change line length of 
>> > descriptions, etc.).
>> > 
>> > The authors/contributors discussed on this on our weekly calls, and we 
>> > propose:
>> > 
>> > If a module changes and those changes are only insignificant whitespace 
>> > changes and the syntax of the module remains the same (i.e., YANG to YANG, 
>> > YIN, YIN, etc.), a new revision of the module MUST be created.  If you are 
>> > using YANG semver as your revision scheme, you MUST apply a PATCH version 
>> > bump to that new module revision to indicate an editorial change.
>> > 
>> > The reasoning behind this decision is that it makes it very clear and 
>> > unambiguous to consumers that this module has been consciously changed, 
>> > and those changes are only editorial.  This way one won’t be concerned if 
>> > they note that a module of a given syntax with the same version but 
>> > different checksums and diffs wasn’t otherwise manipulated.
>> > 
>> > That said, if a module changes format from one syntax to another but 
>> > maintains semantic equivalency, then the revision and YANG semver MUST be 
>> > the same.  In that case, one will use the extension to realize that this 
>> > module file cannot be directly compared to one of another syntax without 
>> > looking at compiled or semantic representation.
>> 
>> The last paragraph means that after a round trip YANG -> YIN -> YANG the
>> initial and final YANG modules MUST have the same revision. However,
>> depending on the conversion tools used, they may easily differ in
>> whitespace, so their byte-oriented checksums won't be equal.
>> 
>> I think there are in fact three cases:
>> 
>> 1. Whitespace outside statement arguments - I believe this should never
>> be significant.
>
> Agreed.
>
>> 2. Whitespace in the argument of "contact", "description",
>> "error-message" and "organization" - this is tricky because tools may
>> format such arguments differently. I am leaning towards making
>> whitespace insignificant in this case as well.
>> 
>> 3. Whitespace in other arguments has to be significant and lead to a
>> revision bump.
>
> I think that any change in an argument string is an editorial change.
>
> For example, compare these two changes:
>
>    A1.  description "a server.";
>    A2.  description "A server.";
>
>    B1.  description "A  server.";
>    B2.  description "A server.";
>
> These are editorial changes, and thus the revision should be changed.

But consider

   description
       "A server and
        its data.";

versus

   description
       "A server and
       its data.";

Here the difference is only in presentation - a YANG parser gives the same 
string in both cases. Another awkward case is whitespace before a line break.

Lada

>
> Note however that the following change might look like an editorial
> whitespace change in the argument, but in fact it is not:
>
>   C1.
>       description
>           "A server and
>            its data.";
>
>   C2.
>       description
>         "A server and
>          its data.";
>
>
> /martin
>
>
>> 
>> And one more corner case for both 2 a 3: what if "\t" is replaced with
>> the tab character in a double-quoted string? For YANG, these two strings
>> are absolutely equivalent.
>> 
>> Lada
>> 
>> > 
>> > Thoughts?
>> > 
>> > Joe
>> > _______________________________________________
>> > netmod mailing list
>> > [email protected]
>> > https://www.ietf.org/mailman/listinfo/netmod
>> > 
>> 
>> -- 
>> Ladislav Lhotka
>> Head, CZ.NIC Labs
>> PGP Key ID: 0xB8F92B08A9F76C67
>> 
>> _______________________________________________
>> netmod mailing list
>> [email protected]
>> https://www.ietf.org/mailman/listinfo/netmod

-- 
Ladislav Lhotka 
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to