Subject: Re: git-http-push and hooks

From: Nick Hengeveld <[email-masked]>
Date: Tue, 7 Feb 2006 14:45:51 -0800

On Tue, Feb 07, 2006 at 01:17:13PM -0800, Junio C Hamano wrote:

> If the server info updates is the _only_ problem, then perhaps
> that would be the easiest and cleanest.  Whenever you update or
> add a ref you would need to update info/refs (otherwise
> ls-remote would not give you the latest info), and whenever you
> repack you would need to update objects/info/packs.

What happens if someone else updates a ref and it no longer matches your
local ref?  Should the push scan the remote versions of all local refs
and update whatever doesn't match?

> You may probably want to have a CGI to allow you manage the
> repository remotely anyway, to trigger a repack or remove a
> stale branch head, for example.  Once you go that route maybe
> having the CGI to do something like the pack protocol for more
> efficient transfer might become more attractive.

That's an option if the user has the ability to install CGI scripts on the
DAV server, which doesn't seem like it will always be true.  Perhaps it
would make sense to do both:

- add a git-http-repack command that works in a DAV-only environment
- add a CGI script to provide remote management, and a config
  setting to git-http-push for the remote management URL

-- 
For a successful technology, reality must take precedence over public
relations, for nature cannot be fooled.