{"thread":{"id":"20596","subject":"http-push sends MKCOL command to create remote directory MKCOL http://user@server:80/url/.git/refs/ that already exists","startedAt":"2009-08-14T15:42:01Z","lastAt":"2009-08-15T01:28:12Z","messageCount":2,"participants":["willievu","Tay Ray Chuan"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"120640","messageId":"1250264521299-3445796.post@n2.nabble.com","threadId":"20596","inReplyTo":null,"subject":"http-push sends MKCOL command to create remote directory MKCOL http://user@server:80/url/.git/refs/ that already exists","fromName":"willievu","fromEmail":"willievu@dev.java.net","sentAt":"2009-08-14T15:42:01Z","receivedAt":"2009-08-14T15:42:01Z","isPatch":false,"sender":{"key":"willievu@dev.java.net","avatar":null},"body":"\nSteps will reproduce the problem:\n1. create a bare & shared repository locally and copy to remote server\n2. create a local repository. add and commit some files\n3. git push to the remote server\n\n$ git push --verbose --thin upload HEAD\nPushing to http://user@server/url/.git/\nPassword:\nFetching remote heads...\n  refs/\n  refs/heads/\n  refs/tags/\nupdating 'refs/heads/master' using 'HEAD'\n  from 0000000000000000000000000000000000000000\n  to   0120f45ebfd90501868e990bfbb9f50fb0a8ebae\n\n<<<<< Here, a MKCOL http://user@server:80/url/.git/refs/ request is sent.  \nThe WebDAV server returns a HTTP 500 Internal Server Error.  Then, the \nfollowing message continues:\n\nUnable to create branch path http://user@server/url/.git/refs/\nUnable to lock remote branch refs/heads/master\nerror: failed to push some refs to 'http://user@server/url/.git/'\n\nThis is the server:\n\nServer: Oracle9iAS/9.0.2.3.0 Oracle HTTP Server (Unix) mod_plsql/9.0.2.6.0b \nDAV/1.0.3.2.4-0119 (OraDAV enabled) mod_osso/9.0.2.0.0 mod_ossl/9.0.2.0.0 \nmod_fastcgi/2.2.12 mod_perl/1.26 mod_oc4j/3.0\n\nIs MKCOL expected even for existing directory in the remote repository?  Is\nthis a WebDAV server problem that 500 is returned?\n\n-- \nView this message in context: http://n2.nabble.com/http-push-sends-MKCOL-command-to-create-remote-directory-MKCOL-http%3A--user%40server%3A80-url-.git-refs--that-already-exists-tp3445796p3445796.html\nSent from the git mailing list archive at Nabble.com.\n"},{"id":"120679","messageId":"be6fef0d0908141828u1e426dc5nbf94b9a5db015943@mail.gmail.com","threadId":"20596","inReplyTo":"1250264521299-3445796.post@n2.nabble.com","subject":"Re: http-push sends MKCOL command to create remote directory MKCOL http://user@server:80/url/.git/refs/ that already exists","fromName":"Tay Ray Chuan","fromEmail":"rctay89@gmail.com","sentAt":"2009-08-15T01:28:12Z","receivedAt":"2009-08-15T01:28:12Z","isPatch":false,"sender":{"key":"rctay89@gmail.com","avatar":"https://avatars.githubusercontent.com/u/61553?v=4"},"body":"Hi,\n\nOn Fri, Aug 14, 2009 at 11:42 PM, willievu<willievu@dev.java.net> wrote:\n> Is MKCOL expected even for existing directory in the remote repository?  Is\n> this a WebDAV server problem that 500 is returned?\n\nYes, you should expect MKCOLs to be done on directories that already\nexist. On my Apache server with WebDAV, when a MKCOL is done on a\ndirectory that already exists, it returns 405. Reading the WebDAV\nspecs (http://www.webdav.org/specs/rfc4918.html#rfc.section.9.3.1):\n\n  405 (Method Not Allowed) - MKCOL can only be executed on an unmapped URL.\n\nSo this behaviour is accounted for in the spec itself, and git handles this too.\n\nWhat I think is that your server isn't implementing WebDAV right, or\nthat you have some scripts/mods over the git repository you're serving\nthat are failing leading to the 500 error.\n\n-- \nCheers,\nRay Chuan\n"}]}