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

Re: [Subclipse-users] Commit failed when committing merge

From: Mark Phippard <markphip_at_gmail.com>
Date: Mon, 14 Dec 2009 14:18:30 -0500

On Mon, Dec 14, 2009 at 2:05 PM, Jacob Weber <jacob_at_jacobweber.com> wrote:
> Sometimes when I commit a very large merge (around 1000 changes) using Subclipse, I get the following error:
>
>    Transmitting file data ...
>    RA layer request failed
> svn: Commit failed (details follow):
> svn: MERGE of '/path/to/trunk': timed out waiting for server (https://svnserver)
>
> The thing is, the commit actually succeeded; I can see the new version using svn log.
>
> But it seems like Subclipse wasn't informed of the successful commit. So it thinks it's at the previous version. If
> I try to update, it will see all the changes from the merge as conflicts. As a result, the working copy is completely
> useless, and must be deleted.
>
> Looking in the Apache logs for my SVN 1.6.5 server, I see this (it appears a few minutes after I get the error):
>
> [Mon Dec 14 13:23:19 2009] [error] [client 1.2.3.4] Could not MERGE resource "/repos/!svn/act/fa1bb793-cd6f-1c4a-84a
> f-4ffdd268ac25" into "/path/to/trunk".  [500, #0]
> [Mon Dec 14 13:23:19 2009] [error] [client 1.2.3.4] Error constructing resource list.  [500, #104]
> [Mon Dec 14 13:23:19 2009] [error] [client 1.2.3.4] Can't write response to output: Connection reset by peer  [500
> , #104]
>
> Any idea what could cause this? Is Subclipse closing the connection after a certain timeout period? I haven't
> seen it happen using the command line SVN client.

This would have to be a Subversion bug, although if you are using
SVNKit, then perhaps it does not drive the commit quite the same and
the bug is in SVNKit and Subversion.

It seems odd that you would get this error and the commit would be
present, since the error seems to indicate otherwise.

BTW, in this case MERGE is a DAV method and actually has nothing to do
with an SVN merge. From:

http://svn.apache.org/repos/asf/subversion/trunk/notes/webdav-protocol

Write Commands : (MKACTIVITY, PROPPATCH, PUT, CHECKOUT, MKCOL, MOVE,
-------------- COPY, DELETE, LOCK, UNLOCK, MERGE)

  With the exception of LOCK/UNLOCK, every write command performs some
  sort of DeltaV commit operation. In DeltaV, a commit always starts
  by creating a transaction (MKACTIVITY), applies a log message
  (PROPPATCH), does some other write methods, and then ends by
  committing the transaction (MERGE). If the MERGE fails, the client
  may try to remove the transaction with a DELETE.

  * svn commit:
     ra_neon: OPTIONS, PROPFIND, MKACTIVITY,
                    {CHECKOUT, COPY, MOVE, DELETE, PROPPATCH, PUT, MKCOL},
                    MERGE (DELETE)

     ra_serf: OPTIONS to acquire activity collection set
     (no major MKACTIVITY to a unique UUID relative to activity set
      differences) PROPFIND to get what we think our baseline is
                    CHECKOUT of baseline revision into activity
                    Setting log: PROPPATCH on root directory
                    Delete a file: CHECKOUT file / DELETE
                    Add a dir: MKCOL
                    Add a file: CHECKOUT parent dirs / PUT raw-file
                    Edit a file: CHECKOUT file / PUT svndiff stream
                    End commit: MERGE activity, DELETE activity

-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2430356
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subclipse.tigris.org].
Received on 2009-12-14 20:18:44 CET

This is an archived mail posted to the Subclipse Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.