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 …
在一間別緻的房間留了一會, 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 一切有為法,如夢幻泡影,如露亦如電
1. getStringTime in Calendar
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
1 2 3 4 |
//No need to type many System.out.println... public void debug(String str){ System.out.println("debug: " + str); } |