From: Eric Niebler <eric@boostpro•com>
To: Avery Pennarun <apenwarr@gmail•com>
Cc: git@vger•kernel.org
Subject: Re: help moving boost.org to git
Date: Tue, 06 Jul 2010 14:29:33 -0400 [thread overview]
Message-ID: <4C33760D.9000404@boostpro.com> (raw)
In-Reply-To: <AANLkTikfTFw_UdV1ia58MbWxH4h8TJAr-Y5WPvlXCjeJ@mail.gmail.com>
On 7/6/2010 2:13 PM, Avery Pennarun wrote:
<snip>
> Specifically, with a tool like git-subtree, it only really works if a
> particular subproject has always existed in the same subdir of your
> repo since it started. If the subdir was ever renamed, or if some of
> the files were previously part of one subdir but then moved around,
> git-subtree doesn't (currently) know how to deal with that.
Bah! Yes, directories have moved around in our svn repro. :-( In
particular, we've had cases where libraries in boost began life as
sub-projects of a different library and then got spun off.
> git-filter-branch can do anything you want, but you have to teach it
> how, which is obviously even *more* error prone.
I can only imagine.
> Things are also a little messy if you have some kind of top-level
> directory with build infrastructure shared by all the subdirs. Does
> the top-level Makefile have a list of the subdirs it needs to build?
Bah! Yes, the build, the docs and the test infrastructure all currently
share files across our submodules-to-be. Surely other projects have
encountered this problem before, right? (KDE, I'm looking in your
direction.)
> If so, there's no way to extract only a subset of true history that
> will still build correctly - it'll be looking for directories that you
> explicitly removed. You could update the Makefiles programmatically
> in every single revision, but that's starting to get extremely
> messy... and your history stops representing what *real life* really
> looked like at the time.
I see what you mean.
> If your subdirs haven't been moving around (which sounds like that
> might be the case for you), and you don't have any top-level files
> that you care about, rewriting might turn out to be straightforward.
> You could also make the decision on a subdir-by-subdir basis, I guess.
More evidence that the fancy filter/branch/subtree/svn2git/whatever
utilities aren't going to get us where we'd like to be. A simple
conversion and grafts look like the only workable approach.
> Have fun,
Having heaps! Thanks,
--
Eric Niebler
BoostPro Computing
http://www.boostpro.com
next prev parent reply other threads:[~2010-07-06 18:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-05 14:16 help moving boost.org to git Eric Niebler
2010-07-05 14:48 ` Erik Faye-Lund
2010-07-05 14:48 ` Johannes Sixt
2010-07-05 17:51 ` Eric Niebler
2010-07-05 18:43 ` Sverre Rabbelier
2010-07-06 15:06 ` Raja R Harinath
2010-07-05 22:04 ` Finn Arne Gangstad
2010-07-05 23:11 ` Eric Niebler
2010-07-05 23:32 ` Avery Pennarun
2010-07-06 0:16 ` Eric Niebler
2010-07-06 17:27 ` Avery Pennarun
2010-07-06 18:00 ` Eric Niebler
2010-07-06 18:13 ` Avery Pennarun
2010-07-06 18:29 ` Eric Niebler [this message]
2010-07-06 1:46 ` Dave Abrahams
2010-07-06 8:51 ` Jakub Narebski
2010-07-06 10:34 ` David Abrahams
2010-07-06 0:16 ` Greg Troxel
2010-07-06 0:25 ` Eric Niebler
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=4C33760D.9000404@boostpro.com \
--to=eric@boostpro$(echo .)com \
--cc=apenwarr@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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