From: Le Date: Mon, 22 Dec 2008 21:42:23 GMT Subject: Re: Bugs in sub argsfromdir of git-cvsserver Message-ID: <495009BF.3070306@distributel.ca> In-Reply-To: <494FF9A9.9060706@distributel.ca> Le wrote: > 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 > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > It seems that req_up and req_status need to be changed as well. I am not which subs need to be changed. Le Wen