From: Linus Torvalds <torvalds@osdl.org>
To: Han-Wen Nienhuys <hanwen@xs4all.nl>
Cc: git@vger.kernel.org
Subject: Re: multiple branches or multiple repositories
Date: Thu, 2 Nov 2006 23:11:53 -0800 (PST) [thread overview]
Message-ID: <Pine.LNX.4.64.0611022301380.25218@g5.osdl.org> (raw)
In-Reply-To: <eie7ae$ib6$1@sea.gmane.org>
On Fri, 3 Nov 2006, Han-Wen Nienhuys wrote:
>
> We're in the process of converting the LilyPond CVS repository at
> savannah.gnu.org to GIT. One of the questions we need to deal with, is how
> handle modules.
>
> There seem to be two approaches:
>
> - for each module, create a separate git repository. Inside the repository,
> each subproject has its own branching
>
> - put each module as a separate branch in a shared repository.
>
> I think the first option is the most natural one, but are there any issues,
> besides namespace pollution to the second option?
There are no real issues either way, and perhaps more importantly, it's
not even something you have to decide on day one.
You can easily do it one way or the other, and either
- switch around as needed
- or even _mix_ the two approaches where it makes sense.
For example, it may be entirely sensible to have the common "distribution
points" use a single shared repository that contains all modules as
separate branches within the same repository.
But even though such a central distribution point repository is set up
that way, individual developers may well decide that they are happier
having separate repositories for different modules. The two approaches are
not mutually incompatible, and you can fetch data and push it back out
between both different kinds of repositories.
The namespace pollution - especially of tags - is indeed likely to be the
worst issue. If you expect to have many independent modules in the same
repository, you obviously shouldn't use tag-names like the Linux kernel
uses (ie "v2.6.18"), since those would not be unambiguous in such a shared
repo.
(The same is true of branches too, but perhaps less so if only because
people are _already_ using different branch names between different
repositories, and we have good support for translating a local branch
name "X" into a remote branch name "Y" when transferring data between the
two. In contrast, tagnames are kind of expected to be "shared")
But if you're ok with always just naming tags "modulename/release-1.2.3"
or similar, you shouldn't really have any issues either way. And most
importantly, if you do decide to go one way, and then later figure out
that it would have been easier the other way, you can just switch between
the two models, exactly because mixing them isn't really a problem.
next prev parent reply other threads:[~2006-11-03 7:12 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-03 1:51 multiple branches or multiple repositories Han-Wen Nienhuys
2006-11-03 2:38 ` Junio C Hamano
2006-11-03 7:11 ` Linus Torvalds [this message]
2006-11-03 16:01 ` Jeff King
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=Pine.LNX.4.64.0611022301380.25218@g5.osdl.org \
--to=torvalds@osdl.org \
--cc=git@vger.kernel.org \
--cc=hanwen@xs4all.nl \
/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).