All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.