Cvs
從部分儲存庫中籤出 CVS
我有一個部分 CVS 儲存庫 - 主記憶體儲庫中子文件夾的副本,我想做一個檢查頭。我試過直接這樣做:
$ cvs -d /path/B2MEj/ co B2MEj cvs [checkout aborted]: /path/B2MEj/CVSROOT: No such file or directory
我的副本不包含 CVSROOT(因為它是原始儲存庫根目錄的子目錄,我假設)。
如何獲得此文件夾中最新版本文件的清晰快照?我不關心保留任何版本歷史,因為這對我來說是一種單向提取。
似乎所有必要的資訊都包含在我的部分儲存庫中的 ,v 文件和 Attic 目錄中。關鍵是簡單地創建一個空的 CVS 根目錄,
cvs -d /workingdir init
然後將原始(部分)儲存庫文件夾複製到workingdir
. 那時,一個簡單的cvs -d /workingdir co B2MEj
(或任何您的項目名稱)將完成完整的結帳。
如果沒有 CVSROOT,cvs 對文件夾中的內容一無所知,因為所有文件和版本資訊都在那個 CVSROOT 目錄中。
您需要做的是使用 RCS
,v
單獨提取每個文件的最新版本,這應該與 bash 中的以下內容一起使用:for fn in *,v; do co ${fn%,v} done
由於 RCS 的
co
命令需要原始文件名,我們必須找到所有,v
文件並使用文件名減去 ,v 來執行 co。完成後,您必須從 ,v 文件中整理出程式碼。