You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by David Glasser <gl...@davidglasser.net> on 2008/02/21 22:14:16 UTC

Re: svn commit: r29489 - in trunk/subversion: libsvn_ra_svn svnserve

I forgot to mention it in the log, but this should fix the reported
failure of merge_tests 78 over ra_svn.

--dave

On Thu, Feb 21, 2008 at 5:13 PM,  <gl...@tigris.org> wrote:
> Author: glasser
>  Date: Thu Feb 21 14:13:41 2008
>  New Revision: 29489
>
>  Log:
>  Fix ra_svn/svnserve implementation of get-mergeinfo to use the
>  documented protocol, instead of adding some extra layers of nesting
>  and then accidentally discarding all but the first key/value pair
>  returned.  (ie, make svn_ra_get_mergeinfo with multiple targets or
>  with include_descendants work properly over ra_svn.)
>
>  * subversion/libsvn_ra_svn/client.c
>   (ra_svn_get_mergeinfo): Parse the body of the response (ie, the X
>    in:
>      ( success ( X ) )
>    ) as a list, not a list inside yet another list.  And it's not
>    optional.
>
>  * subversion/svnserve/serve.c
>   (get_mergeinfo): Don't wrap each key/value pair in more parentheses
>    than svn_ra_svn_write_tuple already gives you.
>
>
>  Modified:
>    trunk/subversion/libsvn_ra_svn/client.c
>    trunk/subversion/svnserve/serve.c
>
>  Modified: trunk/subversion/libsvn_ra_svn/client.c
>  URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_ra_svn/client.c?pathrev=29489&r1=29488&r2=29489
>  ==============================================================================
>  --- trunk/subversion/libsvn_ra_svn/client.c     (original)
>  +++ trunk/subversion/libsvn_ra_svn/client.c     Thu Feb 21 14:13:41 2008
>  @@ -1076,10 +1076,10 @@
>                                   include_descendants));
>
>    SVN_ERR(handle_auth_request(sess_baton, pool));
>  -  SVN_ERR(svn_ra_svn_read_cmd_response(conn, pool, "(?l)", &mergeinfo_tuple));
>  +  SVN_ERR(svn_ra_svn_read_cmd_response(conn, pool, "l", &mergeinfo_tuple));
>
>    *catalog = NULL;
>  -  if (mergeinfo_tuple != NULL && mergeinfo_tuple->nelts > 0)
>  +  if (mergeinfo_tuple->nelts > 0)
>      {
>        *catalog = apr_hash_make(pool);
>        for (i = 0; i < mergeinfo_tuple->nelts; i++)
>
>  Modified: trunk/subversion/svnserve/serve.c
>  URL: http://svn.collab.net/viewvc/svn/trunk/subversion/svnserve/serve.c?pathrev=29489&r1=29488&r2=29489
>  ==============================================================================
>  --- trunk/subversion/svnserve/serve.c   (original)
>  +++ trunk/subversion/svnserve/serve.c   Thu Feb 21 14:13:41 2008
>  @@ -1530,7 +1530,7 @@
>        SVN_ERR(svn_mergeinfo_to_string(&mergeinfo_string,
>                                        (svn_mergeinfo_t) value,
>                                        iterpool));
>  -      SVN_ERR(svn_ra_svn_write_tuple(conn, iterpool, "(cs)", (const char *) key,
>  +      SVN_ERR(svn_ra_svn_write_tuple(conn, iterpool, "cs", (const char *) key,
>                                       mergeinfo_string));
>      }
>    svn_pool_destroy(iterpool);
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: svn-unsubscribe@subversion.tigris.org
>  For additional commands, e-mail: svn-help@subversion.tigris.org
>
>



-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org