Package: libvcp-perl Severity: important Looking at svk, I wanted to investigate why "svk mirror" does not work for me, so I start with simple vcp operations, like copying from a remote cvs repo to a local one, but vcp fails:
$ vcp cvs::pserver:[EMAIL PROTECTED]:/cvsroot/boomerang:boomerang -r 1.1: cvs:/export/work/yann/tmp/cvstest:boom vcp v0.9, change number 4232 (2004/03/18) vcp: $ cvs login # for 'anonymous' CVS password: vcp: $ cvs ... checkout boomerang # establish local CVS workspace vcp: appending required ChangeSets filter vcp: $ cvs ... checkout boom # establish local CVS workspace vcp: cvs checkout failed. Missing module? vcp: $ cvs import ... boom # create module in repository vcp: $ cvs ... checkout boom # establish local CVS workspace vcp: running cvs log -r1.1: boomerang vcp: found 9266 rev(s) with 2125 tag applications vcp: aggregating changes vcp: writing revisions: [| ] 0/9266 unexpected stderr from 'cvs': cvs: cvs [checkout aborted]: Absolute module reference invalid: `/boomerang/gui/boomerang.cpp' cvs -Q -z9 -d:pserver:[EMAIL PROTECTED]:/cvsroot/boomerang checkout -r1.1 -p /boomerang/gui/boomerang.cpp returned 1 not 0 stderr: cvs [checkout aborted]: Absolute module reference invalid: `/boomerang/gui/boomerang.cpp' Can't fetch initial working directory at /usr/share/perl5/VCP/DB_File.pm line 218 Can't fetch initial working directory at /usr/share/perl5/VCP/Driver.pm line 518 vcp: No such file or directory: /export/work/yann/wesnoth/cvs/tmp/vcp13552/dest-cvs/co vcp: unable to remove work directory '/export/work/yann/wesnoth/cvs/tmp/vcp13552/dest-cvs/co' Can't fetch initial working directory at /usr/share/perl5/VCP/Plugin.pm line 189 The problem comes from an invalid call to cvs, as shown in the log: 81.502063 vcp: $ cvs -Q -z9 -d:pserver:[EMAIL PROTECTED]:/cvsroot/boomerang checkout -r1.1 -p /boomerang/gui/boomerang.cpp > /export/work/yann/wesnoth/ cvs/tmp/vcp13552/source-cvs/co/revs/boomerang/gui/boomerang.cpp/1.1 cvs [checkout aborted]: Absolute module reference invalid: `/boomerang/gui/boomerang.cpp' 83.377613 vcp: unexpected stderr from 'cvs': cvs: cvs [checkout aborted]: Absolute module reference invalid: `/boomerang/gui/boomerang.cpp' cvs -Q -z9 -d:pserver:[EMAIL PROTECTED]:/cvsroot/boomerang checkout -r1.1 -p /boomerang/gui/boomerang.cpp returned 1 not 0 stderr: cvs [checkout aborted]: Absolute module reference invalid: `/boomerang/gui/boomerang.cpp' What is strange, is that Source::cvs.pm says: my $cvs_name = $self->SUPER::denormalize_name( $r->source_name ); ## Use SUPER:: to avoid getting the leading '/' Obviously SUPER::denormalize_name() does not ensure this in any way. The following patch addresses this: --- /usr/share/perl5/VCP/Source/cvs.pm.dist 2005-06-30 22:59:28.000000000 +0200 +++ /usr/share/perl5/VCP/Source/cvs.pm 2005-06-30 23:00:59.000000000 +0200 @@ -544,8 +544,7 @@ my $wp = $self->work_path( "revs", $r->source_name, $r->source_rev_id ) ; $self->mkpdir( $wp ) ; - my $cvs_name = $self->SUPER::denormalize_name( $r->source_name ); - ## Use SUPER:: to avoid getting the leading '/' + ( my $cvs_name = $self->denormalize_name( $r->source_name ) ) =~ s{^/*}{}; $self->cvs( [ "checkout", This is however not sufficient: vcp: running cvs log -r1.1: boomerang vcp: found 9266 rev(s) with 2125 tag applications vcp: aggregating changes vcp: writing revisions: [- ] 0/9266 no rev number found in cvs commit log output for /export/work/yann/svk/tmp/vcp14432/dest-cvs/co/boom/boomerang/gui/boomerang.cpp(/boomerang/gui/boomerang.cpp#1.1): cvs revs parsed: $VAR1 = {}; Can't fetch initial working directory at /usr/share/perl5/VCP/Plugin.pm line 189 A quick investigation seems to show that dest::cvs::commit(), when calling $self->cvs(), ignores stderr, and expects something on stdout, but gets nothing on stdout. I'll get a deeper look at it later, if noone beats me to it. -- Yann Dirson <[EMAIL PROTECTED]> | Debian-related: <[EMAIL PROTECTED]> | Support Debian GNU/Linux: | Freedom, Power, Stability, Gratis http://ydirson.free.fr/ | Check <http://www.debian.org/> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]