git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Bert Huijben" <bert@qqmail.nl>
To: "users@subversion.apache.org" <users@subversion.apache.org>,
	"Branko Čibej" <brane@wandisco.com>
Cc: "Subversion Development" <dev@subversion.apache.org>,
	"git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: git-svn "Temp file with moniker 'svn_delta' already in use" and skelta mode
Date: Sat, 6 Jul 2013 07:30:39 +0000	[thread overview]
Message-ID: <51d7c848.0a0cb50a.6b9a.0884@mx.google.com> (raw)
In-Reply-To: <51D7660F.6070901@wandisco.com>

[-- Attachment #1: Type: text/plain, Size: 2024 bytes --]

Note that the commit logic in libsvn_client uses exactly the same driver pattern, but even in a more extreme way: it opens all nodes before closing the first file that will receive content changes.


Serf was only the first driver to do it this way in the other direction.


Bert






Sent from Windows Mail





From: Branko Čibej
Sent: ‎Saturday‎, ‎July‎ ‎6‎, ‎2013 ‎2‎:‎34‎ ‎AM
To: users@subversion.apache.org
Cc: Subversion Development; git@vger.kernel.org




[Copying dev@ because it's related to a known issue that we document more loudly.]

On 06.07.2013 00:51, David Rothenberger wrote: 

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].

Indeed it is.

And it is actually documented here:

https://svn.apache.org/repos/asf/subversion/trunk/notes/api-errata/1.7/ra001.txt

and mentioned here:

http://subversion.apache.org/docs/release-notes/1.7.html#svnrdump


In other words, this is a limitation of the Serf-based backend that has been around since Subversion 1.4. I'm aware that it isn't documented as well as it should be, but the bulk-mode workaround exists in part as a workaround for that, effectively disabling the more efficient HTTPv2 protocol.

In the meantime, it might be a good idea to relax the restrictions in git-svn to account for the way the HTTPv2 protocol works.

-- Brane


-- 
Branko Čibej | Director of Subversion 
WANdisco // Non-Stop Data 
e. brane@wandisco.com

[-- Attachment #2: Type: text/html, Size: 4988 bytes --]

  parent reply	other threads:[~2013-07-06  7:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <kr6uvc$p8a$1@ger.gmane.org>
     [not found] ` <51D7072A.6080909@wandisco.com>
     [not found]   ` <kr75h0$qg5$1@ger.gmane.org>
     [not found]     ` <51D7362B.1040803@wandisco.com>
     [not found]       ` <kr7il5$n0p$1@ger.gmane.org>
2013-07-06  0:34         ` git-svn "Temp file with moniker 'svn_delta' already in use" and skelta mode Branko Čibej
2013-07-06  2:04           ` Daniel Shahaf
2013-07-06  2:15             ` Daniel Shahaf
2013-07-06  4:23           ` Branko Čibej
2013-07-06  7:30           ` Bert Huijben [this message]
2013-07-05 20:48 David Rothenberger
2013-07-05 22:58 ` Kyle McKay
2013-07-05 23:07   ` David Rothenberger
2013-07-06  1:01     ` Kyle McKay
2013-07-06  2:02       ` David Rothenberger
2013-07-05 23:14 ` David Rothenberger
2013-07-06  3:41   ` Kyle McKay

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51d7c848.0a0cb50a.6b9a.0884@mx.google.com \
    --to=bert@qqmail.nl \
    --cc=brane@wandisco.com \
    --cc=dev@subversion.apache.org \
    --cc=git@vger.kernel.org \
    --cc=users@subversion.apache.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).