On Tue, Dec 4, 2012 at 8:53 AM, Julian Foad <julianfoad_at_btopenworld.com>wrote:
> Hyrum K Wright wrote:
>
> > 'svn merge' appears to hang when running a simple merge:
> >
> > [[[
> > $ svnd merge ^/subversion/trunk/
> > ^Csubversion/svn/util.c:913: (apr_err=4)
> > subversion/svn/merge-cmd.c:163: (apr_err=4)
> > subversion/libsvn_client/merge.c:11856: (apr_err=4)
> > subversion/libsvn_client/merge.c:11829: (apr_err=4)
> > subversion/libsvn_client/merge.c:9295: (apr_err=4)
> > subversion/libsvn_client/merge.c:9001: (apr_err=4)
> > subversion/libsvn_client/merge.c:8762: (apr_err=4)
> > subversion/libsvn_client/merge.c:8599: (apr_err=4)
> > subversion/libsvn_client/merge.c:6388: (apr_err=4)
> > subversion/libsvn_ra_serf/log.c:607: (apr_err=4)
> > subversion/libsvn_ra_serf/util.c:819: (apr_err=4)
> > subversion/libsvn_ra_serf/util.c:786: (apr_err=4)
> > svn: E000004: Error running context: Interrupted system call
> > ]]]
> >
> > This is using a trunk client build at r1416744 on Mac OS X. I also
> > see the same problem using a Linux client, same vintage. It was
> > unresponsive for something on the order of 5 minutes before I finally
> > killed the process with the above output.
>
>
> Hi Hyrum. I don't know if you're seeing a network/server problem or a
> client inefficiency or a bit of both. I have been thinking two things
> about the client merge code though:
>
> * It would be good to insert some feedback about what it's doing in the
> time before it starts making local changes, to give the user a more
> pleasant experience during a large merge.
>
> * I know there is room for optimization: at the moment, for example, I
> believe it calculates the youngest common ancestor of the two branches more
> than once (contacting the repository each time).
>
>
> I'll see if I can reproduce a "large" merge scenario where the start-up
> time is significant, and work out where the main bottleneck is.
>
> For your particular case, can you tell me what branch at what revision
> your merge target was?
>
The merge target was the ev2-export branch, which was probably most
recently merged around 2-3 weeks ago, so it's not incredibly out-of-date.
To reproduce, you could probably just back up the branch to before the
most recent merge, and go from there.
>
>
> > I don't know enough about what's going on under the hood, but it
> > appears the serf is lost. None of my CPUs are pegged, though, so it
> > looks like it's just waiting on network? Hard to believe, as I've
> > got a 15/5 fiber connection.
>
>
> It could easily be the server (or the network at the server end) that's
> responding slowly.
Yes, this thought crossed my mind as well. I was simultaneously running
the command on a Linux box and a Mac OS box, and the both started
responding at roughly the same time (though I started them both at the same
time).
-Hyrum
Received on 2012-12-04 16:06:27 CET