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

cvs2svn.py : problems with xiph.org repository conversion

From: Jack Moffitt <jack_at_xiph.org>
Date: 2003-07-15 02:24:29 CEST

Hello everyone,

We're trying to move Xiph.org repositories from CVS to Subversion. The
gating item for us is preserving branch history, and since the code
seems to be in a mostly working state, I thought I would give it a try
today.

The first failure I ran into is upon importing a branch in the 'ao'
module. I've uploaded a subset of the repository that reproduces this
problem to http://i.cantcode.com/~jack/xiphrepo-test.tar.gz . On my
system it only takes a few seconds to trigger the problem. Here's a
traceback:

committing: Sat Jul 21 21:35:40 2001, over 13 seconds
    adding or changing 1.21.2.1 : branches/volsung_20010721/ao/configure.in
Traceback (most recent call last):
  File "./cvs2svn/cvs2svn.py", line 2190, in ?
    main()
  File "./cvs2svn/cvs2svn.py", line 2186, in main
    convert(ctx, start_pass=start_pass)
  File "./cvs2svn/cvs2svn.py", line 2075, in convert
    _passes[i](ctx)
  File "./cvs2svn/cvs2svn.py", line 2018, in pass4
    c.commit(dumper, ctx, sym_tracker)
  File "./cvs2svn/cvs2svn.py", line 1777, in commit
    sym_tracker.fill_branch(dumper, ctx, br)
  File "./cvs2svn/cvs2svn.py", line 1621, in fill_branch
    self.fill_name(dumper, ctx, branch, None, jit_new_rev)
  File "./cvs2svn/cvs2svn.py", line 1586, in fill_name
    is_tag, jit_new_rev)
  File "./cvs2svn/cvs2svn.py", line 1506, in copy_descend
    next_src, next_dst, is_tag, jit_new_rev)
  File "./cvs2svn/cvs2svn.py", line 1506, in copy_descend
    next_src, next_dst, is_tag, jit_new_rev)
  File "./cvs2svn/cvs2svn.py", line 1506, in copy_descend
    next_src, next_dst, is_tag, jit_new_rev)
  File "./cvs2svn/cvs2svn.py", line 1481, in copy_descend
    dumper.copy_path(src_path, parent_rev, copy_dst, val)
  File "./cvs2svn/cvs2svn.py", line 932, in copy_path
    entries)
  File "./cvs2svn/cvs2svn.py", line 632, in change_path
    for ent in new_val.keys():
AttributeError: 'NoneType' object has no attribute 'keys'

In order to keep testing, I removed the 'ao' module from the repository
snapshot, and reran cvs2svn. This time it ran beautifully all the way
to the end, at which time it started the 'finishing' tasks. While
"finishing 'start' as tag" it again failed with a very similar
traceback:

finishing 'start' as tag
Traceback (most recent call last):
  File "./cvs2svn/cvs2svn.py", line 2190, in ?
    main()
  File "./cvs2svn/cvs2svn.py", line 2186, in main
    convert(ctx, start_pass=start_pass)
  File "./cvs2svn/cvs2svn.py", line 2075, in convert
    _passes[i](ctx)
  File "./cvs2svn/cvs2svn.py", line 2039, in pass4
    sym_tracker.finish(dumper, ctx)
  File "./cvs2svn/cvs2svn.py", line 1661, in finish
    self.fill_tag(dumper, ctx, name, [1])
  File "./cvs2svn/cvs2svn.py", line 1608, in fill_tag
    self.fill_name(dumper, ctx, tag, 1, jit_new_rev)
  File "./cvs2svn/cvs2svn.py", line 1595, in fill_name
    is_tag, jit_new_rev)
  File "./cvs2svn/cvs2svn.py", line 1506, in copy_descend
    next_src, next_dst, is_tag, jit_new_rev)
  File "./cvs2svn/cvs2svn.py", line 1481, in copy_descend
    dumper.copy_path(src_path, parent_rev, copy_dst, val)
  File "./cvs2svn/cvs2svn.py", line 932, in copy_path
    entries)
  File "./cvs2svn/cvs2svn.py", line 632, in change_path
    for ent in new_val.keys():
AttributeError: 'NoneType' object has no attribute 'keys'

I don't currently have a trimmed down repository that reproduces this
exception, but if you'd like, I'm happy to provide a complete copy of
the Xiph.org cvs repository.

Thanks much for the work on cvs2svn.py. We're looking forward to
ditching CVS finally.

Regards,
jack.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Jul 15 02:26:07 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.