Friday, December 28, 2012

History of Mercury

I've been converting the Mercury CVS repository to Git.  Here is the final report by cvs2git with some interesting statistics.
Note that cvs2git sometimes calls itself cvs2svn.

cvs2svn Statistics:
------------------
Total CVS Files:              8224
Total CVS Revisions:        101243
Total CVS Branches:          84055
Total CVS Tags:            1956649
Total Unique Tags:             661
Total Unique Branches:          65
CVS Repos Size in KB:       465766
Total SVN Commits:           19206
First Revision Date:    Thu Oct 14 09:57:46 1993
Last Revision Date:     Mon Dec 24 08:37:31 2012
------------------
Timings (seconds):
------------------
 625   pass1    CollectRevsPass
   1   pass2    CleanMetadataPass
   0   pass3    CollateSymbolsPass
  85   pass4    FilterSymbolsPass
   0   pass5    SortRevisionSummaryPass
   2   pass6    SortSymbolSummaryPass
  80   pass7    InitializeChangesetsPass
  16   pass8    BreakRevisionChangesetCyclesPass
  16   pass9    RevisionTopologicalSortPass
  45   pass10   BreakSymbolChangesetCyclesPass
  67   pass11   BreakAllChangesetCyclesPass
  62   pass12   TopologicalSortPass
  53   pass13   CreateRevsPass
   3   pass14   SortSymbolsPass
   3   pass15   IndexSymbolsPass
  89   pass16   OutputPass
1149   total
Then I import it into git with git fastimport:
git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects:     155000
Total objects:       151932 (     78357 duplicates                  )
      blobs  :        81245 (     15332 duplicates      70383 deltas)
      trees  :        51602 (     63025 duplicates      44099 deltas)
      commits:        19085 (         0 duplicates          0 deltas)
      tags   :            0 (         0 duplicates          0 deltas)
Total branches:         728 (       238 loads     )
      marks:     1073741824 (    115662 unique    )
      atoms:           6930
Memory total:         11001 KiB
       pools:          3735 KiB
     objects:          7265 KiB
---------------------------------------------------------------------
pack_report: getpagesize()            =       4096
pack_report: core.packedGitWindowSize = 1073741824
pack_report: core.packedGitLimit      = 8589934592
pack_report: pack_used_ctr            =      10379
pack_report: pack_mmap_calls          =        944
pack_report: pack_open_windows        =          1 /          1
pack_report: pack_mapped              =  144052290 /  144052290
---------------------------------------------------------------------