[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1064847 - /subversion/trunk/subversion/svnserve/serve.c

From: Hyrum K Wright <hyrum_at_hyrumwright.org>
Date: Mon, 31 Jan 2011 13:16:06 -0600

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

This is an archived mail posted to the Subversion Dev mailing list.