2012-08-09 37 views

回答

1

您可以使用cvs status命令進行檢查。無論是

  1. 呼叫直接通過系統調用

    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 
    
  2. 或使用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 
    
+0

但是,這個命令只適用於文件已經簽出。 – Imran 2012-08-09 16:53:01

+0

@Imran - 不完全。在我的測試中,一個不存在的文件具有「狀態:未知」,並且具有「狀態:需要結帳」的文件。這可能是因爲我已經檢出了目錄,雖然 – DVK 2012-08-09 16:56:44

+0

當文件沒有被選中時,我收到以下錯誤消息:「cvs [status aborted]:找不到」我的文件「:沒有這樣的文件或目錄」 – Imran 2012-08-09 17:24:53

相關問題