From: Avery Pennarun <apenwarr@gmail.com>
To: Paul Richards <paul.richards@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: How to manage multiple personal projects
Date: Wed, 15 Jul 2009 12:39:11 -0400 [thread overview]
Message-ID: <32541b130907150939w563eeb63ib850513c93d35c2c@mail.gmail.com> (raw)
In-Reply-To: <a1138db30907150900j7d6152ebs755d83adf7717287@mail.gmail.com>
On Wed, Jul 15, 2009 at 12:00 PM, Paul Richards<paul.richards@gmail.com> wrote:
> I believe the correct choice with Git is to create a repository per
> project. This would work OK for me, but I worry about the shear
> number of repositories I'd end up creating. Part of the nice thing
> with my current Subversion setup is that starting a new project is
> very easy and cheap, I don't create a new repository each time.
Creating the repository for a git project is astonishingly cheap,
because the initial repository exists inside the source tree of the
project itself. So you don't even have to decide in advance what to
name your project. I'd say this is even easier than creating a new
svn directory.
You could then decide to publish your project (and go through a couple
of steps to do so) only if it's important enough. Also, if you use
something like github.com, this part is really easy - and someone else
will pay the bandwidth costs.
> I think what might work with Git (and for which I'd like some advice)
> is something inbetween. I could have a single Git repository to hold
> my small experiment projects where initially is where I always start
> my work by creating a new directory. Then if any of them start to
> mature, I could move the project out into it's own repository for
> real. Would Git support this in some way tracking changes from one
> repo to the other? Or would I end up having to "replay" all the
> commits from one repo to the other?
Although I definitely recommend just making one git repo per project
in your case, you *could* do exactly what you describe above using
git-subtree: http://github.com/apenwarr/git-subtree. Disclosure: I
wrote git-subtree, so I like it by default.
However, doing this would only really be useful if your projects
cross-reference each other in some way. My main motivation for
writing git-subtree, for example, is that I often end up building
useful tools that grow inside one of my other projects, then turn out
to be good on their own (or as part of another project). So it's not
that I kept unrelated projects together for convenience (because it
really isn't any more or less convenient in git), but rather that I
wasn't able to predict the future, and git-subtree lets me change my
mind.
Have fun,
Avery
next prev parent reply other threads:[~2009-07-15 16:40 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-15 16:00 How to manage multiple personal projects Paul Richards
2009-07-15 16:39 ` Avery Pennarun [this message]
2009-07-15 17:45 ` 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=32541b130907150939w563eeb63ib850513c93d35c2c@mail.gmail.com \
--to=apenwarr@gmail.com \
--cc=git@vger.kernel.org \
--cc=paul.richards@gmail.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).