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

Re: mod_dav_svn

From: Greg Stein <gstein_at_lyra.org>
Date: 2001-11-17 04:16:20 CET

On Fri, Nov 16, 2001 at 12:27:19PM -0800, Sung Kim wrote:
> Thanks for your help.
>
> I installed mod_dav_svn successfully.
> But I might miss something or mis-configure.
>
> This is error from import :
>
> [root_at_hunkim svn]# svn import http://localhost:9090/svn ~/davfs
>
> svn_error: #21075 : <RA layer's server request failed>
> The log message's PROPPATCH request failed (neon: 1) (/svn/$svn/wbl/0e86a1e0-d11d-b211-818d-fac2d6adf776/1)

Please attach the access_log and error_log portions associated with this
sequence. Importing should work without a problem.

> This is error from PUT or OPTIONS hethod
> PUT /svn/hello.c HTTP/1.1

The Subversion server doesn't allow a PUT to a location like that. There is
a very specific sequence of operations for modifying resources on the
server. (more succinctly, we don't auto-version resources; a PUT like above
requires auto-versioning)

Subversion requires creating an activity, checking out the resource within
the scope of that activity, doing a PUT to the resulting working resource,
and then doing a MERGE to commit the transaction.

>...
> root@hunkim svn]# ls -RS repo/

This all looks fine. We need the logs for the import.

> BTW I'm working on davfs which makes WebDAV file system on Linux and
> I have a plan to implement delta-V file system which is version control distributed file system

I'm happy to tweak how Subversion describes its resources so that you can
determine what needs to be done. At a minimum, before you just PUT to a
resource, you should be checking the auto-version properties on the
resource. I'm not sure what Subversion publishes for those right now, if
anything.

If a resource doesn't support auto-versioning, then you're going to have to
discover what kind of model the server wants to use for making modifications
to the resource. Whether it is checkout-in-place, using a workspace, or
using working resources. mod_dav_svn further requires you to check out into
an activity, but I'm not sure how that requirement is or can be expressed
using the current spec.

You've got a lot of work ahead of you to be able to write a DeltaV client
that can interoperate with arbitrary servers :-)

btw, have you considered using the CODA kernel module and user-mode
interface, rather than requiring a custom kernel module? That is the
approach taken by the uservfs system (sourceforge.net/projects/uservfs/). It
is really quite neat since CODA appears in some distributions by default (my
RedHat 7.2 has it), and it is available on Solaris. Also, there is another
project called AVFS that can do WebDAV. It is similar to yours, though, in
that it requires a custom kernel module. See that project at
sourceforge.net/projects/avf/.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:48 2006

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