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

Re: [PATCH] Re: log/blame -g and old servers

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2007-10-19 22:56:38 CEST

Hyrum K. Wright wrote:
> David Glasser wrote:
>> On 10/12/07, Karl Fogel <kfogel@red-bean.com> wrote:
>>> "David Glasser" <glasser@davidglasser.net> writes:
>>>> Here's a patch implementing that for ra_svn. (Presumably, the same
>>>> patch for DAV will be harder because of the general lack of
>>>> capabilities.)
>>> As we were discussing in IRC: detecting capabilities will be easier
>>> after I commit my patch for issue #2959 (latest patch attached there
>>> for inspection).
>> Now that we have this, do people support adding a mergeinfo capability
>> and using this to (among other things) error out on log/blame -g?
>>
>> I'm not sure what I feel about Mark's argument about wanting to
>> hardcode to the -g equivalent. Maybe the svn_client APIs could return
>> a boolean saying whether or not mergeinfo was actually used?
>
> My initial reaction was not to produce an error, but now I'm not so
> sure. If I run 'log -g' on an unknown server, I'll get different
> results, depending on whether that server is pre-1.5 or not. Producing
> different results dependent upon server version is Bad (at least in this
> case).
>
> I now feel that producing an error here isn't a problem. Clients can
> trap the error and take whatever action they feel appropriate, which may
> include informing the user, and reissuing the request. I suspect the
> command line client would just error out.

Recap:
svn_client_log4() run on an old server 'ignores' the
'include_merged_revisions' parameter, and clients have no way of knowing
that.

May I suggest an API change to solve this problem:
instead of
svn_client_log4(..., svn_boolean_t include_merged_revisions,...)

change this to:
svn_client_log4(..., svn_boolean_t * include_merged_revisions,...)
and let the API change the boolean value depending on whether it could
produce the merge info or not.

That way, no error is thrown (and forces the client to do another try)
but the client still knows about the failed merge info.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Oct 19 22:56:56 2007

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