posts - 297,  comments - 1618,  trackbacks - 0
                  原文出處:http://tech.it168.com/j/2007-12-03/200712031045818.shtml
                  本文禁止轉(zhuǎn)載!

                 CVS的全稱為Concurrent Version System(并行版本系統(tǒng)),主要用于項目的版本管理和協(xié)同開發(fā)。

                 說明:本例的CVS的客戶端和服務(wù)器端都裝在同一臺機上。

          一.             服務(wù)端CVSNT

          1. 安裝與配置

          下載地址:http://www.cvsnt.org

          本文下載的是當前的最新版2.5.03

          雙擊下載得到的cvsnt-2[1].5.03.2382.msi文件,開始進入安裝,點擊“運行”按鈕,進入安裝的歡迎界面,接著點擊“Next”按鈕,進入是否接受用戶協(xié)定頁面,用戶勾選“I accept…”選擇,接受用戶協(xié)定后,點擊“Next”按鈕,進入選擇安裝模式頁面,如下圖所示:

                 在此存在三種安裝模式,即典型、自定義和完全安裝,筆者選擇的是典型安裝,選擇后點擊“Next”按鈕,進入安裝準備頁面,如下圖所示:

                 在該圖中點擊“Install”按鈕開始進入安裝,安裝完成后彈出安裝完成頁面,點擊安裝完成圖的“Finish”按鈕完成安裝。安裝完成后,會提示用戶是否現(xiàn)在就重啟系統(tǒng)來使安裝生效,如下圖所示:

                 點擊“Yes”按鈕重啟系統(tǒng)。

                 安裝完成后,還需要配置CVS的知識倉庫,讀者可以首先在E盤下建立CVS目錄,用來作為CVS的知識庫。通過“程序”-> CVSNT -> CVSNT Control Panel進入CVSNT的控制面板,點擊“Repository configuration”頁簽,點擊“Add”按鈕,彈出服務(wù)端參數(shù)設(shè)置頁面,在location中選擇之前建立的知識倉庫目錄,內(nèi)容如下所示:

                 點擊“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 結(jié)構(gòu)的軟件,因此它也分成服務(wù)器端和客戶端兩部分。如下圖所示:

          3. CVSNT的基本工作思路

          在一臺服務(wù)器上建立一個知識倉庫,倉庫里可以存放許多不同項目的文件。

          每個用戶在使用倉庫之前,首先要把倉庫里的項目文件下載到本地。用戶做的任何修改首先都是在本地進行,然后用 CVS 命令進行提交。

          倉庫概念如下圖所示:

          4. 常用命令和語法

                 CVSNT中,有很多常用命令,例如添加CVS用戶、將CVS用戶綁定到操作系統(tǒng)、登錄CVS、檢出(check out)文件或目錄、提交文件或目錄、刪除文件或目錄等,將本小節(jié)中,我們在本小節(jié)中將分別進行討論。

                 為了能夠進行添加和修改用戶等等的操作,還需要設(shè)置CVS的資源庫,在此我們需要設(shè)置CVSROOT環(huán)境變量,進入“我的電腦”-> “高級”-> “環(huán)境變量”,在系統(tǒng)變量中設(shè)置名為CVSROOT的環(huán)境變量,在本文中,CVSROOT變量的值設(shè)置為:E:"CVS

                 注意:在設(shè)置完成后,為了使設(shè)置生效,需要在服務(wù)中重啟CVSNT的兩個服務(wù):CVSNT Dispatch service 2.5.03.2382CVSNT Locking Service 2.5.03.2382。否則在下面的新增CVS用戶等步驟中會出現(xiàn)沒有設(shè)置CVSROOT的錯誤。

          1)新增CVS用戶

          命令為:cvs passwd -a <cvs用戶名>

                 例如,新增一個用戶名為AmigoXie的用戶,可在命令行輸入如下語句:

                 cvs passwd -a AmigoXie

          按下Enter鍵后,在命令行中輸入設(shè)置的密碼,筆者在此處輸入為:19821121,按Enter后再輸入確認密碼,

          2)綁定CVS用戶到操作系統(tǒng)

          命令為:cvs passwd -r winUser cvsUser

          例如,將在1)中建立的CVS用戶AmigoXie綁定到操作系統(tǒng)用戶AmigoXie,命令為:cvs passwd -r AmigoXie AmigoXie,按下Enter鍵后,提示輸入新密碼和確認密碼,輸入后,即完成了綁定CVS用戶到操作系統(tǒng)的操作。

          3)取消CVS用戶到操作系統(tǒng)的綁定

          命令為:cvs passwd -R cvsUser

          例如,讀者輸入命令:cvs passwd –R AmigoXie,按下“Enter”鍵后輸入新密碼和確認密碼,即完成了CVS用戶AmigoXie到操作系統(tǒng)的綁定。

          4)將用戶狀態(tài)置為無效

          命令為:cvs passwd -x cvsUser

          例如,讀者輸入命令:cvs passwd -x AmigoXie,按下“Enter”鍵,即完成CVS用戶AmigoXie的狀態(tài)改變。

          5)刪除某用戶

          命令為:cvs passwd -X cvsUser

          例如,若讀者想刪除名稱為AmigoXieCVS用戶,在命令行下輸入如下命令:

          cvs passwd -X AmigoXie

          按下Enter鍵后,會出現(xiàn)成功刪除該用戶的提示信息。

          6)瀏覽CVS的模塊信息

          命令為:cvs ls

                        在命令行下輸入cvs ls,可看到CVS當時的模塊信息,至少包括一行記錄,即CVSROOT

          7)從服務(wù)器取出項目和文件

          命令為:cvs checkout projectname

          例如,我們想要取出CVSROOT項目,可在命令行中輸入:

          cvs checkout CVSROOT

          按下“Enter”鍵后,在命令行中會出現(xiàn)各文件的取出信息。該命令可將最新版本的源代碼導(dǎo)出到相應(yīng)目錄匯中(在此進入的是C:"Documents and Settings"AmigoXie目錄,所以CVSROOT被導(dǎo)入該目錄中)。

          8)更新CVS的文件或項目

          命令為:cvs update file_name

          其中file_name可以不指定,不寫時表示同步所有子目錄下的文件。我們首先在E:/CVS目錄下建立CVSProject目錄,同時通過命令set cvsroot=:sspi:localhost:E:/CVS/CVSProject將其設(shè)置為CVSmodule,設(shè)置成功之后,在命令行中運行cvs ls,可看到除了CVSROOT外,多了CVSProject這個module。我們通過7)中的checkout命令(cvs checkout CVSProject)將其取出。此時在命令行中輸入cvs update,即可完成該工程的更新操作。

          9)添加文件或目錄到CVS服務(wù)器

          命令為:cvs add new_file_or_folder

          我們首先在我們下載的CVSProject目錄下建立一個amigo目錄,和一個amigo.txt文件,在命令行中進入C:"Documents and Settings"AmigoXie"CVSProject目錄后做如下操作:

          在上圖中可以看到文件和目錄添加成功的信息,此時我們進入E:"CVS"CVSProject目錄,可看到多了amigo目錄和amigo.txt文件。

          10)              添加文件或目錄到CVS服務(wù)器

          命令為:cvs commit -m "comments" file_name

          我們修改C:"Documents and Settings"AmigoXie"CVSProject目錄下的amigo.txt文件,在該文本文件中加上內(nèi)容:amigo。此時在命令行中輸入:

          cvs commit -m "修改后的文件" amigo.txt

          可看到運行結(jié)果如下:

          此時進入E:"CVS"CVSProject目錄,可看到多了amigo.txt,v文件,查看文件內(nèi)容時可以看到該文件中記錄了更新信息。

          11)              查看文件版本信息和修改信息

          命令為:cvs log file_name

          例如,在命令行中輸入cvs log amigo.txt,可在命令行中看到該文件的修改信息,以及修改時的注釋等信息。

          12)              版本比較功能

          命令為:cvs diff file_name

          查看當前文件和庫中文件的區(qū)別可用如上的命令,例如修改amigo.txt文件后運行cvs diff amigo.txt命令,可在命令行中看到相關(guān)的修改信息。

          查看文件不同版本的區(qū)別,可用類似語句:

          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

          WinCVSCVS的一個客戶端程序,它以CVS作為基礎(chǔ),它運行在Windows上,在其上構(gòu)造了功能強大的GUI,使得Windows平臺上的CVS用戶能非常容易的進行協(xié)同工作。它可以用來在Windows上登錄CVS服務(wù)器,然后進行一些CVS相關(guān)的操作與管理

          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以下的版本,其它更新的版本會出現(xiàn)一些問題,請注意是否下載了正確的版本。

          點擊下載的wincvs.exe文件,并按照安裝步驟完成安裝后,打開WinCVS,操作界面如下所示:

          我們還需要在WinCVS中進行登錄配置,點擊“管理”-> “設(shè)置”,彈出設(shè)置頁面,筆者的設(shè)置如下:

          點擊“確定”按鈕設(shè)置完成后,點擊“管理” -> “登錄”,在彈出的登錄設(shè)置頁面中點擊“確定”按鈕,接著彈出口令認證頁面,輸入用戶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目錄后可看到如下信息:

          點擊新增按鈕后,狀態(tài)如下:

          2)提交文件或目錄

          1)中選擇sterning.txt后,點擊右鍵,選擇“提交選項”,出現(xiàn)輸入注釋信息框,點擊“確定”按鈕,即完成了目錄的提交。目錄提交方式與該操作方式一樣。

          3)更新文件或目錄

          例如,在C:"tmp"CVSProject"doc目錄下刪除sterning.txt文件后,在WinCVS中選擇doc目錄,右鍵選擇“更新選項”,即可sterning.txt文件重新被下載到doc目錄下。

          4)版本比較

          依照1)和2)中的步驟在doc目錄下新建amigo.txt文件,并將其提交到CVS,文件內(nèi)容為amigo,同時修改C:"tmp"CVSProject"doc下的該文件(添加新行,新行內(nèi)容為sterning)。在WinCVS中選擇該文件后,點擊右鍵選擇“比較選項”,在彈出的“比較設(shè)置”框中點擊“確定”按鈕,即可看到客戶端的版本同服務(wù)器上的最新版的比較信息,如下圖所示:

          在上圖中清楚的顯示了本地(右邊)比服務(wù)器上的最新版(左邊)多了一行。

          5)刪除文件或目錄

          例如,在WinCVS中選擇需刪除的一個或多個目錄,點擊操作欄的黑色的刪除選項,操作成功后這些被刪除的文件狀態(tài)為紅色的叉叉,選中這些文件,選擇“提交選項”,即可完成刪除操作。

           本質(zhì)上CVS是不會刪除任何文件和目錄的,即使是執(zhí)行了以上操作,刪除了某些文件,遠端CVS實際執(zhí)行的是將提交刪除的文件放到了一個叫【Attic】的目錄下,因此,這些被刪除的文件是可以通過一定的方法恢復(fù)的。

          6)給項目| 模塊打上標簽

          在項目開發(fā)中的一些階段性等時刻,可以通過WinCVS來給項目或模塊打上標簽,方法如下:

          選擇CVSProject工程,選擇操作欄靠左的“T”(創(chuàng)建標簽)按鈕,彈出“創(chuàng)建標簽設(shè)置”框,填寫標簽名等信息,例如輸入的標簽名為branch-release-1-1,點擊“確定”按鈕,可給該版本的文件都打上了branch-release-1-1的標簽。

          7)導(dǎo)入項目|模塊到CVS

          C:"tmp目錄下建立Test文件夾,并在該文件夾下建立amigo.txt文件,在WinCVS左邊操作欄中選擇C:"tmp"Test文件夾,點擊右鍵選擇“導(dǎo)入項目|模塊”,彈出“導(dǎo)入過濾器”框,選擇“繼續(xù)”按鈕,彈出“導(dǎo)入設(shè)置”框,可采用默認設(shè)置,點擊“確定”按鈕即完成該項目或模塊的導(dǎo)入。

          8)CVS上檢出項目|模塊到本地路徑

          WinCvs中選擇某個文件后,點擊右鍵,并選擇“檢查項目|模塊”選項,彈出檢出設(shè)置框,在“檢出設(shè)置”頁簽中填寫相關(guān)信息,筆者填寫的信息如下所示:

          點擊“確定”按鈕后完成項目或模塊的檢出,在E:"盤下可看到檢出的項目或模塊。

          注意:若想導(dǎo)出打了某個標簽的版本,讀者可在上圖的“檢出選項”中進行相應(yīng)設(shè)置,

          三.             總結(jié)

          在本文中,筆者詳細講述了CVSNTWinCVS的知識,包括兩者的安裝配置、CVSNT的常用命令、WinCVS的常見操作等知識,讀者通過閱讀本文,可以在應(yīng)用CVS進行版本控制時能夠更加的熟練自如。

          posted on 2007-12-04 14:22 阿蜜果 閱讀(3736) 評論(6)  編輯  收藏 所屬分類: CVS


          FeedBack:
          # re: 使用CVS進行版本控制實戰(zhàn)
          2007-12-04 21:03 | yz
          還有你這樣進行CVS控制的,汗!  回復(fù)  更多評論
            
          # re: 使用CVS進行版本控制實戰(zhàn)
          2007-12-04 22:48 | BeanSoft
          暈 我還以為用 Eclipse 的實戰(zhàn)呢。。。不要到處盜用我喜歡的“實戰(zhàn)”兩個字啊。。。  回復(fù)  更多評論
            
          # re: 使用CVS進行版本控制實戰(zhàn)
          2007-12-05 10:10 | 小魚
          用SVN啦  回復(fù)  更多評論
            
          # re: 使用CVS進行版本控制實戰(zhàn)[未登錄]
          2007-12-05 10:20 | apple0668
          個人感覺svn比較好點,看場合啦,有時cvs就夠啦!  回復(fù)  更多評論
            
          # re: 使用CVS進行版本控制實戰(zhàn)
          2007-12-05 17:08 | 子龍
          好像用MyEclipse不用安裝客戶端就可以檢出項目,你說的太復(fù)雜了吧!  回復(fù)  更多評論
            
          # re: 使用CVS進行版本控制實戰(zhàn)
          2007-12-06 16:02 | legendsen
          CVS早就該下場了,SVN早就該用了。呵呵。
          最近在研究SVK。  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2007年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

                生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
                我的作品:
                玩轉(zhuǎn)Axure RP  (2015年12月出版)
                

                Power Designer系統(tǒng)分析與建模實戰(zhàn)  (2015年7月出版)
                
               Struts2+Hibernate3+Spring2   (2010年5月出版)
               

          留言簿(263)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          關(guān)注blog

          積分與排名

          • 積分 - 2296322
          • 排名 - 3

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 渝北区| 独山县| 锡林浩特市| 三门县| 娱乐| 平原县| 宁陵县| 汾阳市| 明水县| 湖南省| 西城区| 沧源| 云和县| 曲阜市| 天峨县| 清镇市| 原阳县| 松滋市| 高州市| 偏关县| 虹口区| 秦安县| 德钦县| 德兴市| 吉林省| 耿马| 临武县| 和林格尔县| 淮南市| 梓潼县| 长白| 佛山市| 米林县| 新昌县| 临沭县| 称多县| 高碑店市| 孙吴县| 新巴尔虎左旗| 焦作市| 南通市|