原文出處:http://tech.it168.com/j/2007-12-03/200712031045818.shtml
本文禁止轉載!
CVS的全稱為Concurrent Version System(并行版本系統),主要用于項目的版本管理和協同開發。
說明:本例的CVS的客戶端和服務器端都裝在同一臺機上。
一. 服務端CVSNT篇
1. 安裝與配置
下載地址:http://www.cvsnt.org
本文下載的是當前的最新版2.5.03。
雙擊下載得到的cvsnt-2[1].5.03.2382.msi文件,開始進入安裝,點擊“運行”按鈕,進入安裝的歡迎界面,接著點擊“Next”按鈕,進入是否接受用戶協定頁面,用戶勾選“I accept…”選擇,接受用戶協定后,點擊“Next”按鈕,進入選擇安裝模式頁面,如下圖所示:
在此存在三種安裝模式,即典型、自定義和完全安裝,筆者選擇的是典型安裝,選擇后點擊“Next”按鈕,進入安裝準備頁面,如下圖所示:
在該圖中點擊“Install”按鈕開始進入安裝,安裝完成后彈出安裝完成頁面,點擊安裝完成圖的“Finish”按鈕完成安裝。安裝完成后,會提示用戶是否現在就重啟系統來使安裝生效,如下圖所示:
點擊“Yes”按鈕重啟系統。
安裝完成后,還需要配置CVS的知識倉庫,讀者可以首先在E盤下建立CVS目錄,用來作為CVS的知識庫。通過“程序”-> CVSNT -> CVSNT Control Panel進入CVSNT的控制面板,點擊“Repository configuration”頁簽,點擊“Add”按鈕,彈出服務端參數設置頁面,在location中選擇之前建立的知識倉庫目錄,內容如下所示:
點擊“OK”按鈕,完成CVS知識倉庫的建立。此時我們打開E:/CVS文件夾,可以看到在該目錄夾下被新建立了一個CVSROOT目錄。
當不同的cvs客戶端連接CVS時,考慮到兼容性等問題,讀者還需要切換到Compatibility標簽,將Response as cvs 1.11.2 to version r選項勾上。
為了測試CVSNT是否成功,我們可以在命令行下輸入CVS命令,如果彈出如下信息,則表示安裝成功:
讀者若想查看所安裝的CVSNT的版本信息,可以通過輸入cvs version,本文安裝的版本為2.5.03。
2. CVS的分布
CVS 是典型的 C/S 結構的軟件,因此它也分成服務器端和客戶端兩部分。如下圖所示:
3. CVSNT的基本工作思路
在一臺服務器上建立一個知識倉庫,倉庫里可以存放許多不同項目的文件。
每個用戶在使用倉庫之前,首先要把倉庫里的項目文件下載到本地。用戶做的任何修改首先都是在本地進行,然后用 CVS 命令進行提交。
倉庫概念如下圖所示:
4. 常用命令和語法
在CVSNT中,有很多常用命令,例如添加CVS用戶、將CVS用戶綁定到操作系統、登錄CVS、檢出(check out)文件或目錄、提交文件或目錄、刪除文件或目錄等,將本小節中,我們在本小節中將分別進行討論。
為了能夠進行添加和修改用戶等等的操作,還需要設置CVS的資源庫,在此我們需要設置CVSROOT環境變量,進入“我的電腦”-> “高級”-> “環境變量”,在系統變量中設置名為CVSROOT的環境變量,在本文中,CVSROOT變量的值設置為:E:"CVS。
注意:在設置完成后,為了使設置生效,需要在服務中重啟CVSNT的兩個服務:CVSNT Dispatch service 2.5.03.2382和CVSNT Locking Service 2.5.03.2382。否則在下面的新增CVS用戶等步驟中會出現沒有設置CVSROOT的錯誤。
1)新增CVS用戶
命令為:cvs passwd -a <cvs用戶名>
例如,新增一個用戶名為AmigoXie的用戶,可在命令行輸入如下語句:
cvs passwd -a AmigoXie
按下Enter鍵后,在命令行中輸入設置的密碼,筆者在此處輸入為:19821121,按Enter后再輸入確認密碼,
2)綁定CVS用戶到操作系統
命令為:cvs passwd -r winUser cvsUser
例如,將在1)中建立的CVS用戶AmigoXie綁定到操作系統用戶AmigoXie,命令為:cvs passwd -r AmigoXie AmigoXie,按下Enter鍵后,提示輸入新密碼和確認密碼,輸入后,即完成了綁定CVS用戶到操作系統的操作。
3)取消CVS用戶到操作系統的綁定
命令為:cvs passwd -R cvsUser
例如,讀者輸入命令:cvs passwd –R AmigoXie,按下“Enter”鍵后輸入新密碼和確認密碼,即完成了CVS用戶AmigoXie到操作系統的綁定。
4)將用戶狀態置為無效
命令為:cvs passwd -x cvsUser
例如,讀者輸入命令:cvs passwd -x AmigoXie,按下“Enter”鍵,即完成CVS用戶AmigoXie的狀態改變。
5)刪除某用戶
命令為:cvs passwd -X cvsUser
例如,若讀者想刪除名稱為AmigoXie的CVS用戶,在命令行下輸入如下命令:
cvs passwd -X AmigoXie
按下Enter鍵后,會出現成功刪除該用戶的提示信息。
6)瀏覽CVS的模塊信息
命令為:cvs ls
在命令行下輸入cvs ls,可看到CVS當時的模塊信息,至少包括一行記錄,即CVSROOT。
7)從服務器取出項目和文件
命令為:cvs checkout projectname
例如,我們想要取出CVSROOT項目,可在命令行中輸入:
cvs checkout CVSROOT
按下“Enter”鍵后,在命令行中會出現各文件的取出信息。該命令可將最新版本的源代碼導出到相應目錄匯中(在此進入的是C:"Documents and Settings"AmigoXie目錄,所以CVSROOT被導入該目錄中)。
8)更新CVS的文件或項目
命令為:cvs update file_name
其中file_name可以不指定,不寫時表示同步所有子目錄下的文件。我們首先在E:/CVS目錄下建立CVSProject目錄,同時通過命令set cvsroot=:sspi:localhost:E:/CVS/CVSProject將其設置為CVS的module,設置成功之后,在命令行中運行cvs ls,可看到除了CVSROOT外,多了CVSProject這個module。我們通過7)中的checkout命令(cvs checkout CVSProject)將其取出。此時在命令行中輸入cvs update,即可完成該工程的更新操作。
9)添加文件或目錄到CVS服務器
命令為:cvs add new_file_or_folder
我們首先在我們下載的CVSProject目錄下建立一個amigo目錄,和一個amigo.txt文件,在命令行中進入C:"Documents and Settings"AmigoXie"CVSProject目錄后做如下操作:
在上圖中可以看到文件和目錄添加成功的信息,此時我們進入E:"CVS"CVSProject目錄,可看到多了amigo目錄和amigo.txt文件。
10) 添加文件或目錄到CVS服務器
命令為:cvs commit -m "comments" file_name
我們修改C:"Documents and Settings"AmigoXie"CVSProject目錄下的amigo.txt文件,在該文本文件中加上內容:amigo。此時在命令行中輸入:
cvs commit -m "修改后的文件" amigo.txt
可看到運行結果如下:
此時進入E:"CVS"CVSProject目錄,可看到多了amigo.txt,v文件,查看文件內容時可以看到該文件中記錄了更新信息。
11) 查看文件版本信息和修改信息
命令為:cvs log file_name
例如,在命令行中輸入cvs log amigo.txt,可在命令行中看到該文件的修改信息,以及修改時的注釋等信息。
12) 版本比較功能
命令為:cvs diff file_name
查看當前文件和庫中文件的區別可用如上的命令,例如修改amigo.txt文件后運行cvs diff amigo.txt命令,可在命令行中看到相關的修改信息。
查看文件不同版本的區別,可用類似語句:
cvs diff –r 1.1 –r 1.2 file_name
13) 刪除CVS文件或目錄
命令為:cvs rm –f file_name
cvs commit -m "reason to delete" file_name
例如,我們在命令行下輸入如下信息,可刪除在10)中建立的amigo.txt文件,如下圖所示:
二. 客戶端WinCVS篇
WinCVS是CVS的一個客戶端程序,它以CVS作為基礎,它運行在Windows上,在其上構造了功能強大的GUI,使得Windows平臺上的CVS用戶能非常容易的進行協同工作。它可以用來在Windows上登錄CVS服務器,然后進行一些CVS相關的操作與管理。
1. 安裝與配置
英文版下載地址:http://sourceforge.net/project/showfiles.php?group_id=10072
讀者可以自行下載WinCvs 2.1.1版本,筆者下載的是WinCVS的中文版1.3版,下載地址為:http://www.8848software.com/wincvs/。
在安裝WinCVS中文版前,需要首先下載python,下載地址為:http://www.python.org/download/,筆者下載的是2.1.3版本。
注意:WinCVS僅支持python2.2.3以下的版本,其它更新的版本會出現一些問題,請注意是否下載了正確的版本。
點擊下載的wincvs.exe文件,并按照安裝步驟完成安裝后,打開WinCVS,操作界面如下所示:
我們還需要在WinCVS中進行登錄配置,點擊“管理”-> “設置”,彈出設置頁面,筆者的設置如下:
點擊“確定”按鈕設置完成后,點擊“管理” -> “登錄”,在彈出的登錄設置頁面中點擊“確定”按鈕,接著彈出口令認證頁面,輸入用戶AmigoXie的密碼信息19821121,點擊“確定”,若在控制臺的末尾看到信息“***** CVS exited normally with code 0 *****”,則表示登錄成功。下載下來的項目默認放在C:/tmp目錄下。
2. 常見操作
1)新增文件或目錄
在C:/tmp/CVSProject目錄下新建doc目錄,在WinCVS中點擊左邊的C:/tmp/CVSProject文件夾,在右邊的顯示框中可以看到該新增的文件夾,選擇doc文件夾后點擊紅色的新增按鈕,即完成該文件夾的新增。
接著在doc目錄下建立sterning.txt文件,在WinCVS中進入doc目錄后可看到如下信息:
點擊新增按鈕后,狀態如下:
2)提交文件或目錄
在1)中選擇sterning.txt后,點擊右鍵,選擇“提交選項”,出現輸入注釋信息框,點擊“確定”按鈕,即完成了目錄的提交。目錄提交方式與該操作方式一樣。
3)更新文件或目錄
例如,在C:"tmp"CVSProject"doc目錄下刪除sterning.txt文件后,在WinCVS中選擇doc目錄,右鍵選擇“更新選項”,即可sterning.txt文件重新被下載到doc目錄下。
4)版本比較
依照1)和2)中的步驟在doc目錄下新建amigo.txt文件,并將其提交到CVS,文件內容為amigo,同時修改C:"tmp"CVSProject"doc下的該文件(添加新行,新行內容為sterning)。在WinCVS中選擇該文件后,點擊右鍵選擇“比較選項”,在彈出的“比較設置”框中點擊“確定”按鈕,即可看到客戶端的版本同服務器上的最新版的比較信息,如下圖所示:
在上圖中清楚的顯示了本地(右邊)比服務器上的最新版(左邊)多了一行。
5)刪除文件或目錄
例如,在WinCVS中選擇需刪除的一個或多個目錄,點擊操作欄的黑色的刪除選項,操作成功后這些被刪除的文件狀態為紅色的叉叉,選中這些文件,選擇“提交選項”,即可完成刪除操作。
本質上CVS是不會刪除任何文件和目錄的,即使是執行了以上操作,刪除了某些文件,遠端CVS實際執行的是將提交刪除的文件放到了一個叫【Attic】的目錄下,因此,這些被刪除的文件是可以通過一定的方法恢復的。
6)給項目| 模塊打上標簽
在項目開發中的一些階段性等時刻,可以通過WinCVS來給項目或模塊打上標簽,方法如下:
選擇CVSProject工程,選擇操作欄靠左的“T”(創建標簽)按鈕,彈出“創建標簽設置”框,填寫標簽名等信息,例如輸入的標簽名為branch-release-1-1,點擊“確定”按鈕,可給該版本的文件都打上了branch-release-1-1的標簽。
7)導入項目|模塊到CVS
在C:"tmp目錄下建立Test文件夾,并在該文件夾下建立amigo.txt文件,在WinCVS左邊操作欄中選擇C:"tmp"Test文件夾,點擊右鍵選擇“導入項目|模塊”,彈出“導入過濾器”框,選擇“繼續”按鈕,彈出“導入設置”框,可采用默認設置,點擊“確定”按鈕即完成該項目或模塊的導入。
8)從CVS上檢出項目|模塊到本地路徑
在WinCvs中選擇某個文件后,點擊右鍵,并選擇“檢查項目|模塊”選項,彈出檢出設置框,在“檢出設置”頁簽中填寫相關信息,筆者填寫的信息如下所示:
點擊“確定”按鈕后完成項目或模塊的檢出,在E:"盤下可看到檢出的項目或模塊。
注意:若想導出打了某個標簽的版本,讀者可在上圖的“檢出選項”中進行相應設置,
三. 總結
在本文中,筆者詳細講述了CVSNT和WinCVS的知識,包括兩者的安裝配置、CVSNT的常用命令、WinCVS的常見操作等知識,讀者通過閱讀本文,可以在應用CVS進行版本控制時能夠更加的熟練自如。
posted on 2007-12-04 14:22
阿蜜果 閱讀(3732)
評論(6) 編輯 收藏 所屬分類:
CVS