天天看點

cvs的console輸出含義

update 和 checkout 在執行中,會為每個檔案列印一行提示資訊,檔案的狀态通過前面的單個字元指明:

U file 

檔案按要求從倉庫得到更新。用在那些倉庫裡面有但你的工作目錄沒有的檔案,以及工作目錄裡面沒有修改過,但舊于倉庫的檔案。 

P file 

類似 `U',但是 cvs 伺服器發送的是更新檔而不是整個檔案。完成與 `U' 同樣的工作,但降低帶寬的使用。 

A file 

添加到你的私人副本中,當你使用 commit 後會加到倉庫。這可以提醒你需要送出檔案。 

R file 

從你的私人副本中删除,當你執行 commit 指令後會從倉庫清除。這可以提醒你檔案需要送出。 

M file 

在你的工作目錄中,檔案已經修改。 

`M' 可以标明你工作的檔案的兩種狀态: 同樣的檔案倉庫裡面沒有修改,你的檔案仍保持原樣; 或者倉庫裡面的檔案也有修改,但在工作目錄裡成功合并,沒有沖突發生。

如果合并,cvs 将列印一些資訊,并建立工作檔案的備份(與 update 執行前相同)。update 運作時會列印相應的名字。

C file 

合并你與倉庫中修改到 file 時檢測到沖突。file (你工作目錄裡面的副本) 是合并兩個修訂版的結果; 工作目錄裡面還有未修改檔案的副本,名為 .#file.revision,其中 revision 是你修改的檔案所基于的修訂版。解決沖突見 Conflicts example 說明。 (注意,在有些系統裡面,如果一段日子沒有通路 .# 起頭的檔案,系統會自動清除。如果你需要保留這些原始的檔案副本,最好将其改名) vms 系統中,檔案名以 __ 開始,而不是 .#。 

? file 

file 處于工作目錄,但是倉庫裡面沒有對應的檔案,它們也不是 cvs 忽略的檔案(參見 `-I' 選項的說明,以及 參閱 cvsignore)。 

update的幾個常用參數:

-D date 

使用不遲于 date 的最新修訂版。這是一個粘性的選項,含有 `-P'。見 Sticky tags,了解更多粘性标簽/日期的資訊。 

-f 

隻與 `-D' 或 `-r' 辨別一起使用。如果沒有比對的修訂版,擷取最新的修訂版(而不是忽略這些檔案)。 

-k kflag 

根據 kflag 處理關鍵字。參閱 Keyword substitution。此選項是粘性的; 以後在這個工作目錄裡面更新,還是使用相同的 kflag。status 指令可以看到粘性的選項。參閱 Invoking CVS,了解 status

指令的資訊。 

-l 

隻在目前工作目錄裡面執行。 參閱 Recursive behavior. 

-P 

清除空目錄。參閱 Moving directories. 

-p 

管道方式輸出到标準輸出。 

-R 

遞歸方式檢出(預設)。 參閱 Recursive behavior. 

-r tag[:date] 

獲得 rev 修訂版/标簽,或者當 date 指定,并且 tag 是分支标簽,分支 tag 上的版本可以當作是在 date 上。此選項是粘性的,含`-P'。參閱 Sticky tags 和 Common options 了解更多粘性标簽/日期的資訊。 

update 還有一些特殊的選項:

-A 

重置任何的粘性标簽,日期,或 `-k' 選項。參閱Sticky tags,了解更多粘性标簽/日期的資訊。 

-C 

用倉庫裡面幹淨的副本覆寫本地的修改(但修改過的檔案另存為 .#file.revision)。 

-d 

建立倉庫裡面存在而工作目錄裡面沒有的目錄。通常,update 隻作用于你工作目錄裡面已經存在的檔案和目錄。 

此選項通常用來更新最初檢出建立的目錄; 但也有不好的副作用。如果你在建立工作目錄時,刻意避免倉庫裡面的某些目錄(通過子產品名,或在指令行上明确指定所需的檔案和目錄),用 `-d' 選項更新将建立這些你不想要的目錄。

-I name 

更新時忽略比對 name 的檔案(在工作目錄裡面)。你可以在指令行上多次使用 `-I' 指定多個要忽略的檔案。`-I !' 可以避免忽略任何檔案。參閱 cvsignore, 了解 cvs 忽略檔案的其他方式。 

-Wspec 

指定更新時需要過濾的檔案名。你可以重複使用此選項。 

spec 可以是檔案名模闆,與 .cvswrappers 檔案裡面的類型相同。參閱 Wrappers.

-jrevision 

通過兩個 `-j' 選項,合并第一個 `-j' 選項指定的修訂版至第二個 `j' 選項修訂版的變更到工作目錄。 

使用一個 `-j' 選項,合并最初的修訂版至 `-j' 選項指定修訂版的變更到工作目錄。最初的修訂版是工作目錄檔案基于的修訂版和 `-j' 選項指定修訂版共同的祖先。

注意使用 `-j tagname' 選項而不是 `-j branchname',合并的通常不是從分支上删除檔案的變更。參閱 Merging adds and removals, 了解詳細情況。

另外,每個 `-j' 選項可以包含可選的日期規格,當用于分支時,可以限制修訂版處于指定日期之内。可選的日期通過分号(:)加在标簽裡面: `-jSymbolic_Tag:Date_Specifier'.

============================================================

如何将分支版本同步到主幹?

$ cvs update -dAC 

$ cvs update -d -j HEAD -j rs_2-0-0-0_BL 

cvs ci 

cvs tag rs_2-0-0-0_BL_MAIN

此操作是将tag版本:rs_2-0-0-0_BL的所有内容完全覆寫目前主幹末端版本,送出同步結果版本到cvs之後,标記基線tag:rs_2-0-0-0_BL_MAIN

本文轉自 winters1224 51CTO部落格,原文連結:http://blog.51cto.com/winters1224/797850,如需轉載請自行聯系原作者

繼續閱讀