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

Re: ra_svn failure over ssh on release branch.

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2003-04-15 16:10:39 CEST

Philip Martin <philip@codematters.co.uk> writes:

> Michael Price <michael.price@acm.org> writes:
>
> > Merge test 5 is failing for me over ra_svn via an ssh tunnel. The
> > relevant portion of tests.log is attached. Using release branch
> > http://svn.collab.net/repos/svn/branches/release-0.21
>
> Try the following patch. No, I don't know why it appears to make a
> difference--there is probably some underlying bug.
>
> * subversion/libsvn_client/diff.c (do_single_file_merge): Only use one
> RA session.

That patch would break the ability to merge the difference between two
totally different repositories (I never liked that idea myself...).

The following patch also appears to do the trick. I think we have a
stream, or buffering, or flushing problem somewhere.

Index: subversion/libsvn_client/diff.c
===================================================================
--- subversion/libsvn_client/diff.c (revision 5622)
+++ subversion/libsvn_client/diff.c (working copy)
@@ -1042,9 +1042,12 @@
   SVN_ERR (ra_lib->get_file (session1, "", rev1, fstream1,
                              NULL, &props1, pool));
 
+ status = apr_file_close (fp1);
+ if (status)
+ return svn_error_createf (status, NULL, "failed to close '%s'.",
+ tmpfile1);
   /* ### heh, funny. we could be fetching two fulltexts from two
      *totally* different repositories here. :-) */
-
   SVN_ERR (svn_ra_get_ra_library (&ra_lib, ra_baton, merge_b->url, pool));
   SVN_ERR (svn_client__open_ra_session (&session2, ra_lib, merge_b->url,
                                         auth_dir, NULL, NULL, FALSE,
@@ -1054,10 +1057,6 @@
   SVN_ERR (ra_lib->get_file (session2, "", rev2, fstream2, NULL,
                              &props2, pool));
 
- status = apr_file_close (fp1);
- if (status)
- return svn_error_createf (status, NULL, "failed to close '%s'.",
- tmpfile1);
   status = apr_file_close (fp2);
   if (status)
     return svn_error_createf (status, NULL, "failed to close '%s'.",

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Apr 15 16:11:27 2003

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