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

Re: svn commit: r25251 - in trunk/subversion: include libsvn_ra_svn svnserve

From: Malcolm Rowe <malcolm-svn-dev_at_farside.org.uk>
Date: 2007-06-01 20:04:39 CEST

On Fri, Jun 01, 2007 at 12:52:43PM -0500, Hyrum K. Wright wrote:
> >> /* Parse the arguments. The usual optional element pattern "(?n)"
> >> isn't used for the limit argument because pre-1.3 clients don't
> >> know to send it. Nor is the pattern used for the include_merged_revisions
> >> argument, because pre-1.5 clients don't know to send it, either. */
> >
> > That comment's actually pretty confusing: neither of the limit nor
> > include_merged_revisions options are considered optional in the
> > protocol, so the format we're using is entirely correct.
> >
> >> + SVN_ERR(svn_ra_svn_parse_tuple(params, pool, "l(?r)(?r)bb?n?B", &paths,
> >
> > I realise you didn't update libsvn_ra_svn/protocol originally to
> > document the extract include_merged_revisions option - could you do that
> > as well? (And could you include some text that explains what limit
> > should be set to to indicate 'unlimited'? We really _should_ have made
> > it optional, but too late for that now...).
>
> I'm confused. The protocol document currently has:

That's because I'm an idiot. I was looking at an old wc, sorry :-/
> log
> params: ( ( target-path:string ... ) [ start-rev:number ]
> [ end-rev:number ] changed-paths:bool strict-node:bool
> ? limit:number ? include-merged-revisions:bool )
>
> Doesn't the '?' indicate that the limit and include-merged-revisions are
> optional?

Not quite - it indicates that the tuple can stop at that point. New
clients can't send a value for include-merged-revisions without also
filling in limit. ('start-rev' is an example of something that's truly optional).

So my question was: how do I sent a log query without a limit, but with
include-merged-revisions? I assume I set the limit to zero, or
similar, but the protocol document should document that.

> include-merged-revisions is optional because pre-1.5 won't
> send it. I guess I'm just failing to see the difference between a
> earlier client not sending the parameter, and the parameter being
> optional in the protocol.
>

If the parameter's optional, it can be omitted from any request - limit
can only be omitted if you also omit include-merged-revisions.

Regards,
Malcolm

  • application/pgp-signature attachment: stored
Received on Fri Jun 1 20:04:51 2007

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