On Sat, Jan 29, 2011 at 3:02 PM, Branko Čibej <brane_at_xbc.nu> wrote:
> On 29.01.2011 21:36, Daniel Shahaf wrote:
>> Hyrum K Wright wrote on Sat, Jan 29, 2011 at 12:03:18 -0600:
>>> The protocol document is in error: 'revprops' must always be followed
>>> by a list, even if it is the empty list, in which case revprop_items
>>> on the server is initialized correctly. If 'revprops' is not followed
>>> by a list, the server emits a malformed network data error and closes
>>> the network connection post haste. I discovered all this by playing
>>> around with a python script to hit an svnserve instance with various
>>> combinations of arguments to the log command.
>>>
>>> Given the above, I think we can just remove the assert, as it won't
>>> ever trigger.
>>>
>> I see. The server, in spite of the 'protocol' doc, does:
>> SVN_ERR(svn_ra_svn_parse_tuple(params, pool, "l(?r)(?r)bb?n?Bwl", &paths,
>> which --- because of the last 'l' isn't optional --- throws an error if
>> the tuple is omitted, before the assert() is even reached.
>>
>> We could fix either the documentation or the implementation, but in this
>> case how about tweaking the code to match the docs? ---
>
> Wouldn't it be more appropriate to fix the docs to match the code?
> That's unless that particular difference is a result of a recent change
> (I can hardly believe it is).
This isn't a recent change in behavior, and every 1.6 server out there
expects to have the revprop list. I've updated the docs in r1065715.
-Hyrum
Received on 2011-01-31 20:16:46 CET