cvs2hg MemoryError

Ishee, David M david.m.ishee at lmco.com
Wed Sep 2 17:08:24 CDT 2009


That seemed to work:

cvs2svn Statistics:
------------------
Total CVS Files:              4839
Total CVS Revisions:         37017
Total CVS Branches:         214707
Total CVS Tags:             591150
Total Unique Tags:             273
Total Unique Branches:         108
CVS Repos Size in KB:       398343
Total SVN Commits:           11030
First Revision Date:    Tue Nov  6 13:52:59 2001
Last Revision Date:     Tue Sep  1 15:35:15 2009
------------------
Timings (seconds):
------------------
 697   pass1    CollectRevsPass
   2   pass2    CleanMetadataPass
   0   pass3    CollateSymbolsPass
 340   pass4    FilterSymbolsPass
   1   pass5    SortRevisionSummaryPass
   4   pass6    SortSymbolSummaryPass
 137   pass7    InitializeChangesetsPass
  28   pass8    BreakRevisionChangesetCyclesPass
  29   pass9    RevisionTopologicalSortPass
 129   pass10   BreakSymbolChangesetCyclesPass
 147   pass11   BreakAllChangesetCyclesPass
 140   pass12   TopologicalSortPass
 102   pass13   CreateRevsPass
   4   pass14   SortSymbolsPass
   6   pass15   IndexSymbolsPass
3014   pass16   OutputPass
4778   total 

I'll start to pull some branches & tags and see how things look.

David 


-----Original Message-----
From: gerg.ward at gmail.com [mailto:gerg.ward at gmail.com] On Behalf Of Greg Ward greg-hg-at-gerg.ca |Mercurial|
Sent: Wednesday, September 02, 2009 3:49 PM
To: Ishee, David M
Cc: mercurial at selenic.com
Subject: Re: cvs2hg MemoryError

On Wed, Sep 2, 2009 at 3:14 PM, David I.<yigyw4d02 at sneakemail.com> wrote:
> I am trying to run cvs2hg using the download: "cvs2svn-bd8aed34af44" 
> from http://vc.gerg.ca/hg/cvs2svn/.
>
> cvs2svn works on this repo, but cvs2hg gets a memory error. How can I 
> fix this?
>
> Traceback (most recent call last):
>   File "../cvs2svn2/cvs2hg", line 87, in <module>
>     hg_main(os.path.basename(sys.argv[0]), sys.argv[1:])
[...]
>   File "/home/imat/lib/python/mercurial/filelog.py", line 13, in 
> __init__
>     "/".join(("data", path + ".i")))
>   File "/home/imat/lib/python/mercurial/revlog.py", line 442, in 
> __init__
>     i = f.read(_prereadsize)
> MemoryError

I have seen similar errors myself and am unable to reliably reproduce them.  Workaround: run only the output pass, e.g.

  cvs2hg [...other args...] --pass 16

So far, that has worked for me every time.  No idea why.  Updating README.cvs2hg now...

> Not sure if this is related, but I get these warnings when I start cvs2hg:
>
> /home/imat/lib/python/mercurial/context.py:10: RuntimeWarning: Python 
> C API version mismatch for module bdiff: This Python has API version 
> 1013, module bdiff has version 1012.

Unrelated.  That just means you're running cvs2hg with a different version of Python than was used to build Mercurial.  That's a bit dodgy, but there are definitely worse things you can do on a computer.
 ;-)

Greg



More information about the Mercurial mailing list