git.vger.kernel.org archive mirror
 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 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).