HanG321 Blog
Be Shine, Be Smile, Be Wild
  • Home
  • Blog
    • 好文閱讀 readings
    • 生活記事 diary
    • 時事評論 commentary
    • 科技資訊 technology
    • 電腦編程 programming
    • 金融財經 finance
    • 音樂電影 music/movie
  • About

WinCVS與CVSNT簡明使用手則

March 31, 2006|電腦編程
WinCVS與CVSNT簡明使用手則

1、前言:
CVS是版本控制的利器,目前在Linux和Windows下都有不同版本;但是國內大多數應用介紹都是基於Linux等開放源代碼的開放性軟體組織,而且講解的也不系統,讓人摸不著頭腦;Windows下的CVS使用介紹更是了了無幾。
本文是針對Windows的LAN環境下使用CVS的經驗介紹,一步一步的向您介紹如何配置和使用CVS的伺服器端和客戶端。同時,本文只使用到了CVS當中最基本的東
西,還有很多更為高級的東西,本文暫不涉及。

WinCVS與CVSNT簡明使用手則 作者: romkk 發表日期: 2006-02-28 17:28 文章屬性: 轉載複製鏈結

1、前言:
CVS是版本控制的利器,目前在Linux和Windows下都有不同版本;但是國內大多數應用介紹都是基於Linux等開放源代碼的開放性軟體組織,而且講解的也不系統,讓人摸不著頭腦;Windows下的CVS使用介紹更是了了無幾。
本文是針對Windows的LAN環境下使用CVS的經驗介紹,一步一步的向您介紹如何配置和使用CVS的伺服器端和客戶端。同時,本文只使用到了CVS當中最基本的東
西,還有很多更為高級的東西,本文暫不涉及。

2、安裝版本:
2.1、伺服器端(CVSNT)
1. 本文使用的是CVSNT-2.0.4,這是一個比較穩定的版本,不要使用最新的CVSNT-2.1.1,本人在使用中發現有比較嚴重的Bug。
2. 下載連接
http://www.cvsnt.org 目前,它提供2.0.6和2.1.1版本的下載。
3. 上面連接還提供源代碼,有興趣的朋友還可以下載下來仔細研究:)。
4. 有心的朋友,仔細觀察就會發現
http://www.cvsnt.org 並沒有提供任何客戶端的下載,那是因為CVS.exe既可以用於伺服器端又可以用於客戶端,WinCVS

是為了客戶端使用的方便而定制的外殼。(關於這一點,本人未得到任何證實,只是本人在使用過程中的一種體會,歡迎大家討論。)
2.2、客戶端(WinCVS)
1. 本文使用的是WinCVS-1.3b13,這應該是一個最新版本:),本人在使用過程中並沒有發現有任何嚴重的Bug。
2. 下載連接
http://sourceforge.net/projects/cvsgui/
3. 此網站還提供豐富的CVS文檔和相關源代碼,以及多個OS下面的相關文檔和代碼;有收藏癖的朋友有福了:)。
4. WinCVS-1.3b13 使用的CVSNT的版本是CVSNT-2.0.2,在與伺服器端的CVSNT-2.0.4 版本配合使用時,未發現任何不相容或衝突現象。
5. 在本人的系統中用cvs version命令顯示的結果如下:
Client: Concurrent Versions System (CVSNT) 2.0.2 (client/server)
Server: Concurrent Versions System (CVSNT) 2.0.4 (client/server)
3、伺服器端(CVSNT)的安裝與配置:
3.1、伺服器端機器和環境配置:
1. 作業系統:Windows 2000 Professional SP2中文版
2. 機器名稱:Server
3. 機器地址:192.168.0.6 (內部IP)
4. 網路環境:100兆交換局域網
5. 硬盤分區格式:FAT32與NTFS都可以。
6. 準備2個CVSNT的工作目錄:
F:KHRoot (存放自己源代碼的根目錄)
F:KHTemp (存放CVS出錯資訊的目錄)
7. 本機上存在有的用戶列表:(由NT或本機的使用者創建)
Administrator (系統管理員)
Jackey (普通用戶)
Goury (普通用戶)
Riolee (普通用戶)
3.2、安裝CVSNT:
1. 下載CVSNT-2.0.4;使用administrator登陸到Server機器上。
2. 雙擊自解壓的exe文件,選擇Full Install,其他按照默認方式安裝;安裝完畢後可以在服務控制器中發現多了2個服務:cvsnt與cvslocking
3. 發送Service Control Panel到桌面,形成快捷方式。
4. 安裝程式會自動將CVS安裝路徑,設置到系統的Path環境變數當中,因此使用者可以在控制臺(cmd)中任意位置執行cvs.exe,這一點對下面的配置很重要!!
3.3、配置CVSNT伺服器:
1. 雙擊Service Control Panel快捷方式,在Service Status頁面,確認2個服務正常和穩定運行。
2. 選擇Repository頁面,點按Add按鈕,選擇已經準備好的F:KHRoot這個目錄,確認,OK,Yes,這時會在F:KHRoot下面建立CVSRoot目錄,這是CVS默認的管理目錄(默認模組)。如果報錯,那是系統Path路徑未設置正確。
3. 選擇Advanced頁面,勾上Use local users for pserver …,(Why? I don’t know!J),在Temporary欄選擇已經準備好的F:KHTemp,確認,OK。
4. 點按【應用】按鈕,確認,退出,OK,搞定!!
3.4、小結:
1. 至此,CVSNT伺服器端基本配置完畢,下面進行WinCVS的使用和管理。
2. 由於CVS支援遠程管理,也就是客戶端與伺服器集成的特性,因此,我們將添加用戶、許可權控制、模組維護等所有的管理工作都放到遠端(WinCVS)進行管理,伺服器端這時可以Ctrl+Atl+Del進入鎖定狀態了,下面的所有工作都交給遠端的WinCVS來進行管理。

4 客戶端(WinCVS)的安裝與配置:
4.1 客戶端機器和環境配置:
1. 作業系統:Windows 2000 Professional SP2中文版
2. 機器名稱:YCW2000
3. 機器地址:192.168.0.2 (內部IP)
4. 網路環境:100兆交換局域網,可以直接訪問到Server
5. 硬盤分區格式:FAT32與NTFS都可以。
4.2 安裝WinCVS:
1. 下載WinCVS 1.3b13,全部按照默認安裝就可以了。
2. 啟動WinCVS,開始使用。特別注意:以下的所有操作都是在YCW2000(192.168.0.2)這台機器上遠程完成的,此時的Server(192.168.0.6)主機已經進入了鎖定狀態。
5 管理員使用WinCVS進行遠程管理:
5.1 配置WinCVS成管理員狀態:
1. 準備管理員工作目錄:(在YCW2000機器上)
E:CVSClientAdmin (管理員工作目錄)
E:CVSTemp (WinCVS臨時目錄)
2. 第一次啟動WinCVS時會自動彈出Preferences配置頁面,也可以通過Admin=>Preference功能表進入;第一次使用時需要配置如下的3個頁面:
General頁面設置:
注:按照圖示方式輸入即可,需要注意的是Path部分的格式是Unix路徑格式,它指的是CVSNT端設置的工作根目錄。
CVS頁面設置:

注:Home路徑是設置口令等文件的存放位置,必須指定,否則在登陸時,WinCVS也要彈出設置框。這個Home路徑需要Python.exe這個外挂程式才有效。這裡選擇已經準備好的路徑:ECVSTemp

WinCVS頁面設置:

注:此頁面設置WinCVS的外挂編輯程式,通常使用UltraEdit比較方便。
3. 設置管理員的工作路徑:可以點按圖標 ,或View=>Browse Location=>Change…功能表進行設置,選擇已經準備好的路徑:E:CVSClientAdmin,確認,OK,這時此目錄將出現在WinCVS的左邊導航欄【Workspace】內。
4. 至此,WinCVS就被配置成了遠程的管理員使用狀態,下面進行一般管理員需要的基本操作演練。演練的內容為:Administrator需要管理Jackey,Goury,Riolee三個用戶,分別為這3個用戶建立工作目錄,每個人只能訪問自己的工作目錄。同時,只有Administrator能夠進行許可權分配,其他人沒有任何管理許可權。
5.2 管理員進行管理演練:
1. 登陸遠程CVSNT:
l 選擇Admin=>Login功能表,默認設置,OK。
l 彈出口令輸入框,確認,OK。注意觀察輸出框【OutPut】的返回結果。
2. Checkout默認模組:(CVSRoot管理模組)
l 在左邊導航欄【Workspace】內,選擇【Admin】點按右鍵,選擇【Checkout modules…】,在【Checkout settings】中輸入CVSRoot,確定,OK。如下圖:

l 如果成功的話,會在【Admin】欄下增加一個【CVSRoot】目錄。表示您已經將【CVSRoot】這個管理模組下載到本地了。
3. CVS中目錄許可權介紹:
l 系統支援的目錄許可權列表:
r (讀取許可權)
w (寫入許可權)
c (創建和刪除許可權)
n (沒有任何許可權)
l 默認情況下,任何用戶都擁有任何目錄的所有許可權。
l 任何情況下只有目錄的擁有者和Administrator才有權力更改目錄的使用許可權。下面將會介紹如何修改目錄許可權和目錄的擁有者。
4. 修改CVSRoot的許可權:只讓Administrator擁有rcw三種全部許可權。
l 選中剛剛下載的【CVSRoot】模組,【Ctrl+L】或Admin=>Command Line…,彈出Command Line Settings對話方塊,直接執行CVS命令。
l 取消所有用戶的默認許可權:cvs chacl default:n 回車,OK,完成。
l 設置Administrator擁有所有許可權:cvs chacl administrator:rcw 回車,OK,完成。
l 更改【CVSRoot】的擁有者:cvs chown administrator 回車,OK,完成。
l 查看【CVSRoot】的許可權狀態:cvs lsacl 回車,OK,在【Output】中顯示:
Owner: administrator
default:n
administrator:rwc
l 【CVSRoot】的許可權配置完畢。
5. 編寫代碼庫中的模組文件,便於多用戶下載方便。
l 需要自己編寫的模組文件格式如下:(實現基本功能)
【模組一的描述】【n個空格或參數】【相對目錄路徑一(DirA)】
【模組二的描述】【n個空格或參數】【相對目錄路徑二(DirB)】
……
【模組X的描述】【n個空格或參數】【相對目錄路徑X(DirX)】
l 【描述資訊】與【相對路徑】在字面上不一致時,需要使用-a參數。
l 【相對路徑】指的是CVS會自動帶上根路徑,這裡是F:KHRoot,所以上面例子的完整路徑為:F:KHRootDirA
l 了解了模組文件結構,現在來實際操作一把:雙擊【CVSRoot】模組下的modules文件,用UltraEdit打開進行編輯。
l 為Jackey,Goury,Riolee三個用戶分配工作目錄和完成其他模組描述。
CVSRoot CVSRoot
Jackey工作目錄 -a Jackey
Goury工作目錄 -a Goury
Riolee工作目錄 -a Riolee
l 編輯完畢,存盤。回到WinCVS,選中modules這個文件【Ctlr+M】或右鍵選擇【Commit selection…】,默認設置,【確認】,OK,完成上傳。
6 . 為三個用戶分別上傳工作目錄:
l 在YCW2000機器上的E:CVSClientAdmin分別建立三個目錄分別名為:Jackey,Goury,Riolee,作為臨時交換目錄。
l 在新創建的每個目錄中用UltraEdit或拷貝一個Readme.txt作為引子文件!!:)
l 然後,回到WinCVS,在【Workspace】欄的【Admin】目錄下形成如下的目錄結構:

l 分別選中Goury,Jackey,Riolee,右鍵,點按【Import Module】,選擇【Continue】,其他全部使用默認值,【確定】,OK,完成上傳工作。
l 仔細觀察【Output】窗口,確認都成功上傳了。
l 轉移到系統的Explore程式中,刪除E:CVSClientAdmin目錄下的Jackey,Goury,Riolee三個目錄。然後回到WinCVS當中。(一定要刪除!!!:)
l 至此,就完成了工作目錄的上傳工作。
7. 【Checkout】下載3個用戶的工作目錄到【Admin】目錄下:
l 在【Workspace】欄選擇【Admin】目錄,右鍵,點按【Checkout Module…】,如下圖:

l 選擇【…】,得到CVSNT上最新的模組配置情況,彈出如下的資訊框:

l 這個結構圖就是剛才在modules當中編寫的模組文件格式資訊。選擇【Jackey工作目錄】,下載到YCW2000機器的E:CVSClientAdmin目錄下。
l 按照以上操作,依次分別下載【Goury工作目錄】和【Riolee工作目錄】。形成如下狀態:

8. 為三個用戶分別設置各自目錄的訪問許可權。(只有自己才能訪問自己的工作目錄)
l 選中【Goury】目錄,【Ctrl+L】或Admin=>Command Line…,彈出Command Line Settings對話方塊,直接執行CVS命令。
l 取消所有用戶的默認許可權:cvs chacl default:n 回車,OK,完成。
l 設置Goury擁有所有許可權:cvs chacl goury:rcw 回車,OK,完成。
l 查看【CVSRoot】的許可權狀態:cvs lsacl 回車,OK,在【Output】中顯示:
Owner: administrator
default:n
goury:rwc
l 按照以上的方法依次分別設置【Jackey】與【Riolee】的工作目錄訪問許可權。
l 至此,完成了3個用戶的目錄許可權分配。注意,雖然Administrator也沒有權力再次【Checkout】那3個用戶的工作目錄,但是它是這些目錄的擁有者又是Administrator,因此,只有它才有權力更改這些目錄的訪問許可權。
9. CVSNT系統中的用戶管理原則:
l CVSNT的用戶與本機(這裡是Server機器)上的NT用戶是相關聯的,即CVSNT用的全是本機上存在的已有用戶,因此在默認情況下可以不用設置任何用戶名,只要使用本機上已經存在的用戶名就可以用WinCVS進行登陸。
l 只有用Administrator身份登陸到CVSNT系統中,才有權力進行新用戶的創建和刪除。
l 使用CVS創建的新用戶,必須與伺服器端機器上的NT用戶相綁定,才能生效;因此,這個新用戶實際上是綁定它的NT用戶的一個替身,在CVS系統中稱為“別名”。
l 一個NT用戶可以有多個‘替身’或‘別名’,充當多個CVS用戶。
10. 用WinCVS進行新用戶的添加和刪除。(確保使用Administrator登陸)
l 【Ctrl+L】或Admin=>Command Line…,彈出Command Line Settings對話方塊,直接執行CVS命令。
l 添加新用戶【Killer】:cvs passwd -a Killer 回車,設置口令,OK,完成。
l 綁定【Killer】到【Jackey】:cvs passwd -r Jackey Killer 回車,設置口令,OK,完成。
l 兩次輸入的口令可以不同,但以第二次輸入的口令為最終口令。
l 刪除用戶【Killer】:cvs passwd -X Killer 回車,OK,完成。
l 其他特殊的功能查看passwd命令的幫助。
11.使用完畢後,一定要【Logout】,因為WinCVS退出時並不會自動登出自己在遠端的會話;這樣做是為了防止其他人接著打開WinCVS,不用登陸就可以完成你能進行的所有操作了。

6 WinCVS中常見的特殊操作:
6.1 如何刪除下載的文件或目錄:
1. 選中下載的某個或多個文件,執行【Remove】命令。
2. 再次選中這些文件,執行【Commit】命令就完成了刪除文件的操作。
3. 本質上CVS是不會刪除任何文件和目錄的,即使是執行了以上操作,刪除了某些文件,遠端CVS實際執行的是將提交刪除的文件放到了一個叫【Attic】的目錄下,因此,這些被刪除的文件是可以通過一定的方法恢復的。
6.2 如何恢復已經刪除的文件或目錄:
1. 在執行了【Remove】命令之後恢復文件。
l 【Ctrl+L】直接輸入命令cvs add xxxxx,或執行【Add Selection】界面操作。
l 這樣就可以直接恢復還未提交的刪除文件。
2. 在執行了【Commit】命令之後恢復文件。
l 只能用【Ctrl+L】直接輸入命令cvs add xxxxx,這時會得到一個空的文件。
l 選中這個空文件,執行【Update】操作,得到這個文件的實體。
l 再次選中這個文件,執行【Commit】操作,得到這個文件最新版本。
3. 由於CVS系統中本質上不會刪除任何目錄,因此,談不上對目錄的恢復,但是CVS系統默認情況下是要在用戶本機上(如:YCW2000)要刪除空目錄,因此,可以用如下方法得到已被刪除的空目錄:cvs checkout -p xxx,也可以在

Admin=>Preference的【Globals】頁面進行設置。
4. 可見,CVS系統能夠保證:只要上傳到伺服器的文件,無論你怎麼在遠程進行如何的操作,正常的或非正常的操作,都可以用Administrator登陸上去,通過以上的方法找到丟失的文件。除非用戶進入到遠端伺服器,將文件手動刪除,那就

沒辦法了:)
6.3 如何得到以前版本的文件:
1. 有時我們需要得到以前版本的文件,而WinCVS默認方式只傳遞最新的版本。
2. 選中某個文件,【Ctrl+G】或右鍵,點按【Graph selection…】,使用默認設置,就可以得到該文件所以版本的圖形結構描述。
3. 選中一個版本,右鍵,點按【Retrieve revision】,就可以得到相應的老版本文件。當然也可以得到最新版本的文件:)
6.4 有時WinCVS會變得異常緩慢,怎麼辦?
1. 確認安裝了WinCVS的機器上沒有安裝CVSNT伺服器端,因為它們使用的版本有可能不一致。
2. 只安裝了WinCVS,但以前安裝過其他版本的WinCVS,怎麼辦?
3. 先卸載所有的WinCVS系統,刪除安裝目錄下的殘留文件。
4. 打開註冊表編輯器,全程搜尋cvs關鍵字,找到一個刪除一個,一直到找不到為止!!:)
5. 重新安裝WinCVS,這個問題基本上就可以解決了,我就是這樣解決,不曉得你那裏如何?:)
7 其他說明:
1. 本文的重點在介紹如何讓使用者搭建CVSNT+WinCVS這個系統,因此重點介紹了管理員的常用操作,至於一般用戶使用到的操作,相對比較簡單和單一,使用WinCVS的次數多了,很快就會熟悉它了。
2. 這篇文檔只是窺探了CVS的一點皮毛而已,CVS當中還有很多高級的用法,以及上百個命令,還有很多新鮮的管理源代碼的方法,比如:tag,branch等模式;因此,熱烈歡迎大家積極探索,不斷共用,不斷進步。。。。。。。。
3. 另外,cvs.html這個幫助,裏面的資訊也很豐富,但是,很多地方寫得不夠清楚,需要不斷猜測和實踐才能知道怎麼回事,本文的很多經驗都是看這個幫助,如此這般,採用這個笨辦法得到的。。。。。。
4. 最後,祝願看到此文的人,得到的幫助、提高等好處大於或等於浪費的時間、反而退步等壞處!!

講電話

March 30, 2006|生活記事

在一間別緻的房間留了一會, install 了自己還沒update 的software

對人講人話, 對鬼講鬼話, 那…….對著電腦……應該係講…..”電話”
backward compatible , raw , three-tier

食飯, 估人物. 看了康樂棋, 看到很”絕”的招

fyp …. 有點迷失了… 應從邊度入手做整合好呢 ….. 點做simluation …..

冇力….. icq memory error……msn 7.5 連唔到線…… msn 8 beta 就連到…
http://www.msn.co.uk/messengerbeta/Default.asp?MSPSA=1

一切有為法,如夢幻泡影,如露亦如電

pieces simple java code

March 30, 2006|電腦編程

1. getStringTime in Calendar

Java
1
2
3
4
5
6
7
8
public String getStringTime() {
Calendar calendar = Calendar.getInstance();
Date date = new Date();
calendar.setTime(date);
return calendar.get(Calendar.HOUR_OF_DAY)+":"
+calendar.get(Calendar.MINUTE)+":"
+calendar.get(Calendar.MILLISECOND);
}

 

2.debug

Java
1
2
3
4
//No need to type many System.out.println...
public void debug(String str){
System.out.println("debug: " + str);
}

 

...102030...119120121122...150...

 

如果你喜歡我的文章,請幫忙按 1-10次 LikeButton 化讚為賞,非常感謝!越喜歡當然可以越按越多 😛

搜尋 Search

簡介 Bio

香港人,現居南十字星空下。

為人貪心,科技、生活、財經、散文 皆有興趣,周身刀冇張利。

思想矛盾,喜歡現在work-life balance 既生活又懷念a city never sleep。

 

每月送我一杯咖啡支持我: liker.land/hang321




分類 Categories

  • 好文閱讀
  • 時事評論
  • 未分類
  • 生活記事
  • 科技資訊
  • 金融財經
  • 電腦編程
  • 音樂電影

文章存檔 Archives




熱門文章 Popular Posts

  • Install XPEnology (DSM) 5.1 on ESXi 6 (HP MicroServer Gen 8)
    Install XPEnology (DSM) 5.1 on ESXi 6 (HP MicroServer Gen 8) June 8, 2015
  • 呢幾日個blogger 有問題….
    呢幾日個blogger 有問題…. October 28, 2004
  • assembly
    assembly February 11, 2006
  • 新工作
    新工作 January 6, 2009
  • 嫁人要嫁工程師
    嫁人要嫁工程師 April 27, 2006

標籤雲 Tag Cloud

CentOS Character chroot Cluster crash cryptography DD-WRT debug Domino DSM Dual Core DWA email ESXi GCP git google HylaFax IE Java Javascript JRE LikeCoin Linux log LotusScript mint MX MySQL nginx PKI PowerShell Qwiklabs srt telent VMware vpn vSphere WinXP wordpress XPEnology 專欄 網絡資訊 選股 風帆

日曆 Calendar

May 2025
M T W T F S S
  « Feb    
 1234
567891011
12131415161718
19202122232425
262728293031  

Follow Me

Follow Us on RSSFollow Us on TwitterFollow Us on YouTube

文章存檔 Archives

Copyright © 2004-2021 hang321.net. All Rights Reserved