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

Re: cvs import

From
DCDaniel Carosone <dan@geek.com.au>
Date
Sep 14, 2006, 03:19 UTC
Message-ID
<20060914031918.GY29625@bcd.geek.com.au>
In-Reply-To
<20060914023017.GA31889@spearce.org>
On Wed, Sep 13, 2006 at 10:30:17PM -0400, Shawn Pearce wrote:
> I don't know exactly how big it is but the Gentoo CVS repository
> is also considered to be very large (about the size of the Mozilla
> repository) and just as difficult to import.  Its either crashed or
> taken about a month to process with the current Git CVS->Git tools.
Ah, thanks for the tip.
Show 6 quoted lines
> Since I know that the bulk of the Gentoo CVS repository is the
> portage tree I did a quick find|wc -l in my /usr/portage; its about
> 124,500 files.
> 
> Its interesting that Gentoo has almost as large of a repository given
> that its such a young project, compared to NetBSD and Mozilla.  :-)

Portage uses files and thus CVS very differently, though. Each ebuild for each package revision of each version of a third-party package (like, say, monotone 0.28 and 0.29, and -r1, -r2 pkg bumps of those if they were needed) is its own file that's added, maybe edited a couple of times, and then deleted again later as new versions are added and older ones retired. These are copies and renames in the workspace, but are invisible to CVS. This uses up lots more files than a single long-lived build that gets edited each time; the Attic dirs must have huge numbers of files, way beyond the number that are live now.

This lets portage keep builds around in a HEAD checkout for multiple versions at once, tagged internally with different statuses. Effectively, these tags take the place of VCS-based branches and releases, and are more flexible for end users tracking their favourite applications while keeping the rest of their system stable.

If they had a VCS that supported file cloning and/or renaming, and used that to follow history between these ebuild files, things would be very different. There are some interesting use cases for VCS tools in supporting this behaviour nicely, too.

-- Dan.

_______________________________________________ Monotone-devel mailing list Monotone-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/monotone-devel

Previous: Shawn PearceNext: Petr Baudis
Message 35 of 38 in “Re: cvs import”
  1. Jon SmirlSep 13, 2006
  2. Martin LanghoffSep 13, 2006
  3. Markus SchiltknechtSep 13, 2006
  4. Oswald BuddenhagenSep 13, 2006
  5. Martin LanghoffSep 13, 2006
  6. Michael HaggertySep 14, 2006
  7. Jon SmirlSep 14, 2006
  8. Michael HaggertySep 14, 2006
  9. Martin LanghoffSep 14, 2006
  10. Michael HaggertySep 14, 2006
  11. Jon SmirlSep 14, 2006
  12. Martin LanghoffSep 14, 2006
  13. Markus SchiltknechtSep 13, 2006
  14. Jon SmirlSep 13, 2006
  15. Michael HaggertySep 14, 2006
  16. Shawn PearceSep 14, 2006
  17. Jakub NarebskiSep 14, 2006
  18. Shawn PearceSep 14, 2006
  19. Jon SmirlSep 14, 2006
  20. Michael HaggertySep 14, 2006
  21. Jakub NarebskiSep 14, 2006
  22. Jon SmirlSep 14, 2006
  23. Markus SchiltknechtSep 15, 2006
  24. Shawn PearceSep 16, 2006
  25. Oswald BuddenhagenSep 16, 2006
  26. Nathaniel SmithSep 16, 2006
  27. Nathaniel SmithSep 13, 2006
  28. Daniel CarosoneSep 13, 2006
  29. Daniel CarosoneSep 13, 2006
  30. Keith PackardSep 13, 2006
  31. Nathaniel SmithSep 14, 2006
  32. Jon SmirlSep 14, 2006
  33. Daniel CarosoneSep 14, 2006
  34. Shawn PearceSep 14, 2006
  35. Daniel CarosoneSep 14, 2006
  36. Petr BaudisSep 14, 2006
  37. Shawn PearceSep 14, 2006
  38. Shawn PearceSep 14, 2006

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.