Noted by PeterWemm:
the size of the FreeBSD repo:
- cvs head only: src: 640MB, ports: 450MB.
- cvs repository: src: 1.8GB, ports 1.2GB.
- svn repository: src 3.6GB (mostly due to a broken cvs2svn heuristic), ports: 7.5GB.
- # of commits: src: 180K (including branching operations), ports: 199K.
- svn conversion time: src: 4 hours, ports: 4.6hrs.
Vendor imports in cvs are kryptonite to cvs2svn. When a file "leaves" the vendor branch, the -b1.1.1 is removed, with no record of when it happened, or what base point the new 1.2 delta is relative to. cvs2svn doesn't try and guess that one, so the initial 'leave vendor branch' delta is too big. The delta is correct, but it is stored very inefficiently in the generated svn repo.
The 3.6GB svn repo includes all 15 years of cvs branch history, not just the 1.x mainline. I've seen people waving numbers around for various vcs's before after having ignored all the vendor and releng branches.