Subject: Re: git-http-push / webDAV

From: Thomas Pasch <[email-masked]>
Date: Tue, 02 Oct 2007 10:49:07 +0200

Dear Eygene,

I've investigated my problem a little further. The nasty
'UNLOCK HTTP error 400' has come from a proxy that
doesn't accept webDAV stuff. Thus I unset the 'http_proxy'
env variable (looks like cadaver hasn't cared...).

However, the main problem still remains. Using a non empty
remote http repo, modifying and committing, then:

> git push -v
Pushing to http://[email-masked]/git/git.git

still waits for a long time and finally:

Error: no DAV locking support on remote repo http://[email-masked]/git/git.git
error: failed to push to 'http://[email-masked]/git/git.git'

Interestingly apache2 access_log is:

[...]
x.x.x.x - test [02/Oct/2007:10:38:03 +0200] "GET /git/git.git/objects/pack/p
ack-563e2090185692c7d765775569a0ce986840fd17.pack HTTP/1.1" 200 15038211
"-" "gi
t/1.5.3.3"
x.x.x.x - test [02/Oct/2007:10:38:35 +0200] "GET /git/git.git/HEAD HTTP/1.1"
 200 23 "-" "curl/7.15.5 (i686-suse-linux-gnu) libcurl/7.15.5
OpenSSL/0.9.8d zli
b/1.2.3 libidn/0.6.8"
x.x.x.x - test [02/Oct/2007:10:39:27 +0200] "PROPFIND /git/git.git HTTP/1.1"
 301 319 "-" "git/1.5.3.3"

Hence a 'Moved Permanently' Error?!?

I'm using a SuSE 10.2 system here. Apache2 git configuration
is in /etc/apache2/conf.d/git-dav.conf:

--->8--->8--->8--->8--->8--->8--->8--->8--->8
<IfModule mod_alias.c>
Alias /git    /data/git
</IfModule>

DAVLockDB /var/lock/apache2/DAVLock

<Directory /data/git>
        # http://httpd.apache.org/docs/2.0/mod/mod_dav.html
        DAV On

        Options +Indexes

        AuthType Basic
        AuthName "git"
        AuthBasicProvider file
        AuthUserFile /etc/apache2/auth/userfile

        Require valid-user
        Order allow,deny
        Allow from all
</Directory>
--->8--->8--->8--->8--->8--->8--->8--->8--->8

Cheers,

Thomas

Eygene Ryabinkin wrote:
> Thomas, good day.
>
> Mon, Oct 01, 2007 at 03:31:40PM +0200, Thomas Pasch wrote:
>> trying to set up a webDAV enabled http push
>> git server (1.5.3.3) like it is described in
>>
>>
http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt
>>
>> Tested the apache2 (2.2.6) DAV setup with
>> cadaver (and tried the browser as well).
>> With cadaver I could lock files, download
>> and upload content.
>>
>> However,
>>
>>> git push -v upload master
>> Pushing to http://[email-masked]/git/DepTrack.git/
>> Fetching remote heads...
>>   refs/
>>   refs/heads/
>>   refs/tags/
>> updating 'refs/heads/master'
>>   from 0000000000000000000000000000000000000000
>>   to   d75dce3fe0e9ec5915feda5574f214bd432ccb14
>>     sending 89 objects
>>     done
>> Updating remote server info
>> UNLOCK HTTP error 400
>
> And how is your Apache configuration looks like?  I used to
> make 2.2.4 work flawlessly with git.  Perhaps I will get it
> a shot with the 2.2.6.