<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,  comments - 11,  trackbacks - 0

    1、前言:

    CVS是版本控制的利器,目前在Linux和Windows下都有不同版本;但是國內(nèi)大多數(shù)應(yīng)用介紹都是基于Linux等開放源代碼的開放性軟件組織,而且講解的也不系統(tǒng),讓人摸不著頭腦;Windows下的CVS使用介紹更是了了無幾。
    本文是針對Windows的LAN環(huán)境下使用CVS的經(jīng)驗介紹,一步一步的向您介紹如何配置和使用CVS的服務(wù)器端和客戶端。同時,本文只使用到了CVS當中最基本的東西,還有很多更為高級的東西,本文暫不涉及。下面是本文的另一個連接映射,歡迎大家討論使用,共同進步。
    文章連接http://www.kuihua.net/book/list.asp?id=66
    論壇連接http://www.kuihua.net/bbs/dispbbs.asp?boardID=1&;RootID=670&ID=670

    2、安裝版本:

    2.1、服務(wù)器端(CVSNT)

    1. 本文使用的是CVSNT-2.0.4,這是一個比較穩(wěn)定的版本,不要使用最新的CVSNT-2.1.1,本人在使用中發(fā)現(xiàn)有比較嚴重的Bug。
    2. 下載連接http://www.cvsnt.org 目前,它提供2.0.6和2.1.1版本的下載。
    3. 上面連接還提供源代碼,有興趣的朋友還可以下載下來仔細研究:)。
    4. 有心的朋友,仔細觀察就會發(fā)現(xiàn)http://www.cvsnt.org 并沒有提供任何客戶端的下載,那是因為CVS.exe既可以用于服務(wù)器端又可以用于客戶端,WinCVS是為了客戶端使用的方便而定制的外殼。(關(guān)于這一點,本人未得到任何證實,只是本人在使用過程中的一種體會,歡迎大家討論。)

    2.2、客戶端(WinCVS)

    1. 本文使用的是WinCVS-1.3b13,這應(yīng)該是一個最新版本:),本人在使用過程中并沒有發(fā)現(xiàn)有任何嚴重的Bug。
    2. 下載連接http://sourceforge.net/projects/cvsgui/
    3. 此網(wǎng)站還提供豐富的CVS文檔和相關(guān)源代碼,以及多個OS下面的相關(guān)文檔和代碼;有收藏癖的朋友有福了:)。
    4. WinCVS-1.3b13 使用的CVSNT的版本是CVSNT-2.0.2,在與服務(wù)器端的CVSNT-2.0.4 版本配合使用時,未發(fā)現(xiàn)任何不兼容或沖突現(xiàn)象。
    5. 在本人的系統(tǒng)中用cvs version命令顯示的結(jié)果如下:
    Client: Concurrent Versions System (CVSNT) 2.0.2 (client/server)
    Server: Concurrent Versions System (CVSNT) 2.0.4 (client/server)

    3、服務(wù)器端(CVSNT)的安裝與配置:

    3.1、服務(wù)器端機器和環(huán)境配置:

    1. 操作系統(tǒng):Windows 2000 Professional SP2中文版
    2. 機器名稱:Server
    3. 機器地址:192.168.0.6 (內(nèi)部IP)
    4. 網(wǎng)絡(luò)環(huán)境:100兆交換局域網(wǎng)
    5. 硬盤分區(qū)格式:FAT32與NTFS都可以。
    6. 準備2個CVSNT的工作目錄:
    F:\KHRoot (存放自己源代碼的根目錄)
    F:\KHTemp (存放CVS出錯信息的目錄)
    7. 本機上存在有的用戶列表:(由NT或本機的使用者創(chuàng)建)
    Administrator (系統(tǒng)管理員)
    Jackey (普通用戶)
    Goury (普通用戶)
    Riolee (普通用戶)

    3.2、安裝CVSNT:

    1. 下載CVSNT-2.0.4;使用administrator登陸到Server機器上。
    2. 雙擊自解壓的exe文件,選擇Full Install,其它按照默認方式安裝;安裝完畢后可以在服務(wù)控制器中發(fā)現(xiàn)多了2個服務(wù):cvsnt與cvslocking
    3. 發(fā)送Service Control Panel到桌面,形成快捷方式。
    4. 安裝程序會自動將CVS安裝路徑,設(shè)置到系統(tǒng)的Path環(huán)境變量當中,因此使用者可以在控制臺(cmd)中任意位置執(zhí)行cvs.exe,這一點對下面的配置很重要!!

    3.3、配置CVSNT服務(wù)器:

    1. 雙擊Service Control Panel快捷方式,在Service Status頁面,確認2個服務(wù)正常和穩(wěn)定運行。
    2. 選擇Repository頁面,點按Add按鈕,選擇已經(jīng)準備好的F:\KHRoot這個目錄,確認,OK,Yes,這時會在F:\KHRoot下面建立CVSRoot目錄,這是CVS默認的管理目錄(默認模塊)。如果報錯,那是系統(tǒng)Path路徑未設(shè)置正確。
    3. 選擇Advanced頁面,勾上Use local users for pserver ...,(Why? I don't know!J),在Temporary欄選擇已經(jīng)準備好的F:\KHTemp,確認,OK。
    4. 點按【應(yīng)用】按鈕,確認,退出,OK,搞定!!

    3.4、小結(jié):

    1. 至此,CVSNT服務(wù)器端基本配置完畢,下面進行WinCVS的使用和管理。
    2. 由于CVS支持遠程管理,也就是客戶端與服務(wù)器集成的特性,因此,我們將添加用戶、權(quán)限控制、模塊維護等所有的管理工作都放到遠端(WinCVS)進行管理,服務(wù)器端這時可以Ctrl+Atl+Del進入鎖定狀態(tài)了,下面的所有工作都交給遠端的WinCVS來進行管理。

    4 客戶端(WinCVS)的安裝與配置:

    4.1 客戶端機器和環(huán)境配置:

    1. 操作系統(tǒng):Windows 2000 Professional SP2中文版
    2. 機器名稱:YCW2000
    3. 機器地址:192.168.0.2 (內(nèi)部IP)
    4. 網(wǎng)絡(luò)環(huán)境:100兆交換局域網(wǎng),可以直接訪問到Server
    5. 硬盤分區(qū)格式:FAT32與NTFS都可以。

    4.2 安裝WinCVS:

    1. 下載WinCVS 1.3b13,全部按照默認安裝就可以了。
    2. 啟動WinCVS,開始使用。特別注意:以下的所有操作都是在YCW2000(192.168.0.2)這臺機器上遠程完成的,此時的Server(192.168.0.6)主機已經(jīng)進入了鎖定狀態(tài)。

    5 管理員使用WinCVS進行遠程管理:

    5.1 配置WinCVS成管理員狀態(tài):

    1. 準備管理員工作目錄:(在YCW2000機器上)
    E:\CVSClient\Admin (管理員工作目錄)
    E:\CVSTemp (WinCVS臨時目錄)
    2. 第一次啟動WinCVS時會自動彈出Preferences配置頁面,也可以通過Admin=>Preference菜單進入;第一次使用時需要配置如下的3個頁面:
    General頁面設(shè)置:
    注:按照圖示方式輸入即可,需要注意的是Path部分的格式是Unix路徑格式,它指的是CVSNT端設(shè)置的工作根目錄。
    CVS頁面設(shè)置: 注:Home路徑是設(shè)置密碼等文件的存放位置,必須指定,否則在登陸時,WinCVS也要彈出設(shè)置框。這個Home路徑需要Python.exe這個外掛程序才有效。這里選擇已經(jīng)準備好的路徑:E\CVSTemp
    WinCVS頁面設(shè)置:
    注:此頁面設(shè)置WinCVS的外掛編輯程序,通常使用UltraEdit比較方便。
    3. 設(shè)置管理員的工作路徑:可以點按圖標 ,或View=>Browse Location=>Change...菜單進行設(shè)置,選擇已經(jīng)準備好的路徑:E:\CVSClient\Admin,確認,OK,這時此目錄將出現(xiàn)在WinCVS的左邊導航欄【W(wǎng)orkspace】內(nèi)。
    4. 至此,WinCVS就被配置成了遠程的管理員使用狀態(tài),下面進行一般管理員需要的基本操作演練。演練的內(nèi)容為:Administrator需要管理Jackey,Goury,Riolee三個用戶,分別為這3個用戶建立工作目錄,每個人只能訪問自己的工作目錄。同時,只有Administrator能夠進行權(quán)限分配,其它人沒有任何管理權(quán)限。

    5.2 管理員進行管理演練:

    1. 登陸遠程CVSNT:
      ◇ 選擇Admin=>Login菜單,默認設(shè)置,OK。
      ◇ 彈出密碼輸入框,確認,OK。注意觀察輸出框【OutPut】的返回結(jié)果。
    2. Checkout默認模塊:(CVSRoot管理模塊)
      ◇ 在左邊導航欄【W(wǎng)orkspace】內(nèi),選擇【Admin】點按右鍵,選擇【Checkout
      modules...】,在【Checkout settings】中輸入CVSRoot,確定,OK。如下圖:
      ◇ 如果成功的話,會在【Admin】欄下增加一個【CVSRoot】目錄。表示您已經(jīng)將【
      CVSRoot】這個管理模塊下載到本地了。

    3. CVS中目錄權(quán)限介紹:

    ◇ 系統(tǒng)支持的目錄權(quán)限列表:
    r (讀取權(quán)限)
    w (寫入權(quán)限)
    c (創(chuàng)建和刪除權(quán)限)
    n (沒有任何權(quán)限)
    ◇ 默認情況下,任何用戶都擁有任何目錄的所有權(quán)限。
    ◇ 任何情況下只有目錄的擁有者和Administrator才有權(quán)力更改目錄的使用權(quán)限。下面將會介紹如何修改目錄權(quán)限和目錄的擁有者。

    4. 修改CVSRoot的權(quán)限:只讓Administrator擁有rcw三種全部權(quán)限。

    ◇ 選中剛剛下載的【CVSRoot】模塊,【Ctrl+L】或Admin=>Command Line...,彈出Command Line Settings對話框,直接執(zhí)行CVS命令。
    ◇ 取消所有用戶的默認權(quán)限:cvs chacl default:n 回車,OK,完成。
    ◇ 設(shè)置Administrator擁有所有權(quán)限:cvs chacl administrator:rcw 回車,OK,完成。
    ◇ 更改【CVSRoot】的擁有者:cvs chown administrator 回車,OK,完成。
    ◇ 查看【CVSRoot】的權(quán)限狀態(tài):cvs lsacl 回車,OK,在【Output】中顯示:
    Owner: administrator
    default:n
    administrator:rwc
    ◇【CVSRoot】的權(quán)限配置完畢。

    5. 編寫代碼庫中的模塊文件,便于多用戶下載方便。

    l 需要自己編寫的模塊文件格式如下:(實現(xiàn)基本功能)
    【模塊一的描述】【n個空格或參數(shù)】【相對目錄路徑一(DirA)】
    【模塊二的描述】【n個空格或參數(shù)】【相對目錄路徑二(DirB)】
    ......
    【模塊X的描述】【n個空格或參數(shù)】【相對目錄路徑X(DirX)】
    ◇【描述信息】與【相對路徑】在字面上不一致時,需要使用-a參數(shù)。
    ◇ 【相對路徑】指的是CVS會自動帶上根路徑,這里是F:\KHRoot,所以上面例子的完整路徑為:F:\KHRoot\DirA
    ◇ 了解了模塊文件結(jié)構(gòu),現(xiàn)在來實際操作一把:雙擊【CVSRoot】模塊下的modules文件,用UltraEdit打開進行編輯。
    ◇ 為Jackey,Goury,Riolee三個用戶分配工作目錄和完成其它模塊描述。
    CVSRoot CVSRoot
    Jackey工作目錄 -a Jackey
    Goury工作目錄 -a Goury
    Riolee工作目錄 -a Riolee
    ◇ 編輯完畢,存盤。回到WinCVS,選中modules這個文件【Ctlr+M】或右鍵選擇【Commit selection...】,默認設(shè)置,【確認】,OK,完成上傳。

    6 . 為三個用戶分別上傳工作目錄:

    ◇ 在YCW2000機器上的E:\CVSClient\Admin分別建立三個目錄分別名為:Jackey,Goury,Riolee,作為臨時交換目錄。
    ◇ 在新創(chuàng)建的每個目錄中用UltraEdit或拷貝一個Readme.txt作為引子文件!!:)
    ◇ 然后,回到WinCVS,在【W(wǎng)orkspace】欄的【Admin】目錄下形成如下的目錄結(jié)構(gòu):
    ◇ 分別選中Goury,Jackey,Riolee,右鍵,點按【Import Module】,選擇【Continue】,其它全部使用默認值,【確定】,OK,完成上傳工作。
    ◇ 仔細觀察【Output】窗口,確認都成功上傳了。
    ◇ 轉(zhuǎn)移到系統(tǒng)的Explore程序中,刪除E:\CVSClient\Admin目錄下的Jackey,Goury,Riolee三個目錄。然后回到WinCVS當中。(一定要刪除!!!:)
    ◇ 至此,就完成了工作目錄的上傳工作。

    7. 【Checkout】下載3個用戶的工作目錄到【Admin】目錄下:

    ◇ 在【W(wǎng)orkspace】欄選擇【Admin】目錄,右鍵,點按【Checkout Module...】,如下圖:
    ◇ 選擇【...】,得到CVSNT上最新的模塊配置情況,彈出如下的信息框:
    ◇ 這個結(jié)構(gòu)圖就是剛才在modules當中編寫的模塊文件格式信息。選擇【Jackey工作目錄】,下載到Y(jié)CW2000機器的E:\CVSClient\Admin目錄下。
    ◇ 按照以上操作,依次分別下載【Goury工作目錄】和【Riolee工作目錄】。形成如下狀態(tài):


    8. 為三個用戶分別設(shè)置各自目錄的訪問權(quán)限。(只有自己才能訪問自己的工作目錄)

    ◇ 選中【Goury】目錄,【Ctrl+L】或Admin=>Command Line...,彈出Command Line Settings對話框,直接執(zhí)行CVS命令。
    ◇ 取消所有用戶的默認權(quán)限:cvs chacl default:n 回車,OK,完成。
    ◇ 設(shè)置Goury擁有所有權(quán)限:cvs chacl goury:rcw 回車,OK,完成。
    ◇ 查看【CVSRoot】的權(quán)限狀態(tài):cvs lsacl 回車,OK,在【Output】中顯示:
    Owner: administrator
    default:n
    goury:rwc
    ◇ 按照以上的方法依次分別設(shè)置【Jackey】與【Riolee】的工作目錄訪問權(quán)限。
    ◇ 至此,完成了3個用戶的目錄權(quán)限分配。注意,雖然Administrator也沒有權(quán)力再次【Checkout】那3個用戶的工作目錄,但是它是這些目錄的擁有者又是Administrator,因此,只有它才有權(quán)力更改這些目錄的訪問權(quán)限。

    9. CVSNT系統(tǒng)中的用戶管理原則:

    ◇ CVSNT的用戶與本機(這里是Server機器)上的NT用戶是相關(guān)聯(lián)的,即CVSNT用的全是本機上存在的已有用戶,因此在默認情況下可以不用設(shè)置任何用戶名,只要使用本機上已經(jīng)存在的用戶名就可以用WinCVS進行登陸。
    ◇ 只有用Administrator身份登陸到CVSNT系統(tǒng)中,才有權(quán)力進行新用戶的創(chuàng)建和刪除。
    ◇ 使用CVS創(chuàng)建的新用戶,必須與服務(wù)器端機器上的NT用戶相綁定,才能生效;因此,這個新用戶實際上是綁定它的NT用戶的一個替身,在CVS系統(tǒng)中稱為"別名"。
    ◇ 一個NT用戶可以有多個‘替身'或‘別名',充當多個CVS用戶。

    10. 用WinCVS進行新用戶的添加和刪除。(確保使用Administrator登陸)

    ◇ 【Ctrl+L】或Admin=>Command Line...,彈出Command Line Settings對話框,直接執(zhí)行CVS命令。
    ◇ 添加新用戶【Killer】:cvs passwd -a Killer 回車,設(shè)置密碼,OK,完成。
    ◇ 綁定【Killer】到【Jackey】:cvs passwd -r Jackey Killer 回車,設(shè)置密碼,OK,完成。
    ◇ 兩次輸入的密碼可以不同,但以第二次輸入的密碼為最終密碼。
    ◇ 刪除用戶【Killer】:cvs passwd -X Killer 回車,OK,完成。
    ◇ 其它特殊的功能查看passwd命令的幫助。

    11.使用完畢后,一定要【Logout】,因為WinCVS退出時并不會自動注銷自己在遠端的會話;這樣做是為了防止其它人接著打開WinCVS,不用登陸就可以完成你能進行的所有操作了。

    6 WinCVS中常見的特殊操作:

    6.1 如何刪除下載的文件或目錄:

    1. 選中下載的某個或多個文件,執(zhí)行【Remove】命令。
    2. 再次選中這些文件,執(zhí)行【Commit】命令就完成了刪除文件的操作。
    3. 本質(zhì)上CVS是不會刪除任何文件和目錄的,即使是執(zhí)行了以上操作,刪除了某些文件,遠端CVS實際執(zhí)行的是將提交刪除的文件放到了一個叫【Attic】的目錄下,因此,這些被刪除的文件是可以通過一定的方法恢復的。

    6.2 如何恢復已經(jīng)刪除的文件或目錄:

    1. 在執(zhí)行了【Remove】命令之后恢復文件。
    ◇ 【Ctrl+L】直接輸入命令cvs add xxxxx,或執(zhí)行【Add Selection】界面操作。
    ◇ 這樣就可以直接恢復還未提交的刪除文件。
    2. 在執(zhí)行了【Commit】命令之后恢復文件。
    ◇ 只能用【Ctrl+L】直接輸入命令cvs add xxxxx,這時會得到一個空的文件。
    ◇ 選中這個空文件,執(zhí)行【Update】操作,得到這個文件的實體。
    ◇ 再次選中這個文件,執(zhí)行【Commit】操作,得到這個文件最新版本。
    3. 由于CVS系統(tǒng)中本質(zhì)上不會刪除任何目錄,因此,談不上對目錄的恢復,但是CVS系統(tǒng)默認情況下是要在用戶本機上(如:YCW2000)要刪除空目錄,因此,可以用如下方法得到已被刪除的空目錄:cvs checkout -p xxx,也可以在Admin=>Preference的【Globals】頁面進行設(shè)置。
    4. 可見,CVS系統(tǒng)能夠保證:只要上傳到服務(wù)器的文件,無論你怎么在遠程進行如何的操作,正常的或非正常的操作,都可以用Administrator登陸上去,通過以上的方法找到丟失的文件。除非用戶進入到遠端服務(wù)器,將文件手動刪除,那就沒辦法了:)

    6.3 如何得到以前版本的文件:

    1. 有時我們需要得到以前版本的文件,而WinCVS默認方式只傳遞最新的版本。
    2. 選中某個文件,【Ctrl+G】或右鍵,點按【Graph selection...】,使用默認設(shè)置,就可以得到該文件所以版本的圖形結(jié)構(gòu)描述。
    3. 選中一個版本,右鍵,點按【Retrieve revision】,就可以得到相應(yīng)的老版本文件。當然也可以得到最新版本的文件:)

    6.4 有時WinCVS會變得異常緩慢,怎么辦?

    1. 確認安裝了WinCVS的機器上沒有安裝CVSNT服務(wù)器端,因為它們使用的版本有可能不一致。
    2. 只安裝了WinCVS,但以前安裝過其它版本的WinCVS,怎么辦?
    3. 先卸載所有的WinCVS系統(tǒng),刪除安裝目錄下的殘留文件。
    4. 打開注冊表編輯器,全程查找cvs關(guān)鍵字,找到一個刪除一個,一直到找不到為止!!:)
    5. 重新安裝WinCVS,這個問題基本上就可以解決了,我就是這樣解決,不曉得你那里如何?:)

    7 其它說明:

    1. 本文的重點在介紹如何讓使用者搭建CVSNT+WinCVS這個系統(tǒng),因此重點介紹了管理員的常用操作,至于一般用戶使用到的操作,相對比較簡單和單一,使用WinCVS的次數(shù)多了,很快就會熟悉它了。
    2. 這篇文檔只是窺探了CVS的一點皮毛而已,CVS當中還有很多高級的用法,以及上百個命令,還有很多新鮮的管理源代碼的方法,比如:tag,branch等模式;因此,熱烈歡迎大家積極探索,不斷共享,不斷進步。。。。。。。。
    3. 另外,cvs.html這個幫助,里面的信息也很豐富,但是,很多地方寫得不夠清楚,需要不斷猜測和實踐才能知道怎么回事,本文的很多經(jīng)驗都是看這個幫助,如此這般,采用這個笨辦法得到的。。。。。。
    4. 最后,祝愿看到此文的人,得到的幫助、提高等好處大于或等于浪費的時間、反而退步等壞處!!

    posted on 2007-12-01 13:31 jadmin 閱讀(65) 評論(0)  編輯  收藏

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 成人免费无码大片a毛片软件 | 久久亚洲精品中文字幕三区| 亚洲heyzo专区无码综合| 成年人视频免费在线观看| 亚洲国产精品嫩草影院在线观看| 国产精品成人免费观看| 亚洲国产黄在线观看| 中文字幕一精品亚洲无线一区| 国产精品亚洲天堂| 免费一级毛片女人图片| 特级毛片免费播放| 国产国拍亚洲精品福利| 一区二区3区免费视频| 亚洲日韩v无码中文字幕| 精品视频一区二区三区免费| 亚洲伦理一区二区| 日本XXX黄区免费看| 亚洲精品9999久久久久无码| 国产一级一片免费播放i| 人妻免费久久久久久久了| 亚洲精品乱码久久久久久按摩| 毛片无码免费无码播放| 亚洲AV色吊丝无码| 免费在线观看污网站| 国产精品免费一区二区三区| 亚洲国产精品自在线一区二区| 99久久久精品免费观看国产| 无码一区二区三区亚洲人妻| 亚洲香蕉网久久综合影视| 97在线视频免费| 亚洲色大成网站www| 亚洲国产主播精品极品网红| 国内精品免费视频精选在线观看| 亚洲国产午夜精品理论片| 国产成人高清精品免费鸭子| 亚洲黄色一级毛片| 成人人免费夜夜视频观看| 一个人看的www免费高清| 亚洲精品中文字幕乱码| 国产一卡二卡≡卡四卡免费乱码| 97国免费在线视频|