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

Re: help moving boost.org to git

From
GTGreg Troxel <gdt@ir.bbn.com>
Date
Jul 6, 2010, 00:16 UTC
Message-ID
<rmimxu5bh2s.fsf@fnord.ir.bbn.com>
In-Reply-To
<4C31E944.30801@boostpro.com>

You have found the core issue with svn/git: svn allows you to have a large repo with everything (and atomic commits across it) and to have users check out parts of the repo separately. git does not, because the svn separate checkouts model only works with a remote repository that you don't keep a copy of. With git, cloning the repo gets you the whole thing.

One thought is that you may want to separate how you organize boost sources in git and how you release them. It's possible to have a single git repo for all libraries and have atomic commits but then create distfiles for each library separately.

git becomes a bit slow when repositories get really large (although other tools are not any better - the problem is in the sheer number of vnode ops necessary for the semantics). I have a repo with all of NetBSD's "src", "xsrc" and "pkgsrc" in it, and "git status" can take several seconds because it is calling stat on 230K files. With only 23K files, things should be ok.

My advice (which is not really about git) is to figure out whether you want:

  A) a set of interrelated libraries on which you will allow atomic
  commits that change interfaces/usage in multiple libraries
or
  B) a set of independent libaries which have commits to separate
  libraries, and for which you insist that each library have an API and
  ABI compatiblity story, so that even when upgraded other libraries can
  continue to use it.

For A, you probably want one git repo, much as you have one svn repo now. For B, multiple git repos are the right answer.

Previous: David AbrahamsNext: Eric Niebler
Message 18 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.