Subject: git-http-push / webDAV

From: Thomas Pasch <[email-masked]>
Date: Mon, 01 Oct 2007 15:31:40 +0200

Hello,

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

Also tried:

> git-http-push --all --verbose http://x.x.x.x/git/DepTrack.git/ master
Getting pack list
Fetching remote heads...
  refs/
  refs/heads/
  refs/tags/
'refs/heads/master': up-to-date

... and then tried to clone:

> git clone http://[email-masked]/git/DepTrack.git
Initialized empty Git repository in /home/tpasch/tmp/tmp/DepTrack/.git/
Getting alternates list for http://[email-masked]/git/DepTrack.git
Getting pack list for http://[email-masked]/git/DepTrack.git
error: Unable to find d75dce3fe0e9ec5915feda5574f214bd432ccb14 under
http://[email-masked]/git/DepTrack.git
Cannot obtain needed object d75dce3fe0e9ec5915feda5574f214bd432ccb14

Finally, tried a *non-empty* repo at the server:

> git clone --bare /home/tpasch/tmp/tmp/trunk DepTrack.git
Initialized empty Git repository in /data/git/DepTrack.git/
22911 blocks
> cd DepTrack.git/
> git --bare update-server-info
> chmod a+x hooks/post-update
> chown -R wwwrun:www /data/git

... cloned:

> git clone http://[email-masked]/git/DepTrack.git
Initialized empty Git repository in /home/tpasch/tmp/tmp/DepTrack/.git/
got d75dce3fe0e9ec5915feda5574f214bd432ccb14
walk d75dce3fe0e9ec5915feda5574f214bd432ccb14
got 8a459da1fb520cbc2534b87d3c0d8539fa010f45
got 31c3b20e1d7d7ca414a273fe80f4c49466250709
walk 31c3b20e1d7d7ca414a273fe80f4c49466250709
got ca647ac42188a8ed859260503abc41f98fd21be6
[...]
got 7e089ccc1819d4e69b228b3359690f685728248b
Checking 66 files out...
 100% (66/66) done

... then modified a file and pushed:

> git add test.txt
> git commit
> git push -v
Pushing to http://[email-masked]/git/DepTrack.git

But this never returns. (Also tried:
> git-http-push --all --verbose http://x.x.x.x/git/DepTrack.git/ master
Getting pack list
Fetching remote heads...
  refs/
  refs/heads/
  refs/tags/
updating 'refs/heads/master'
  from d75dce3fe0e9ec5915feda5574f214bd432ccb14
  to   07002e0423e803096eb07eb5c46651b00ed20725
    sending 3 objects
    done
Updating remote server info
UNLOCK HTTP error 400
)

Any suggestions?

Cheers,

Thomas

PS:
This is how I initialized the repo:

> git --bare init
Initialized empty Git repository in /data/git/DepTrack.git/
> git --bare update-server-info
> chmod a+x hooks/post-update
> chown -R wwwrun:www /data/git
> /etc/init.d/apache2 restart