[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Cvs2svn dies with "dbm.error: cannot add item to database"

From: Johnson, Graham <gjohnson_at_alpineaccess.com>
Date: 2003-06-28 01:19:24 CEST

I am trying to convert a ~5000 file CVS repository using the cvs2svn.py
included with 0.24.2. It appears to be working fine until it dies in
pass 4 on the 142nd file.

If I remove the directory it was working on from the source CVS
repository copy, cvs2svn fails the same way in the next directory (on
the 142nd file again, coincidentally or not). It appears some kind of
size limit is being exceeded.

Here's the interesting portion of the output:

[...lots deleted...]
RESYNC: webcenter/db/oracle_ddl/crmt/crmt_entries.sql,v (1.1) : old
time="Thu Jan 30 17:00:34 2003" new time="Thu Jan 30 17:00:34 2003"
RESYNC: webcenter/db/oracle_ddl/reporting/report_config.sql,v (1.1) :
old time="Wed Jun 18 20:05:28 2003" new time="Wed Jun 18 20:05:28 2003"
RESYNC: webcenter/db/oracle_ddl/reporting/componentid_seq.sql,v (1.1) :
old time="Tue Jun 24 06:53:12 2003" new time="Tue Jun 24 06:53:12 2003"
----- pass 3 -----
----- pass 4 -----
committing: Mon Jan 7 18:59:29 2002, over 0 seconds
    adding or changing 1.1 : trunk/CVSROOT/checkoutlist
    adding or changing 1.1 : trunk/CVSROOT/commitinfo
    adding or changing 1.1 : trunk/CVSROOT/config
[...lots deleted...]
    adding or changing 1.1 :
    adding or changing 1.1 :
    adding or changing 1.1 :
Traceback (most recent call last):
  File "/export/gjohnson/downloads/Unix/svn/tools/cvs2svn/cvs2svn.py",
line 1896, in ?
  File "/export/gjohnson/downloads/Unix/svn/tools/cvs2svn/cvs2svn.py",
line 1892, in main
    convert(ctx, start_pass=start_pass)
  File "/export/gjohnson/downloads/Unix/svn/tools/cvs2svn/cvs2svn.py",
line 1805, in convert
  File "/export/gjohnson/downloads/Unix/svn/tools/cvs2svn/cvs2svn.py",
line 1749, in pass4
    c.commit(dumper, ctx, sym_tracker)
  File "/export/gjohnson/downloads/Unix/svn/tools/cvs2svn/cvs2svn.py",
line 1499, in commit
    sym_tracker.enroot_names(svn_path, svn_rev, tags, branches)
  File "/export/gjohnson/downloads/Unix/svn/tools/cvs2svn/cvs2svn.py",
line 1178, in enroot_names
    self.db[parent_key] = marshal.dumps(parent)
dbm.error: cannot add item to database

I don't know much about dbm or Python, so I don't know what else to do.
I believe Python is using ndbm.

I did modify and rebuild Python, changing its dbmmodule.c so that it
gave me a little more info about the failing call (to dbm_store), which
changed the error message to:

dbm.error: cannot add item to database in dbm_ass_sub; dbm_error
returned 2

I think this might be a "Block size error".

Any ideas?

Graham Johnson
Java Software Engineer
Alpine Access, Golden, CO
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Jun 28 01:20:28 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.