Subject: Re: Git Confusion

From: Jakub Narebski <[email-masked]>
Date: Fri, 29 May 2009 22:45:55 +0200

On Fri, 29 May 2009, Paul Tarjan wrote:
> Thank you very much. For skimmers the solution is :
> 
> git update-server-info
> 
> every time I do something to the remote repo.
> 
> The reason I need http is slightly convoluted. The remote machine is
> shared hosting with 1 ssh login that I don't want to give to my
> partner AND I don't have root on that box. And as you correctly
> guessed, that box doesn't have the git demon. The local machine where
> he is doing his development. The only solution I saw without giving
> him my username + pass to SSH was to do http cloning. Any better
> solutions?

I see two possible solutions (and you can use both):

1. Have separate publishing repository, which would be bare, and updated
   only via push (so enabling 'update' / 'post-receive' hooks would be
   enough for HTTP). This is good idea also because it makes it possible
   to change commits (rewrite history), e.g. do "git commit --amend"...
   provided that you didn't push part of history you are changing to
   public repository. If you are worrying about disk space, you can
   always set up alternates.

2. Use Gitosis (or ssh_acl) to control access via SSH to repository
   without need to provide extra user accounts, or use git-shell as
   login shell for user accounts which are meant only to access
   repositories. I think you can use Gitosis without being a root...
   see link in BlogPosts page at Git Wiki.

-- 
Jakub Narebski
Poland