MemoryError使用CVS2SVN

时间:2014-07-15 06:52:21

标签: python svn cvs2svn

我正在尝试使用csv2svn将CSV存储库迁移到SVN。在第一次传递(CollectRevsPass)期间处理了一些错误之后,我在第四步中出现了这个错误:

...
c:\Users\Andres\Desktop\copa\copa\proyectosAMEG\JGA\KnapsackJG2A\src\operators\K
napsackSelection.java,v
Done
Time for pass1 (CollectRevsPass): 68.47 seconds.
----- pass 2 (CleanMetadataPass) -----
Converting metadata to UTF8...
Done
Time for pass2 (CleanMetadataPass): 0.437 seconds.
----- pass 3 (CollateSymbolsPass) -----
Checking for forced tags with commits...
Done
Time for pass3 (CollateSymbolsPass): 0.015 seconds.
----- pass 4 (FilterSymbolsPass) -----
Filtering out excluded symbols and summarizing items...
Traceback (most recent call last):
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn", line 70, in <module>
    svn_main(os.path.basename(sys.argv[0]), sys.argv[1:])
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_lib\main.py", line 113, in svn_main
    main(progname, run_options, pass_manager)
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_lib\main.py", line 96, in main
    pass_manager.run(run_options)
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_lib\pass_manager.py", line 181, in run
    the_pass.run(run_options, stats_keeper)
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_lib\passes.py", line 505, in run
    revision_collector.process_file(cvs_file_items)
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_lib\checkout_internal.py", line 615, in process_file
    _Sink(self, cvs_file_items),
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_lib\rcsparser.py", line 68, in parse
    return selected_parser().parse(file, sink)
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_rcsparse\common.py", line 477, in parse
    self.parse_rcs_deltatext()
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_rcsparse\common.py", line 450, in parse_rcs_deltatext
    self.sink.set_revision_info(revision, log, text)
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_lib\checkout_internal.py", line 539, in set_revision_info
    text_record, self._rcs_stream.get_text()
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_lib\checkout_internal.py", line 601, in _writeout
    self._delta_db[text_record.id] = text
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_lib\indexed_database.py", line 94, in __setitem__
    s = self.serializer.dumps(item)
  File "C:\Users\Andres\Downloads\cvs2svn-2.4.0.tar\dist\cvs2svn-2.4.0\cvs2svn-2
.4.0\cvs2svn_lib\serializer.py", line 138, in dumps
    return marshal.dumps(zlib.compress(self.wrapee.dumps(object), 9))
MemoryError

我检查过,当出现此错误时,有足够的可用内存。就在Error出现之前,进程'python'会大量增加内存的使用。

有人知道我该怎么办?

  • CVS2SVN 2.4
  • Python 2.7

1 个答案:

答案 0 :(得分:0)

此错误还可能表示进程已用完虚拟地址空间。如果您在32位模式下运行cvs2svn,则该进程只能使用2 GiB或4 GiB的地址,无论计算机是否具有空闲RAM。如果是这种情况,请尝试以64位模式运行程序。

如果您已经在64位模式下运行,请尝试增加RAM或交换空间或在更强大的计算机上运行该程序。