From: Martin Pettersson <martin@siamect.com>
To: git@vger.kernel.org
Subject: Re: Multiple checkouts active for the same repository
Date: Mon, 27 Sep 2010 18:53:53 +0700 [thread overview]
Message-ID: <201009271853.53564.martin@siamect.com> (raw)
In-Reply-To: <4CA072FC.3020004@tech.2degreesnetwork.com>
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@tech.2degreesnetwork.com> 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
next prev parent reply other threads:[~2010-09-27 12:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-24 9:29 Multiple checkouts active for the same repository Gustavo Narea
2010-09-24 11:55 ` Gustavo Narea
2010-09-24 13:07 ` Ævar Arnfjörð Bjarmason
2010-09-24 14:42 ` Gustavo Narea
2010-09-24 15:33 ` Julian Phillips
2010-09-24 16:32 ` Joshua Jensen
2010-09-27 10:33 ` Gustavo Narea
2010-09-27 11:53 ` Martin Pettersson [this message]
2010-09-24 15:57 ` Jakub Narebski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201009271853.53564.martin@siamect.com \
--to=martin@siamect.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).