[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#408104: marked as done (Broken 'diff' function in the VCS::Cvs::Version perl module (bug & fix))

Your message dated Thu, 5 Jun 2008 22:37:23 +0100
with message-id <200806052137.m55LbNBh009702@kmos.homeip.net>
and subject line libvcs-perl has been removed from Debian, closing #408104
has caused the Debian Bug report #408104,
regarding Broken 'diff' function in the VCS::Cvs::Version perl module (bug & fix)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org

408104: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=408104
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libvcs-cvs-perl
Version: 0.14.4
File:  /usr/share/perl5/VCS/Cvs/Version.pm

Problem description: invoking VCS::Cvs:Version::diff subroutine (perl
code example placed below) ends in process death

Error message: "sh: chdir: command not found" during program execution

Reason: in the row 51 of the module string assumed to be executed by
shell contains perl call 'chdir' instead of a shell command 'cd'.

I notified the CPAN maintainer of the VCS module.
Patch for a Version.pm is also provided below.

vvvvvvvvvvv code example starts vvvvvvvvvvvvv

use VCS;

sub build_file_url($)
       my $filename=shift;
       $filename="$ENV{PWD}/$filename" unless $filename=~m/^\//;
       my $fileurl="vcs://localhost/VCS::Cvs/$filename";
       return $fileurl;

sub get_diff ($$$)
       my $filename=shift;
       my $version_from=shift;
       my $version_to=shift;

       my $fileurl=build_file_url($filename);  # function building
       my $fileurl1=$fileurl."/$version_from";
       my $fileurl2=$fileurl."/$version_to";

       my $version1=VCS::Cvs::Version->new($fileurl1);
       my $version2=VCS::Cvs::Version->new($fileurl2);

       my $diff=$version1->diff($version2);

       return $diff;


$diff=get_diff('cvs.controlled.file',  '2.1', '3.1');

^^^^^^^^ code example ends ^^^^^^^^^^

vvvvvvvvvvvvv  patch starts  vvvvvvvvvvvvvvvv

--- Version.pm.0.6.orig	2007-01-23 15:59:24.000000000 +0200
+++ Version.pm	2007-01-23 16:00:04.000000000 +0200
@@ -48,7 +48,7 @@
    my $text = '';
    if (ref($other) eq ref($self)) {
        my $cmd =
-	    'chdir ' . dirname($self->path) .
+	    'cd ' . dirname($self->path) .
            " && $DIFF_CMD " .
            join (' ', (map { "-r$_" } $self->version, $other->version)) .
            " '" . basename($self->path) . "' |";

^^^^^^^^^ patch ends ^^^^^^^^^^^^

Best regards,
Hleb Rubanau

--- End Message ---
--- Begin Message ---
Version: 0.14-4+rm

The libvcs-perl package has been removed from Debian testing, unstable and
experimental, so I am now closing the bugs that were still opened
against it.

For more information about this package's removal, read
http://bugs.debian.org/314682 . That bug might give the reasons why
this package was removed, and suggestions of possible replacements.

Don't hesitate to reply to this mail if you have any question.

Thank you for your contribution to Debian.

--- End Message ---

Reply to: