Invalid content for <rev>

Timothee Besset <[email protected]> Sun, 21 Dec 2003 20:24:14 +0100
Newsgroups gmane.comp.version-control.revml
Message-ID <[email protected]>
Hello

Not much progress on the AlienBrain backend. Wrote the parsing of object
enumeration, that's about it (i.e. obtain recursive list of project
files).

To get something working from one end to the other, I would like to have a
first version of my source backend which allows me to dump the current
repository at it's latest version into a single revision thing (as a revml
file). Doing something like vcp ab: revml:out.revml

So once I have my list of files, I go through it and do something like:

   map {
      my $rev = VCP::Rev->new(
         action			=> "add",
         id			=> "$_#1",
         name			=> "$_",
         source_name		=> "$_",         
         source_filebranch_id	=> "$_",
         source_repo_id		=> $self->repo_id,
         type			=> "text",
         branch_id		=> "trunk",
         source_branch_id	=> "trunk",
         rev_id			=> "$_#1",
         source_rev_id		=> "$_#1",
      );
      $self->queue_rev( $rev );
   } @_;

perldoc ./lib/VCP/Rev.pm doesn't give a lot of information about what are
the required files, and what they would look like. So this current
revision building approach is mostly a trial and error thing, based on
what I understood of the VSS and CVS drivers.

And it doesn't work. It ends with:

Invalid content for <rev>: <name><source_name><source_filebranch_id><source_repo_id><type><branch_id><source_branch_id><rev_id><source_rev_id><content><digest> at /home/timo/Build/perforce/guest/timothee_besset/lib/VCP/Dest/revml.pm line 543
 while writing process_undef.pl#process_undef.pl#1 @<undef> <trunk> (text) add   <undef> <undef> "<undef>" at /home/timo/Build/perforce/guest/timothee_besset/lib/VCP/Dest/revml.pm line 321.

That's the first file that was in the queued revs ( the one for which $_ is "process_undef.pl" )

My rough guess is that the node is not compatible with the DTD for revml.
I don't understand why and how though. Any help?

TTimo