threads / discuss / 15143

Push over WebDAV and hooks

Subject: Push over WebDAV and hooks

## tl;dr

4 messages between Aug 21, 2008 and Aug 21, 2008.

replies: 3people: 3as markdown or json

Nikolai Prokoschenko· Aug 21, 2008, 19:48 UTC · lore
Hello,

I'm sorry for a dumb novice question, but there is something I don't quite understand and neither the docs nor all the blog entries on the net are really clear on this.

I have a (bare) repository on my server. Since I need to access it from firewalled networks, I can't go with git protocol or SSH; I thought WebDAV is the way to go. However I've noticed that my hooks are not executed and could not really think of a way the could ever work, since WebDAV is essentially a virtual hard drive without any execution capability. So am I right, hooks aren't supposed to work with WebDAV and so I'd have to find a way to use SSH or git:// to push changes?

Thanks.
Nikolai.
Shawn O. Pearce· Aug 21, 2008, 20:11 UTC · re: Nikolai Prokoschenko · lore

Re: Push over WebDAV and hooks

Nikolai Prokoschenko <nikolai@prokoschenko.de> wrote:
Show 7 quoted lines
> I have a (bare) repository on my server. Since I need to access it from  
> firewalled networks, I can't go with git protocol or SSH; I thought  
> WebDAV is the way to go. However I've noticed that my hooks are not  
> executed and could not really think of a way the could ever work, since  
> WebDAV is essentially a virtual hard drive without any execution  
> capability. So am I right, hooks aren't supposed to work with WebDAV and  
> so I'd have to find a way to use SSH or git:// to push changes?

Correct. Hooks can only be executed if you use SSH or git:// to push the changes, as there is no remote execution available via WebDAV.

That said if someone was really interested in this they could try to make hook CGIs and teach git-http-push how to execute them by sending a GET to the proper URL. But then you are relying on the client to honor the hooks, and only newer clients (post that change) would support it.

-- 
Shawn.
Nikolai Prokoschenko· Aug 21, 2008, 20:13 UTC · re: Shawn O. Pearce · lore

Re: Push over WebDAV and hooks

Shawn O. Pearce wrote:
> Correct.  Hooks can only be executed if you use SSH or git:// to push
> the changes, as there is no remote execution available via WebDAV.
Thank you for the quick answer. I'm off to evaluating other options...
Nikolai
Mike Hommey· Aug 21, 2008, 21:15 UTC · re: Shawn O. Pearce · lore

Re: Push over WebDAV and hooks

On Thu, Aug 21, 2008 at 01:11:26PM -0700, Shawn O. Pearce wrote:
Show 17 quoted lines
> Nikolai Prokoschenko <nikolai@prokoschenko.de> wrote:
> > I have a (bare) repository on my server. Since I need to access it from  
> > firewalled networks, I can't go with git protocol or SSH; I thought  
> > WebDAV is the way to go. However I've noticed that my hooks are not  
> > executed and could not really think of a way the could ever work, since  
> > WebDAV is essentially a virtual hard drive without any execution  
> > capability. So am I right, hooks aren't supposed to work with WebDAV and  
> > so I'd have to find a way to use SSH or git:// to push changes?
> 
> Correct.  Hooks can only be executed if you use SSH or git:// to push
> the changes, as there is no remote execution available via WebDAV.
> 
> That said if someone was really interested in this they could try
> to make hook CGIs and teach git-http-push how to execute them by
> sending a GET to the proper URL.  But then you are relying on the
> client to honor the hooks, and only newer clients (post that change)
> would support it.

One can surely set special PUT action scripts for some special files, such as refs. But one needs to know how to write such action scripts and to have enough apache/webserver priviledge to activate them.

Mike

← back to recent threads