CVS文件位置在Perl中有效吗?
是否有任何方法可以确定CVS中是否存在partiualr文件?我不想签出该文件,只想通过Perl查看该文件是否存在。您可以使用CVS文件位置在Perl中有效吗?,perl,cvs,Perl,Cvs,是否有任何方法可以确定CVS中是否存在partiualr文件?我不想签出该文件,只想通过Perl查看该文件是否存在。您可以使用cvs status命令进行检查。或者 通过系统调用直接调用它 my @output = `cvs status $filename`; 您可以试探性地grep”、v“字符串的结果文本(始终是CVS存储库文件的后缀),或者实际解析输出,查找“存储库修订:”行 或者使用Cvs模块: use Cvs; my $cvs = new Cvs("/u1/cvs", cvsro
cvs status
命令进行检查。或者
my @output = `cvs status $filename`;
您可以试探性地grep”、v“
字符串的结果文本(始终是CVS存储库文件的后缀),或者实际解析输出,查找“存储库修订:”行
Cvs
模块:
use Cvs;
my $cvs = new Cvs("/u1/cvs", cvsroot => $ENV{CVSROOT}, password =>"*****")
or die $Cvs::ERROR;
my $status = $cvs->status("CVS_file");
print $status->status() . "\n";
====> Needs Checkout
my $status = $cvs->status("bogus_file");
print $status->status() . "\n";
====> Unknown
@伊姆兰——不完全是。在我的测试中,不存在的文件具有“状态:未知”,而存在的文件具有“状态:需要签出”。这可能是因为我已经签出了目录,尽管我在未签出文件时收到以下错误消息oot“cvs[状态中止]:找不到“我的文件”:没有这样的文件或目录“@DVK-如果签出了该特定目录中的任何其他文件,我可以看到未知状态,如果没有签出任何文件,那么显示“无此类文件或目录”。
use Cvs;
my $cvs = new Cvs("/u1/cvs", cvsroot => $ENV{CVSROOT}, password =>"*****")
or die $Cvs::ERROR;
my $status = $cvs->status("CVS_file");
print $status->status() . "\n";
====> Needs Checkout
my $status = $cvs->status("bogus_file");
print $status->status() . "\n";
====> Unknown