{"thread":{"id":"15143","subject":"Push over WebDAV and hooks","startedAt":"2008-08-21T19:48:52Z","lastAt":"2008-08-21T21:15:10Z","messageCount":4,"participants":["Nikolai Prokoschenko","Shawn O. Pearce","Mike Hommey"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"88024","messageId":"g8kgr5$e67$1@ger.gmane.org","threadId":"15143","inReplyTo":null,"subject":"Push over WebDAV and hooks","fromName":"Nikolai Prokoschenko","fromEmail":"nikolai@prokoschenko.de","sentAt":"2008-08-21T19:48:52Z","receivedAt":"2008-08-21T19:48:52Z","isPatch":false,"sender":{"key":"nikolai@prokoschenko.de","avatar":null},"body":"Hello,\n\nI'm sorry for a dumb novice question, but there is something I don't \nquite understand and neither the docs nor all the blog entries on the \nnet are really clear on this.\n\nI have a (bare) repository on my server. Since I need to access it from \nfirewalled networks, I can't go with git protocol or SSH; I thought \nWebDAV is the way to go. However I've noticed that my hooks are not \nexecuted and could not really think of a way the could ever work, since \nWebDAV is essentially a virtual hard drive without any execution \ncapability. So am I right, hooks aren't supposed to work with WebDAV and \nso I'd have to find a way to use SSH or git:// to push changes?\n\nThanks.\n\nNikolai.\n"},{"id":"88026","messageId":"20080821201126.GY3483@spearce.org","threadId":"15143","inReplyTo":"g8kgr5$e67$1@ger.gmane.org","subject":"Re: Push over WebDAV and hooks","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2008-08-21T20:11:26Z","receivedAt":"2008-08-21T20:11:26Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Nikolai Prokoschenko <nikolai@prokoschenko.de> wrote:\n> I have a (bare) repository on my server. Since I need to access it from  \n> firewalled networks, I can't go with git protocol or SSH; I thought  \n> WebDAV is the way to go. However I've noticed that my hooks are not  \n> executed and could not really think of a way the could ever work, since  \n> WebDAV is essentially a virtual hard drive without any execution  \n> capability. So am I right, hooks aren't supposed to work with WebDAV and  \n> so I'd have to find a way to use SSH or git:// to push changes?\n\nCorrect.  Hooks can only be executed if you use SSH or git:// to push\nthe changes, as there is no remote execution available via WebDAV.\n\nThat said if someone was really interested in this they could try\nto make hook CGIs and teach git-http-push how to execute them by\nsending a GET to the proper URL.  But then you are relying on the\nclient to honor the hooks, and only newer clients (post that change)\nwould support it.\n\n-- \nShawn.\n"},{"id":"88029","messageId":"g8ki9r$j4o$1@ger.gmane.org","threadId":"15143","inReplyTo":"20080821201126.GY3483@spearce.org","subject":"Re: Push over WebDAV and hooks","fromName":"Nikolai Prokoschenko","fromEmail":"nikolai@prokoschenko.de","sentAt":"2008-08-21T20:13:47Z","receivedAt":"2008-08-21T20:13:47Z","isPatch":false,"sender":{"key":"nikolai@prokoschenko.de","avatar":null},"body":"Shawn O. Pearce wrote:\n> Correct.  Hooks can only be executed if you use SSH or git:// to push\n> the changes, as there is no remote execution available via WebDAV.\n\nThank you for the quick answer. I'm off to evaluating other options...\n\nNikolai\n"},{"id":"88042","messageId":"20080821211510.GA18403@glandium.org","threadId":"15143","inReplyTo":"20080821201126.GY3483@spearce.org","subject":"Re: Push over WebDAV and hooks","fromName":"Mike Hommey","fromEmail":"mh@glandium.org","sentAt":"2008-08-21T21:15:10Z","receivedAt":"2008-08-21T21:15:10Z","isPatch":false,"sender":{"key":"mh@glandium.org","avatar":"https://avatars.githubusercontent.com/u/1038527?v=4"},"body":"On Thu, Aug 21, 2008 at 01:11:26PM -0700, Shawn O. Pearce wrote:\n> Nikolai Prokoschenko <nikolai@prokoschenko.de> wrote:\n> > I have a (bare) repository on my server. Since I need to access it from  \n> > firewalled networks, I can't go with git protocol or SSH; I thought  \n> > WebDAV is the way to go. However I've noticed that my hooks are not  \n> > executed and could not really think of a way the could ever work, since  \n> > WebDAV is essentially a virtual hard drive without any execution  \n> > capability. So am I right, hooks aren't supposed to work with WebDAV and  \n> > so I'd have to find a way to use SSH or git:// to push changes?\n> \n> Correct.  Hooks can only be executed if you use SSH or git:// to push\n> the changes, as there is no remote execution available via WebDAV.\n> \n> That said if someone was really interested in this they could try\n> to make hook CGIs and teach git-http-push how to execute them by\n> sending a GET to the proper URL.  But then you are relying on the\n> client to honor the hooks, and only newer clients (post that change)\n> would support it.\n\nOne can surely set special PUT action scripts for some special files,\nsuch as refs. But one needs to know how to write such action scripts\nand to have enough apache/webserver priviledge to activate them.\n\nMike\n"}]}