[revml] Error copying: "790.537269 vcp: no DB_File entry for svn:svn://jc.ngo.org.uk; /nik/libtap/trunk/src/t/plan/Makefile@204"

Tyler MacDonald tyler at yi.org
Wed Jun 21 16:22:06 PDT 2006


Tyler MacDonald <tyler at yi.org> wrote:
> vcp svn:svn://jc.ngo.org.uk:/nik/libtap/trunk/... p4://depot/main/contrib/libtap/...
> 
> It gets along for awhile, but then crashes at this point:
> 
> vcp: writing revisions:  [#|        ]  44/433 change 1027

So I tried exporting the repo to revml instead:
vcp svn:svn://jc.ngo.org.uk:/nik/libtap/trunk/... revml:libtap.xml

I've put the resulting RevML file [2.2MB] here, so that we don't need to
keep hitting Nik's svn repo to debug this:

http://www.yi.org/~faraway/libtap.xml

Also, I've put the vcp.log files that were written for going from SVN->RevML
and RevML->P4 online as well:

http://www.yi.org/~faraway/vcp-svn-to-revml.log
http://www.yi.org/~faraway/vcp-svn-to-revml.log

That process completes fine, but then when I try to import the revml file
into my perforce repository, it crashes with a different error. (I am using
the latest code in public.perforce.com... despite the fact that it was last
edited six days ago, it's saying this is a version from 2004):

$ vcp revml:libtap.xml p4://depot/main/contrib/libtap/...
vcp v0.9, change number 4232 (2004/03/18)
vcp: running p4 clients
vcp: appending required ChangeSets, StringEdit filters
Patch line disagrees with source line 173:
   source file:
'/home/faraway/vcp_state/revml%58%%58%libtap%46%xml/source_files/src/tap.c/nik/libtap/trunk/src/196'
   patch file :
'/home/faraway/vcp_state/revml%58%%58%libtap%46%xml/source_files/src/tap.c/nik/libtap/trunk/src/delta'
   result file:
'/home/faraway/vcp_state/revml%58%%58%libtap%46%xml/source_files/src/tap.c/nik/libtap/trunk/src/198'
   source line: ""
   patch  line: "\x09printf("# _expected_tests(%d)\n", tests);"
 at /usr/local/share/perl/5.8.8/VCP/Source/revml.pm line 556

I tracked down the patch code (VCP/Patch.pm) and replaced it with this, in
desparate hopes that it would work:

sub vcp_patch {
  my($source_fn, $result_fn, $patch_fn) = @_;
  system("patch -p0 --ignore-whitespace $source_fn -o $result_fn < $patch_fn");
  croak "patch failed" if $?;
  return 1;
}

Well, it's output was spammy, but it *did* work! However, once it started
trying to check the files into perforce, it crashed at the exact same spot:

vcp: no DB_File entry for
svn:svn://jc.ngo.org.uk;/nik/libtap/trunk/src/t/plan/Makefile@204
 at /opt/vcp/share/perl/5.8.8/VCP/RevMapDB.pm line 58
	[...]

The *only* occurance of "Makefile at 204" in either logfile is that one line...
so it seems like the SVN export is not creating a Makefile at 204, yet the P4
import is expecting one?

I'm back to square one. Why would this one file not have this entry?

	Thanks,
		Tyler


More information about the revml mailing list