Subject: Multiple checkouts active for the same repository

From: Gustavo Narea <[email-masked]>
Date: Fri, 24 Sep 2010 10:29:47 +0100

Hello.

We're currently migrating from another DVCS, which allows us to have
working copies of each branch in separate directories, so that their
code can be used simultaneously. However, I haven't found a way to do
this with Git, at least not an easy way. Can you please help me?

We are a team of Web developers and testers working on an application.
There are always a few development branches and a stable branch, and
testers need all the branches with the very latest code available at all
times.

The way we handle it at the moment is very simple because the server
hosting the remote repository is the same that hosts the deployed
instances of each branch, so when we push to the remote repository, the
code for each site is automatically updated.

We use the following structure:
/srv/repositories/project/branch1
/srv/repositories/project/branch2
/srv/repositories/project/branch3

Is there any simple way to do this with Git? I can only think of two
options that involve hooks:

    * Have a hook that exports each branch to a directory like
      /srv/repositories/project/branchN
    * Have one Git repository per branch, so that each repository have a
      different checkout active. Then the main remote repository will
      have post-receive hooks that trigger a pull on each individual

I'm not particularly happy with either way. Is there a better solution?

-- 
Gustavo Narea.
Software Developer.
2degrees, Ltd. <http://dev.2degreesnetwork.com/>.