0
有什麼辦法可以找出那個partiualr文件是否存在於CVS中?我不想查看該文件,只是想通過Perl查看該文件是否存在。CVS文件位置在Perl中有效嗎?
有什麼辦法可以找出那個partiualr文件是否存在於CVS中?我不想查看該文件,只是想通過Perl查看該文件是否存在。CVS文件位置在Perl中有效嗎?
您可以使用cvs status
命令進行檢查。無論是
呼叫直接通過系統調用
my @output = `cvs status $filename`;
您可以試探性地用grep爲",v"
串生成的文本(即始終是CVS庫文件後綴),或實際解析輸出尋找 「資源庫版本:」 行
MISSING: Repository revision: No revision control file
PRESENT: Repository revision: 10.41 /u1/cvs/dev/myscript.pl,v
或使用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
但是,這個命令只適用於文件已經簽出。 – Imran 2012-08-09 16:53:01
@Imran - 不完全。在我的測試中,一個不存在的文件具有「狀態:未知」,並且具有「狀態:需要結帳」的文件。這可能是因爲我已經檢出了目錄,雖然 – DVK 2012-08-09 16:56:44
當文件沒有被選中時,我收到以下錯誤消息:「cvs [status aborted]:找不到」我的文件「:沒有這樣的文件或目錄」 – Imran 2012-08-09 17:24:53