Re: git push from client is not updating files on server
- From
- Neal Kreitzinger <nkreitzinger@gmail.com>
- Date
- Mar 7, 2012, 02:34 UTC
- Message-ID
- <4F56C946.8080601@gmail.com>
- In-Reply-To
- <CAC0z1F9sBYCuv_HMCx1ryWLvxZKUcLPS1UUj80ihEesje+SKzg@mail.gmail.com>
On 3/6/2012 6:28 PM, Jerome Yanga wrote:
Show 7 quoted lines
> 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.
Show 5 quoted lines
> 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