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

Re: Importing Mozilla CVS into git

From
Jon Smirl <jonsmirl@gmail.com>
Date
Jun 7, 2006, 00:40 UTC
Message-ID
<9e4733910606061740v797886baif6b1edd969dfab2a@mail.gmail.com>
In-Reply-To
<9e4733910606060813r41037467u74235f7a9386c1e0@mail.gmail.com>
On 6/6/06, Jon Smirl <jonsmirl@gmail.com> wrote:
Show 14 quoted lines
> On 6/6/06, Martin Langhoff <martin.langhoff@gmail.com> wrote:
> > On 6/3/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> > > On 6/1/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> > > > With the attached patch you can parse the entire Mozilla tree. The
> > > > tree has over 100,000 files in it and about 300 branches.
> > >
> > > I was a little low with these counts, more like 110,000 files and some
> > > parts of the tree have 1,000 branches. Total tree size is 3GB.
> >
> > I don't think it really has that many branches. If I am to believe
> > cvsps (which took 3GB to walk the history), it has some branches with
> > recursive loops in their ancestry (MANG_MATH_BRANCH and
> > SpiderMonkey140_BRANCH have eachother as ancestors!?), 197969 commits
> > and 796 branches.

My full import to svn just finished after a day and a half. Here are the stats:

cvs2svn Statistics: ------------------ Total CVS Files: 99851 Total CVS Revisions: 948580 Total Unique Tags: 1505 Total Unique Branches: 1577 CVS Repos Size in KB: 2725843 Total SVN Commits: 205787 First Revision Date: Fri Mar 27 21:13:08 1998 Last Revision Date: Tue May 30 19:28:10 2006 ------------------ Timings: ------------------ pass 1: 3602 seconds pass 2: 227 seconds pass 3: 66 seconds pass 4: 1070 seconds pass 8:124650 seconds total: 124650 seconds [jonsmirl@jonsmirl ~]$

[jonsmirl@jonsmirl svn]$ du -h 4.0K ./svntest/dav 12K ./svntest/locks 40K ./svntest/hooks 16K ./svntest/conf 7.4G ./svntest/db/revs 808M ./svntest/db/revprops 4.0K ./svntest/db/transactions 8.2G ./svntest/db 8.2G ./svntest 8.2G .

[jonsmirl@jonsmirl svn]$ find | wc
 411607  411607 10891057

There are two directories that each contain about 205k files. 205K files in a single directory is causing svn problems on Ext3.

Bottom line, cvs2svn import tool works quite well. Highest memory consumption I saw was 100MB and it used 6GB of extra disk while running plus space need by svn.

I don't know quite enough about git yet to replace the svn commands it uses with git equivalents but if that were done I think most of the cvs import problems would be solved. Obviously the svn team has put a great deal of work into this program.

I don't think replacing the svn commands is very hard, I just haven't figured out the right way to build branches with low-level git yet and I don't know Python. I'll bet someone already familiar with git and cvs import could convert it in a couple of hours.

-- 
Jon Smirl
jonsmirl@gmail.com
Previous: Keith PackardNext: Linus Torvalds
Message 40 of 47 in “Importing Mozilla CVS into git”
  1. Jon SmirlJun 1, 2006
  2. Keith PackardJun 1, 2006
  3. Jon SmirlJun 2, 2006
  4. Keith PackardJun 2, 2006
  5. Jon SmirlJun 2, 2006
  6. Shawn PearceJun 2, 2006
  7. Keith PackardJun 2, 2006
  8. Jon SmirlJun 2, 2006
  9. Keith PackardJun 2, 2006
  10. Jon SmirlJun 2, 2006
  11. Shawn PearceJun 2, 2006
  12. Pavel RoskinJun 2, 2006
  13. Shawn PearceJun 2, 2006
  14. Johannes SchindelinJun 2, 2006
  15. Jon SmirlJun 2, 2006
  16. Igor BukanovJun 7, 2006
  17. Pavel RoskinJun 7, 2006
  18. Jon SmirlJun 7, 2006
  19. Jakub NarebskiJun 7, 2006
  20. Linus TorvaldsJun 7, 2006
  21. Martin LanghoffJun 7, 2006
  22. Martin LanghoffJun 2, 2006
  23. Robin Rosenberg (list subscriber)Jun 3, 2006
  24. Linus TorvaldsJun 3, 2006
  25. Bertrand JacquinJun 4, 2006
  26. Jakub NarebskiJun 4, 2006
  27. Linus TorvaldsJun 4, 2006
  28. Robin Rosenberg (list subscriber)Jun 4, 2006
  29. Linus TorvaldsJun 4, 2006
  30. Robin Rosenberg (list subscriber)Jun 4, 2006
  31. Robin Rosenberg (list subscriber)Jun 4, 2006
  32. Linus TorvaldsJun 4, 2006
  33. Yakov LernerJun 5, 2006
  34. Jon SmirlJun 3, 2006
  35. Jon SmirlJun 3, 2006
  36. Martin LanghoffJun 6, 2006
  37. Jon SmirlJun 6, 2006
  38. Martin LanghoffJun 6, 2006
  39. Keith PackardJun 7, 2006
  40. Jon SmirlJun 7, 2006
  41. Linus TorvaldsJun 1, 2006
  42. Jon SmirlJun 2, 2006
  43. Linus TorvaldsJun 2, 2006
  44. Junio C HamanoJun 2, 2006
  45. Linus TorvaldsJun 2, 2006
  46. Junio C HamanoJun 2, 2006
  47. Martin LanghoffJun 2, 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.