[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