{"thread":{"id":"25820","subject":"disabling PROPFIND when using smart http","startedAt":"2010-11-23T15:40:43Z","lastAt":"2010-11-23T19:50:56Z","messageCount":5,"participants":["Sitaram Chamarty","Ilari Liusvaara","Scott Chacon"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"156395","messageId":"AANLkTikwqtPDDk6i0nMKJiXn5cc3DmTGYp0==daX96yd@mail.gmail.com","threadId":"25820","inReplyTo":null,"subject":"disabling PROPFIND when using smart http","fromName":"Sitaram Chamarty","fromEmail":"sitaramc@gmail.com","sentAt":"2010-11-23T15:40:43Z","receivedAt":"2010-11-23T15:40:43Z","isPatch":false,"sender":{"key":"sitaramc@gmail.com","avatar":"https://avatars.githubusercontent.com/u/43316?v=4"},"body":"Hello,\n\nAlthough smart http worked fine for me out of the box, following \"man\ngit-http-backend\", I've found folks on #git for whom it seems to fail\non doing a PROPFIND (found by setting GIT_CURL_VERBOSE=1).  Enabling\nWebDAV also doesn't seem to help, although that is quite likely to be\nsome nuance in the Apache config I suppose.\n\nThe thing is, I *think* that PROPFIND is not, strictly speaking,\nneeded when you use the smart HTTP mode.  If that is indeed true, can\nwe stop git from even attempting it, and so avoid the need to setup\nWebDAV on Apache?\n\nWould be a great help for many installations.\n\nThanks,\n\n\n--\nSitaram\n"},{"id":"156400","messageId":"20101123161018.GB10420@LK-Perkele-V2.elisa-laajakaista.fi","threadId":"25820","inReplyTo":"AANLkTikwqtPDDk6i0nMKJiXn5cc3DmTGYp0==daX96yd@mail.gmail.com","subject":"Re: disabling PROPFIND when using smart http","fromName":"Ilari Liusvaara","fromEmail":"ilari.liusvaara@elisanet.fi","sentAt":"2010-11-23T16:10:18Z","receivedAt":"2010-11-23T16:10:18Z","isPatch":false,"sender":{"key":"ilari.liusvaara@elisanet.fi","avatar":null},"body":"On Tue, Nov 23, 2010 at 09:10:43PM +0530, Sitaram Chamarty wrote:\n> Hello,\n> \n> Although smart http worked fine for me out of the box, following \"man\n> git-http-backend\", I've found folks on #git for whom it seems to fail\n> on doing a PROPFIND (found by setting GIT_CURL_VERBOSE=1).  Enabling\n> WebDAV also doesn't seem to help, although that is quite likely to be\n> some nuance in the Apache config I suppose.\n> \n> The thing is, I *think* that PROPFIND is not, strictly speaking,\n> needed when you use the smart HTTP mode.  If that is indeed true, can\n> we stop git from even attempting it, and so avoid the need to setup\n> WebDAV on Apache?\n\nI thought that this is quite strange, and as consequence, decided to\ndig a bit. \n\nThis is pretty telling:\n\n$ git grep -i --files-with-matches \"propfind\"\nhttp-push.c\n\nhttp-push.c is AFAIK not used by smart HTTP, only by dumb HTTP\npush.\n\nApparently pusher is falling back to dumb WebDAV push for some\nreason. And then failing because server does not support it\nor isn't configured apporiately for it.\n\n-Ilari\n"},{"id":"156409","messageId":"AANLkTikoGS4X8YbNgLT=Akx5RBj2d4Uybdx5QnJ+CWNo@mail.gmail.com","threadId":"25820","inReplyTo":"20101123161018.GB10420@LK-Perkele-V2.elisa-laajakaista.fi","subject":"Re: disabling PROPFIND when using smart http","fromName":"Scott Chacon","fromEmail":"schacon@gmail.com","sentAt":"2010-11-23T17:31:24Z","receivedAt":"2010-11-23T17:31:24Z","isPatch":false,"sender":{"key":"schacon@gmail.com","avatar":"https://gravatar.com/avatar/9b13a8a078e1dcf8588c4eea9554445d51ebed6c41b51f56f4d96738130b05c6?d=mp&s=160"},"body":"Hey,\n\nOn Tue, Nov 23, 2010 at 8:10 AM, Ilari Liusvaara\n<ilari.liusvaara@elisanet.fi> wrote:\n> Apparently pusher is falling back to dumb WebDAV push for some\n> reason. And then failing because server does not support it\n> or isn't configured apporiately for it.\n\nYes, the client will fall back to 'dumb' HTTP stuff if the server does\nnot respond properly to the initial /info/refs GET call.  I believe\nit's something like if the client asks for\n\n/info/refs?service=git-upload-pack\n\nand the server does not respond with the first line being:\n\n# service=git-upload-pack\n\nor the Content-Type header being:\n\napplication/x-git-upload-pack-advertisement\n\nI believe either of those being absent will cause the client to think\nthat it's not a smart server, so it falls back to the DAV based push.\nIf you let us know what the curl output before that point was, or what\nyour apache config looks like, we might be able to help figure out\nwhat's wrong with the server.\n\nI got these DAV fallbacks all the time when my proxy wasn't letting\nthe /info/refs calls through to Apache properly.\n\nScott\n"},{"id":"156436","messageId":"AANLkTimvKg3mwfZUoRHoj=uW0FxGS=meF-ChLJKEtHcp@mail.gmail.com","threadId":"25820","inReplyTo":"AANLkTikoGS4X8YbNgLT=Akx5RBj2d4Uybdx5QnJ+CWNo@mail.gmail.com","subject":"Re: disabling PROPFIND when using smart http","fromName":"Sitaram Chamarty","fromEmail":"sitaramc@gmail.com","sentAt":"2010-11-23T19:40:42Z","receivedAt":"2010-11-23T19:40:42Z","isPatch":false,"sender":{"key":"sitaramc@gmail.com","avatar":"https://avatars.githubusercontent.com/u/43316?v=4"},"body":"On Tue, Nov 23, 2010 at 11:01 PM, Scott Chacon <schacon@gmail.com> wrote:\n> Hey,\n>\n> On Tue, Nov 23, 2010 at 8:10 AM, Ilari Liusvaara\n> <ilari.liusvaara@elisanet.fi> wrote:\n>> Apparently pusher is falling back to dumb WebDAV push for some\n>> reason. And then failing because server does not support it\n>> or isn't configured apporiately for it.\n>\n> Yes, the client will fall back to 'dumb' HTTP stuff if the server does\n> not respond properly to the initial /info/refs GET call.  I believe\n> it's something like if the client asks for\n>\n> /info/refs?service=git-upload-pack\n>\n> and the server does not respond with the first line being:\n>\n> # service=git-upload-pack\n>\n> or the Content-Type header being:\n>\n> application/x-git-upload-pack-advertisement\n>\n> I believe either of those being absent will cause the client to think\n> that it's not a smart server, so it falls back to the DAV based push.\n> If you let us know what the curl output before that point was, or what\n> your apache config looks like, we might be able to help figure out\n> what's wrong with the server.\n\nWell it was someone else, but the pastie he has sent was\nhttp://pastebin.com/eaB0G1gx -- which may or may not help, because it\ndoesn't seem to show the response *body*, only the headers.\n\nIf that doesn't help I'll try and reproduce the problem myself first.\n\nThanks,\n\nSitaram\n"},{"id":"156438","messageId":"AANLkTikmAGd4Dyv7LijbnKX5Wywzf=zRX2Kpv+6MUZtu@mail.gmail.com","threadId":"25820","inReplyTo":"AANLkTimvKg3mwfZUoRHoj=uW0FxGS=meF-ChLJKEtHcp@mail.gmail.com","subject":"Re: disabling PROPFIND when using smart http","fromName":"Scott Chacon","fromEmail":"schacon@gmail.com","sentAt":"2010-11-23T19:50:56Z","receivedAt":"2010-11-23T19:50:56Z","isPatch":false,"sender":{"key":"schacon@gmail.com","avatar":"https://gravatar.com/avatar/9b13a8a078e1dcf8588c4eea9554445d51ebed6c41b51f56f4d96738130b05c6?d=mp&s=160"},"body":"Hey,\n\nOn Tue, Nov 23, 2010 at 11:40 AM, Sitaram Chamarty <sitaramc@gmail.com> wrote:\n>\n> Well it was someone else, but the pastie he has sent was\n> http://pastebin.com/eaB0G1gx -- which may or may not help, because it\n> doesn't seem to show the response *body*, only the headers.\n>\n> If that doesn't help I'll try and reproduce the problem myself first.\n\nStill, it's enough.  The request is obviously not getting back to the\nGit CGI for some reason.  There are a number of headers that should\nhave been returned after the first authed GET to /info/refs (lines\n35-42 have the servers response).  It should have:\n\n< Content-Type: application/x-git-receive-pack-advertisement\n< Pragma: no-cache\n< Cache-Control: no-cache, max-age=0, must-revalidate\n\nThe Git CGI will set all of those.  Since it's not, and it's setting\nthings like ETags, it's not the Git CGI you're communicating with.\nCheck the apache logs and see why it's not routing the request to the\ncgi.\n\nScott\n"}]}