Bugs in sub argsfromdir of git-cvsserver
From: Le <hidden>
Date: 2016-06-15 22:45:49
Hi, all,
I found a bug in git-cvsserver.
sub argsfromdir
{
if ( scalar(@{$state->{args}}) == 1 )
{
my $arg = $state->{args}[0];
#$arg .= $state->{prependdir} if ( defined (
$state->{prependdir} ) );
$arg = $state->{prependdir} . $arg if ( defined (
$state->{prependdir} ) );
$log->info("Only one arg specified, checking for directory
expansion on '$arg'");
...
}
...
}
It makes not sense of the above remarked out code.
But when I use the code followed remarked out, I have problem to use cvs
diff or cvs log in a sub directory of the root (may other commands as
well). Eg.:
I have a project called test1 and in test1 there is a test2 subdirectory
and a file test2/test3.txt.
I have no problem to cvs diff and cvs log in test1 directory. But if I
enter test1/test2 to check these commands then they are not working.
I tried to fixed the problem to remarked out the code:
#$filename = filecleanup($filename);
in req_log and req_diff, then both cvs diff and cvs log work.
In
sub filecleanup
{
...
$filename = $state->{prependdir} . $filename;
return $filename;
}
inserts $state->{prependdir} into the $filename.
But I don't know if what I did brings incompatibilities.
Can anybody check this issue?
Thanks!
Le Wen