You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Kim Sparrow <ks...@lightpointe.com> on 2004/02/20 22:30:07 UTC

cvs2svn.py: problem with --trunk-only

Alright, let's try this again, but with line wrapping.

I have been very happy with svn since starting to use it a month or two
ago, and thought it'd be nice to convert some of my projects in CVS
over.

One of the projects now works fine with --trunk-only, however another
one breaks when it hits a certain file that was created on a branch and
later merged to the trunk.

	committing: Mon Jun 17 17:01:53 2002, over 0 seconds
	    deleting 1.1 : 'trunk/project/path_to_file'
	Traceback (most recent call last):
	  File "../cvs2svn.py", line 2739, in ?
	    main()
	  File "../cvs2svn.py", line 2735, in main
	    convert(ctx, start_pass=start_pass)
	  File "../cvs2svn.py", line 2572, in convert
	    _passes[i](ctx)
	  File "../cvs2svn.py", line 2495, in pass4
	    c.commit(dumper, ctx, sym_tracker)
	  File "../cvs2svn.py", line 2262, in commit
	    path_deleted, closed_tags, closed_branches = \
	  File "../cvs2svn.py", line 1375, in delete_path
	    branches, prune)
	  File "../cvs2svn.py", line 965, in delete_path
	    this_entry_val = self.nodes_db[this_entry_key]
	  File "../cvs2svn.py", line 157, in __getitem__
	    return marshal.loads(self.db[key])
	KeyError: 164d


One thing that strikes me as peculiar is that if I move the problem file
into a repository all by itself, it works fine with --trunk-only. If I
don't use --trunk-only, it gives the following error near the end of the
"finishing tags" stage:

	Traceback (most recent call last):
	  File "../cvs2svn.py", line 2739, in ?
	    main()
	  File "../cvs2svn.py", line 2735, in main
	    convert(ctx, start_pass=start_pass)
	  File "../cvs2svn.py", line 2572, in convert
	    _passes[i](ctx)
	  File "../cvs2svn.py", line 2518, in pass4
	    sym_tracker.finish(dumper, ctx)
	  File "../cvs2svn.py", line 2026, in finish
	    self.fill_tag(dumper, ctx, name, [1])
	  File "../cvs2svn.py", line 1972, in fill_tag
	    self.fill_name(dumper, ctx, tag, 1, jit_new_rev)
	  File "../cvs2svn.py", line 1959, in fill_name
	    is_tag, jit_new_rev)
	  File "../cvs2svn.py", line 1833, in copy_descend
	    if dumper.copy_path(src_path, rev, copy_dst, expected_entries):
	  File "../cvs2svn.py", line 1222, in copy_path
	    entries)
	  File "../cvs2svn.py", line 821, in change_path
	    this_entry_val = self.nodes_db[this_entry_key]
	  File "../cvs2svn.py", line 157, in __getitem__
	    return marshal.loads(self.db[key])
	KeyError: 126

I tried to make a simple test case that reproduces the first behavior,
but I can't get it to break so all I can really do at this point is give
you this output. I'm guessing it's not company-kosher to send out the
actual RCS file... perhaps the non-code sections of it would be okay.

This is with cvs2svn r8767, svn 0.37, on Win2k and ActivePython 2.2.2.

command:
cvs2svn.py --dump-only --trunk-only path_to_repos

Any clues as to what's going on?  Thanks for your help.  -- Kim

--
Kim Sparrow
Sr. Software Engineer
LightPointe
858.643.5340 -- office
858.643.5201 -- fax


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org