Hi,
I want to use Subversion with a remote working copy. I use subclipse. The
solution I found is to create a webdav folder on my apache2 server (works
fine), then to map it on my windows client with NetDrive (works fine too) -
ftp and samba are far too slow. I've got a new drive, say 'X', which will be
my workspace on Eclipse (ok, .metadata directory is created remotely). The
final step is to connect via subclipe to my svn repository, select a
directory, and "check out as projet" that directory in my remote workspace.
Everything seems to work great, the .svn directory is created remotely. Then
come a renaming operation.
..svn/format.tmp -> .svn/format
which send me a 404 error, and the whole process is stopped.
dav.access_log
82.xxxxxxxxx - - [16/Aug/2005:11:12:27 +0200] "PROPFIND
/scripts/.svn/format.tmp HTTP/1.1" 207 779 "-" "Microsoft Data Access
Internet Publishing Pro
vider DAV"
82.xxxxxxxxx- - [16/Aug/2005:11:12:32 +0200] "MOVE /scripts/.svn/format.tmp
HTTP/1.1" 404 296 "-" "Microsoft Data Access Internet Publishing Provide
r DAV"
82.xxxxxxxxx- - [16/Aug/2005:11:12:40 +0200] "MOVE /scripts/.svn/format.tmp
HTTP/1.1" 201 316 "-" "Microsoft Data Access Internet Publishing Provide
r DAV"
82.xxxxxxxxx- - [16/Aug/2005:11:12:41 +0200] "PROPFIND
/scripts/.svn/format.tm HTTP/1.1" 207 778 "-" "Microsoft Data Access
Internet Publishing Prov
ider DAV"
82.xxxxxxxxx- - [16/Aug/2005:11:12:45 +0200] "MOVE /scripts/.svn/format.tm
HTTP/1.1" 201 317 "-" "Microsoft Data Access Internet Publishing Provider
DAV"
As you can see, renaming format.tmp into format.tm works(201). But
format.tmp into format fails !
dav.error_log
[Tue Aug 16 11:12:32 2005] [error] [client 82.xxxxxxxxx] Negotiation:
discovered file(s) matching request:
/home/Dev1Space/davtest/scripts/.svn/forma
t (None could be negotiated).
apache conf on the virtual host for webdav
<VirtualHost *:80>
DocumentRoot /home/Dev1Space/davtest/
ServerName xxxxxxxxx
ServerAlais xxxxxxxx
CustomLog /home/popfactory/logs/dav.access_log combined
ErrorLog /home/popfactory/logs/dav.error_log
#Alias /test1 /home/Dev1Space/davtest/test1
ScriptAlias /cgi /home/Dev1Space/davtest/cgi
Script MOVE /cgi/yo.php
<Directory /home/Dev1Space/davtest/cgi/>
Options ExecCGI
SetHandler cgi-script
</Directory>
<Directory /home/Dev1Space/davtest/>
Options Indexes MultiViews
Script MOVE /cgi/yo.php
Dav On
#AllowOverride None
order allow,deny
allow from all
#AuthType Basic
#AuthUserFile /etc/apache2/conf/vhosts/virtual/passdav
#AuthName "mon_utilisateur_webdav"
</Directory>
</VirtualHost>
In fact, the webdav client send a MOVE method to make the renaming operation
in the webdav subfolder /scripts/.svn/ . This operation just fails when the
renaming operation consists in removing the extension.
If you connect a network drive on a webdav folder, then navigate via your
windows system browser in your remote directory, you can do every renaming
operation except remove the extension. Yet, a shell mv command can do that
without problem. So far, the MOVE method does not seem to be handled
correctly.
I've tried to intercept the MOVE method but it does not work( my CGI script
is not called). I've not sure about the ability of that directive and the
ability of addHandler to override Dav On. I need some informations on that
particular point
Any ideas would help a lot
Thanks a lot
Alexandre Damiron - PopFactory.com
>> Stay informed about: WebDav, MOVE, and renaming problem