[revml] VSS->RevML: couldn't parse source_rev_id

Alexandros Karypidis karypid@inf.uth.gr
Tue, 18 May 2004 14:19:10 +0300


Hi all,

I'm trying to export a VSS repository into RevML. VCP finishes scanning 
the VSS files (there's 4065!) and starts writing the RevML. Immediately, 
it fails miserably with:

------------
vcp: scanning VSS for files '...': - 7047
vcp: found 4065 files
vcp: scanning VSS files: [##########] 4065/4065
vcp: found 12340 revisions
vcp: writing revisions: [\         ]     1/12340
vcp: couldn't parse source_rev_id '0.' from path/to/SomeFile.java#0. 
@<undef> </path/to/> (text) BASE REV at /loader/0xd2726c/VCP/Source/vss.pm
 line 395.
 while writing path/to/SomeFile.java#0. @<undef> </path/to/> (text) BASE 
REV at /loader/0xd2726c/VCP/Dest/revml.pm line 324.
------------

So now, I'm looking into the vss.pm and revml.pm files to see what's 
happening (unfortunately I'm Perl iliterate but I had to give it a try). 
I can see that this message is output from vss.pm so the problem is on 
that side. Specifically, the line reads:

my ( $generation, $vss_rev_id ) = $vcp_rev_id =~ /\A(\d+)\.(\d+)\z/
    or die "vcp: couldn't parse source_rev_id '$vcp_rev_id' from ",
       $r->as_string;

and just above it, the value of vcp_rev_id was set to:

my $vcp_rev_id = $r->source_rev_id;

So, I guess it has something to do with an invalid r->source_rev_id 
value being set while the VSS driver scans the revisions? Any pointers 
on what I should do / where I should look?

Regards,
Alex

PS: using "vcp v0.9, change number 4232 (2004/03/18)"