Jean-François Doyon wrote:
> Hello,
>
> I'm developping a Zope (http://www.zope.org) object storage system based
on
> Subversion's filesystem functionality, on top of Ape
> (http://hathaway.freezope.org/Software/Ape). I'm using the Swig/Python
API.
>
> I've run into a problem with trying to do move/renames.
>
> The application starts a transaction, executes a variety of filesystem
based
> operations, and then commits.
>
> One of those operations might be a move/rename.
>
> But, when Ape does this, it does so twice, using a temporary file.
>
> So if I have a file "A" I want to rename to "B" this happens:
>
> A -> TMP
> TMP -> B
>
> This is causing me problems because the svn_fs_copy (fs.copy in Python)
> wants a REVISION root as a source ... My TMP file gets created within a
> transaction however, so I can't really do the TMP -> B step ...
>
> The use of the temporary file gets done by the application (Actually Ape,
> the storage adapter) itself, so I don't really have any control over that
> ...
>
> Anybody have any idea how I might get around this ? Seems to me I
shouldn't
> be the first (or last) to have this issue, but didn't see anything in the
> archives.
>
> Any insight would be greatly appreciated !
A copy within the current transaction is a nonsense operation within the
design of the subversion FS.
As far as I can see, you have 2 options:
Either: Fix Ape to not use an intermediate temporary file when using an
underlying FS on which this makes no sense.
Or: Kludge it - If copy source was itself copied into current transaction,
use where the copy source was copied from as the true source.
Max.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun May 2 01:19:09 2004