All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Ericsson <ae@op5.se>
To: Thomas Hauk <tom@shaggyfrog.com>
Cc: git@vger.kernel.org
Subject: Re: Project- vs. Package-Level Branching in Git
Date: Thu, 27 Jan 2011 21:09:39 +0100	[thread overview]
Message-ID: <4D41D103.4080502@op5.se> (raw)
In-Reply-To: <14F4737F-E8E4-4E4E-A625-16CA63CF9EFF@shaggyfrog.com>

On 01/27/2011 08:38 PM, Thomas Hauk wrote:
> Back when I worked at a large games company, we used Perforce, and
> our repo structure looked a little something like this:
> 
> /branches /alpha /beta /mainline /packages /external /foolib /1.0 
> /1.1 /2.0 /internal /barlib /dev /1.0 /2.0 /bazlib /2.34 /2.35 /qux 
> /dev
> 
> At the package level, we would split up packages/libraries into two
> groups based on if they were developed at the company or not
> (external/internal), and inside each one, we might have multiple
> versions. In the example above, the repo is for the "qux" game, which
> uses an internal "bazlib" library developed by another group, and the
> "barlib" library which was developed for use on "qux" and may be used
> simultaneously on other projects.
> 
> Project-level branches took mainline as a base and branched into the
> /branches directory. Package-level branches would usually take the
> "dev" version (which represented the current development version,
> akin to "master" in Git) as a base and branch into the same parent
> directory but with an actual version name.
> 
> I've successfully used this repo structure with several other
> projects over the years at other companies (who were mostly using
> Subversion). Now I'm trying to get into the Git swing of things, but
> it seems to be that Git only offers project-level branching, and
> doesn't allow for the kind of package-level branching I'm describing
> here.
> 
> Am I incorrect or is there a way to accomplish with Git what I was
> doing before with P4 and SVN?
> 

You're correct. There's no way to accomplish what you wish to do
inside git. I'd suggest submodules, but that still doesn't get
you the per-directory branching inside a git repository, even
though it does make it rather trivial to change versions at will.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.

  reply	other threads:[~2011-01-27 20:09 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-27 19:38 Project- vs. Package-Level Branching in Git Thomas Hauk
2011-01-27 20:09 ` Andreas Ericsson [this message]
2011-01-27 20:53 ` Ævar Arnfjörð Bjarmason
2011-01-27 23:22   ` Thomas Hauk
2011-01-28  8:30     ` Jay Soffian
2011-01-28  9:38     ` Jakub Narebski
2011-01-29 19:42       ` Enrico Weigelt
2011-01-29 23:28         ` David Aguilar
2011-01-30 19:36           ` Enrico Weigelt
2011-01-31  0:36             ` Jakub Narebski
2011-01-31  8:56               ` Enrico Weigelt
2011-01-28 16:20     ` Marc Branchaud
2011-01-28 16:39     ` in-gitvger
2011-01-28 21:43     ` Eugene Sajine
2011-01-29 19:33     ` Enrico Weigelt
2011-01-29 19:08 ` Enrico Weigelt

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=4D41D103.4080502@op5.se \
    --to=ae@op5.se \
    --cc=git@vger.kernel.org \
    --cc=tom@shaggyfrog.com \
    /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.