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

Re: git-svn "Temp file with moniker 'svn_delta' already in use" and skelta mode

From: David Rothenberger <daveroth_at_acm.org>
Date: Fri, 05 Jul 2013 15:51:24 -0700

On 7/5/2013 2:10 PM, Branko Čibej wrote:
> On 05.07.2013 21:07, David Rothenberger wrote:
>> On 7/5/2013 10:49 AM, Branko Čibej wrote:
>>> On 05.07.2013 19:15, David Rothenberger wrote:
>>>> I recently upgraded my Subversion server to 1.8.0 and started
>>>> receiving the following error from "git svn fetch":
>>> Talk to the authors of git-svn. This is a Subversion users' mailing list.
>> Thanks, but I'm aware to which list I posted.
>>
>> I thought that Subversion guaranteed backwards compatibility with the
>> API provided?
>
> We do.
[snip]
> Can you reproduce the error using just the Subversion command-line
> client, in the same enviroment? If you can, and then post the exact
> commands used and the output produced, that would give us a much better
> chance to diagnose the problem.

I cannot reproduce this problem using command-line tools, but I was
able to do a trace of git-svn when it is failing and it looks to me
that the problem is in the order in which the SVN::Delta::Editor
(svn_delta_editor_t) function are being called.

The order I see is:
 1. open_root
 2. open_directory
 3. add_file
 4. apply_textdelta
 5. add_file
 6. apply_textdelta

The git-svn code is expecting a close_file call before the add_file
call in #5. It appears to me that the svn_delta_editor_t API [1]
requires this close_file call. It looks to me like this is Issue
#2932 [2].

When bulk mode is used, the callbacks are called in this order:
 1. open_root
 2. open_directory
 3. add_file
 4. apply_textdelta
 5. change_file_prop
 6. close_file
 7. ...
 8. change_dir_prop
 9. close_dir

[1] http://subversion.apache.org/docs/api/latest/structsvn__delta__editor__t.html#details
[2] http://subversion.tigris.org/issues/show_bug.cgi?id=2932

-- 
David Rothenberger  ----  daveroth_at_acm.org
management, n.:
        The art of getting other people to do all the work.
Received on 2013-07-06 00:52:08 CEST

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