{"thread":{"id":"2388","subject":"Notes on http-push","startedAt":"2005-11-07T18:34:34Z","lastAt":"2005-11-08T15:50:21Z","messageCount":5,"participants":["Johannes Schindelin","Nick Hengeveld","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"11266","messageId":"Pine.LNX.4.63.0511071926240.14149@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"2388","inReplyTo":null,"subject":"Notes on http-push","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-11-07T18:34:34Z","receivedAt":"2005-11-07T18:34:34Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\ntwo little things I noticed while playing around with http-push:\n\n- if you init your test by git-clone'ing from a http repo, be sure to\n\tadd a slash to the URL, else git-push will tell you erroneously\n\tthat the server does not do DAV locking. (Probably http-push.c \n\tshould be fixed to add the slash when needed.)\n\n- if you execute \"git push origin\", it does not do anything (correctly?),\n\tif there is no \"Push:\" line in .git/remotes/origin (which is the\n\tdefault after cloning). Try \"git push origin master\". (Probably\n\thttp-push or git-push should say something about it, not\n\tjust quit silently.)\n\nIf you want to play with it yourself: A minimal setup using Apache needs \nsomething like this in httpd.conf:\n\n--- snip ---\n<Location /gits>\n  DAV on\n  Deny From *\n  Allow From 192.168.0.\n</Location>\n\nDAVLockDB \"/usr/local/apache2/temp/DAV.lock\"\n--- snap ---\n\nMake sure that your www user has write permissions on <HTDOCS>/gits and on \nthe DAV lock.\n\nHave fun,\nDscho\n"},{"id":"11268","messageId":"20051107190749.GB4070@reactrix.com","threadId":"2388","inReplyTo":"Pine.LNX.4.63.0511071926240.14149@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: Notes on http-push","fromName":"Nick Hengeveld","fromEmail":"nickh@reactrix.com","sentAt":"2005-11-07T19:07:49Z","receivedAt":"2005-11-07T19:07:49Z","isPatch":false,"sender":{"key":"nickh@reactrix.com","avatar":null},"body":"On Mon, Nov 07, 2005 at 07:34:34PM +0100, Johannes Schindelin wrote:\n\n> - if you init your test by git-clone'ing from a http repo, be sure to\n> \tadd a slash to the URL, else git-push will tell you erroneously\n> \tthat the server does not do DAV locking. (Probably http-push.c \n> \tshould be fixed to add the slash when needed.)\n\nIn the -fetch counterparts, the trailing slash is added by git-fetch.sh,\ndoes this belong in the get_remote_url() function in\ngit-parse-remote.sh?  I've only pushed with DAV, so I'm not sure whether\nthat would break anything else.\n\n-- \nFor a successful technology, reality must take precedence over public\nrelations, for nature cannot be fooled.\n"},{"id":"11307","messageId":"20051108084620.GA5830@reactrix.com","threadId":"2388","inReplyTo":"Pine.LNX.4.63.0511071926240.14149@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: Notes on http-push","fromName":"Nick Hengeveld","fromEmail":"nickh@reactrix.com","sentAt":"2005-11-08T08:46:21Z","receivedAt":"2005-11-08T08:46:21Z","isPatch":false,"sender":{"key":"nickh@reactrix.com","avatar":null},"body":"On Mon, Nov 07, 2005 at 07:34:34PM +0100, Johannes Schindelin wrote:\n\n> If you want to play with it yourself: A minimal setup using Apache needs \n> something like this in httpd.conf:\n\nIn the interest of testing push against another DAV server\nimplementation, I tried using Subversion's Apache DAV/DeltaV module.\nIt works if you enable autoversioning and authentication, which makes\nfor a slightly different minimal Apache setup:\n\nLoadModule dav_module        modules/mod_dav.so\nLoadModule dav_svn_module    modules/mod_dav_svn.so\nLoadModule authz_svn_module  modules/mod_authz_svn.so\n<Location /svn>\n    DAV svn\n    SVNPath /path/to/svn/repo\n    SVNAutoversioning on\n    AuthName \"Subversion Repo\"\n    AuthType Basic\n    AuthUserFile ....\n    AuthGroupFile ....\n    <LimitExcept GET>\n        require ....\n    </LimitExcept>\n</Location>\n\nWhile it's kind of useless to place immutable objects under version\ncontrol, it is sort of an interesting side effect that all the meta\nfiles will have a history.\n\n-- \nFor a successful technology, reality must take precedence over public\nrelations, for nature cannot be fooled.\n"},{"id":"11309","messageId":"7vy83zjz0e.fsf@assigned-by-dhcp.cox.net","threadId":"2388","inReplyTo":"20051108084620.GA5830@reactrix.com","subject":"Re: Notes on http-push","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-11-08T08:59:45Z","receivedAt":"2005-11-08T08:59:45Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nick Hengeveld <nickh@reactrix.com> writes:\n\n> In the interest of testing push against another DAV server\n> implementation, I tried using Subversion's Apache DAV/DeltaV module.\n> It works if you enable autoversioning and authentication, which makes\n> for a slightly different minimal Apache setup:\n>...\n> While it's kind of useless to place immutable objects under version\n> control, it is sort of an interesting side effect that all the meta\n> files will have a history.\n\nPushing git commit history into SVN server --- this must be a\nsick joke ;-).  Can you pull over http from there?\n\nBut seriously, it is good that you are trying out talking with\ndifferent servers.  Thanks.\n\nI'm planning to push out the final bit to make git-push aware of\nhttp-push tonight or tomorrow.\n"},{"id":"11324","messageId":"20051108155021.GB5830@reactrix.com","threadId":"2388","inReplyTo":"7vy83zjz0e.fsf@assigned-by-dhcp.cox.net","subject":"Re: Notes on http-push","fromName":"Nick Hengeveld","fromEmail":"nickh@reactrix.com","sentAt":"2005-11-08T15:50:21Z","receivedAt":"2005-11-08T15:50:21Z","isPatch":false,"sender":{"key":"nickh@reactrix.com","avatar":null},"body":"On Tue, Nov 08, 2005 at 12:59:45AM -0800, Junio C Hamano wrote:\n\n> Pushing git commit history into SVN server --- this must be a\n> sick joke ;-).  Can you pull over http from there?\n\nI rather felt like I'd violated some law of nature or something.  Pulls\nwork fine from there - it's feasible to put an entire GIT repo behind a\nDAV server, assuming there's a way to run all the non-push/pull git\ncommands.  If you're using mod_dav_fs, that could just mean having\nshell/filesystem access to the server.  If you're using mod_dav_svn, it\ncould either mean using something like Davfs2 or putting intelligence\ninto the git commands to handle GIT_DIR=http://dav.serv.er/path by using\nHTTP GET/PUT instead of read/write system calls.\n\n-- \nFor a successful technology, reality must take precedence over public\nrelations, for nature cannot be fooled.\n"}]}