Subject: Re: git push from client is not updating files on server

From: Neal Kreitzinger <[email-masked]>
Date: Tue, 06 Mar 2012 20:34:46 -0600

On 3/6/2012 6:28 PM, Jerome Yanga wrote:
> The project in Apache's DocumentRoot was created using the following command:
>
> "cd /var/www/git
> git clone --bare<non-bare working directory>  <project>.git"
>
> Hence, I believe that is is bare.  Besides, it does not have .git
> folder.

The bare repo is the .git folder.  That's why its called barerepo.git. 
.git = git repo.  worktree/.git = non-bare repo with worktree and .git 
repo.  barerepo.git = bare repo and no worktree.

> I assumed that when I did this that the non-bare directory
> will also be updated when a push is performed via http.
>
The non-bare you cloned from is independent.  It doesn't know about the 
bare repo you cloned from it, and your bare repo does not know about the 
non-bare repo it was cloned from.  I'm not sure what you were doing with 
that non-bare before you created the bare from it.  You may not need 
that non-bare anymore if that's all it was for.

> My objective is that I would like the developers to be able to push
> via http and these pushes will need to be reflected on the non-bare
> working directory as these directories will be used for automated
> tests.
>
Create a new non-bare clone of your bare repo.  Then do git-pull on the 
new non-bare after the bare gets updates (someone does git push to it) 
and you want to test those new commits.  The worktree of the new 
non-bare clone can be the document root of your testing virtual host, if 
that's what you're doing.  That way, you know that no one else is 
messing with new non-bare (test repo) like doing development in it and 
messing up your tests.

v/r,
neal