Richard Hughes wrote:
This is a resurrection of a thread from 6 months ago, for which I now
have more information. The basic background was:

I'm getting a crash during conversion when GetPathDepth recurses
itself forever (Perl exhausts its address space then segfaults). It
appears to be caused by a pair of physicalaction rows which refer to
each other

I've now put some effort into this and have created the following
(which are all at the bottom of this e-mail):

1. A minimal testcase, in the form of a batch file which should be run
on a brand new, totally empty sourcesafe database and which will
create something which crashes vss2svn (r336).

2. The entire contents of the PhysicalAction table resulting from the
above database, as it exists upon entry to MergeParentData().

3. A patch against vss2svn.pl r336 which makes the problem go away.
I'm reluctant to use the word 'fixes' because I don't understand
enough about what the parentdata column is used for to be at all sure
that I've done the right thing. I have, however, confirmed that the
resultant svn repository has the correct history for my testcase.

I'd be very appreciative if somebody knowledgable could review this
patch. It does still throw the warning "ERROR -- Multiple child recs
for parent MOVE rec '7' at vss2svn.pl line 740", but I believe this to
be harmless because the timestamp check shortly thereafter sorts it
all out correctly.

Thanks Richard, although I wasn't able to test the patch since I no longer have vss2svn installed on this box, it looks like a reasonable approach and I can't think of any cases where your additional check would cause an issue. I committed in r337.

toby
_______________________________________________
vss2svn-users mailing list
Project homepage:
http://www.pumacode.org/projects/vss2svn/
Subscribe/Unsubscribe/Admin:
http://lists.pumacode.org/mailman/listinfo/vss2svn-users-lists.pumacode.org
Mailing list web interface (with searchable archives):
http://dir.gmane.org/gmane.comp.version-control.subversion.vss2svn.user

Reply via email to