git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: help moving boost.org to git

From
Eric Niebler <eric@boostpro.com>
Date
Jul 6, 2010, 18:29 UTC
Message-ID
<4C33760D.9000404@boostpro.com>
In-Reply-To
<AANLkTikfTFw_UdV1ia58MbWxH4h8TJAr-Y5WPvlXCjeJ@mail.gmail.com>

On 7/6/2010 2:13 PM, Avery Pennarun wrote: <snip>

Show 5 quoted lines
> 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.)

Show 6 quoted lines
> 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
Previous: Avery PennarunNext: Dave Abrahams
Message 14 of 19 in “help moving boost.org to git”
  1. Eric NieblerJul 5, 2010
  2. Erik Faye-LundJul 5, 2010
  3. Johannes SixtJul 5, 2010
  4. Eric NieblerJul 5, 2010
  5. Sverre RabbelierJul 5, 2010
  6. Raja R HarinathJul 6, 2010
  7. Finn Arne GangstadJul 5, 2010
  8. Eric NieblerJul 5, 2010
  9. Avery PennarunJul 5, 2010
  10. Eric NieblerJul 6, 2010
  11. Avery PennarunJul 6, 2010
  12. Eric NieblerJul 6, 2010
  13. Avery PennarunJul 6, 2010
  14. Eric NieblerJul 6, 2010
  15. Dave AbrahamsJul 6, 2010
  16. Jakub NarebskiJul 6, 2010
  17. David AbrahamsJul 6, 2010
  18. Greg TroxelJul 6, 2010
  19. Eric NieblerJul 6, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.