On Monday, September 27, 2010 05:33:32 pm Gustavo Narea wrote: > Hello, > > Thanks! I've given git-new-workdir a try and it seems to be what I was > searching for. > > - Gustavo. > > On 24/09/10 16:33, Julian Phillips wrote: > > On Fri, 24 Sep 2010 10:29:47 +0100, Gustavo Narea > > > > <gnarea@xxxxxxxxxxxxxxxxxxxxxxxx> wrote: > >> 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? > > > > The git-new-workdir script to be found in contrib/workdir allows multiple > > working copies to share the same repository - though there are some > > > > caveats: > > 1) uses symbolic links, so doesn't work on Windows > > 2) the working copies are not aware of each other, so if you change a > > > > checked out branch from another working copy you have to remember to git > > reset your working copy before doing anything with it to get it back in > > sync with the branch > > > > 3) you have to remember not to delete the actual clone > > 4) the working copies are not aware of each other, so it is possible for > > > > objects needed by one working copy to get pruned from another one > > > > Personally, I use this script all the time to checkout multiple branches > > at the same time taking care to stay away from the issues above, and > > everything hums along nicely. > > > >> 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? just check out the branch you need... If you are absolutely in big need of reaching multiple branches at the same time just make a couple of clones... Martin -- 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