On Fri, Sep 24, 2010 at 09:29, Gustavo Narea <gnarea@xxxxxxxxxxxxxxxxxxxxxxxx> wrote: > We're currently migrating from another DVCS. Which one? > 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? If you really need this the best solution is to just `git clone` the project multiple times and check out each branch in its own dir. Then have some shellscript to update them all. But just using the Git workflow would be better. > Apart from the situation I describe in the initial email, there's > another limitation in the development environment: Our IDE, Eclipse + > Pydev, assumes each project (i.e., branch/checkout) to be on different > directories and each project should have different settings (e.g., paths > to dependencies, which could be different), but with GIt everything > would be a single project because it's all on the same path. Can't you just modify your build environment to check the output of `git symbolic-ref HEAD` or equivalent, instead of checking paths? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html