您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
從CVS到SVN
作者:網(wǎng)絡轉(zhuǎn)載 發(fā)布時間:[ 2014/1/7 17:20:27 ] 推薦標簽:CVS SVN

集中式代碼管理的核心是服務器,事實上,SVN的版本庫的確是一種文件服務器,但不是“一般”的文件服務器。SVN版本庫的特別之處在于,它會記錄每一次改變:每個文件的改變,甚至是目錄樹本身的改變,例如文件和目錄的添加、刪除和重新組織。一般情況下,客戶端從版本庫中獲取的數(shù)據(jù)是文件系統(tǒng)樹中的新數(shù)據(jù)。但是客戶端也具備查看文件系統(tǒng)樹以前任何一個狀態(tài)的能力。版本控制系統(tǒng)的核心問題,設計用來記錄和跟蹤數(shù)據(jù)變化的系統(tǒng)。

二、在Windows下使用Subversion的客戶端程序SVN

1,Subversion體系結(jié)構(gòu)
采用了B/S與C/S相結(jié)合的方式。B/S結(jié)構(gòu),通過瀏覽器訪問倉庫。C/S結(jié)構(gòu),安裝Tortoise SVN后,訪問倉庫。
2, 安裝SVN時注意
svn服務器有獨立服務器和借助apache運行2種運行方式。存儲版本數(shù)據(jù)有BDB(一種事務安全型表類型)和FSFS(一種不需要數(shù)據(jù)庫的存儲系統(tǒng)) 兩種方式。因為BDB方式在服務器中斷時,有可能鎖住數(shù)據(jù),所以還是FSFS方式更安全一點。下載安裝SVN成功后,在檔案管理內(nèi)按下鼠標右鍵可以看到:
 
大部分的Tortoise SVN的操作都是透過檔案管理員及鼠標右鍵可以完成了。
假設您的要放置Repository的地方是E盤。您需要先建立一個空的目錄(文件夾) svn_repo。SVN沒有限定Repository目錄名稱,您可以建立任何您自己喜歡的名稱,建議勿使用非英文的檔名。透過您的檔案管理員,在E:svn_repo的圖標上,按鼠標右鍵后,選擇TortoiseSVN->Create repository here,如圖:
 
使用的Repository數(shù)據(jù)庫格式選擇FSFS,直到出現(xiàn)SVN repository成功的建立的提示。接下來是要把你的檔案備份進來。日后,只要需要使用這個repository,我們可以使用file:///E:/SVN_REPO表示它。SVN是透過這種URL的方式與Repository取得聯(lián)系的。各種URL的格式如下:
file:///磁盤驅(qū)動器|/repository所在目錄/子目錄
http://賬號@服務器名稱/ repository所在目錄/子目錄
https://賬號@服務器名稱/ repository所在目錄/子目錄
svn+ssh://賬號@服務器名稱/ repository所在目錄/子目錄
其中,http表示使用一般的超文字傳輸通訊協(xié)議。https表示使用加密的超文字傳輸通訊協(xié)議。svn+ssh表示透過SSH加密通訊的管道,進行存取。
3,建立一個Working目錄
所謂的Working目錄,是平常用來存放工作檔案的地方。通常我們會等到自己的工作做的一個段落的時候再進行備份。所以我們平常都是在 Working目錄下面工作,等到適當時機在commit到repository中。舉例來說,我們在D盤下面建立一個名為working的空的文件夾,在檔案管理員中按右鍵,選擇SVN checkout,看到如下的畫面:
 
首先我們要填入的是repository的位置,對于SVN來說,repository的位置都是URL。Checkout directory這個字段指向您的working目錄。確認后按下OK按鈕即可。您將會看到working目錄下面多了一個名為.svn的目錄(這個目錄是隱藏的) 。 SVN會在您的工作目錄下,以及其子目錄下建立這個.svn子目錄。注意,不要進去或改動.svn目錄下的任何內(nèi)容,否則會造成SVN無法正常運作。
由于原來的repository是空的,所以working目錄也是空的。如果您現(xiàn)在checkout的是一個已經(jīng)有內(nèi)容的repository,您將會看到working目錄下面現(xiàn)在多了許多目錄及檔案。如果您要在一個已經(jīng)存在的SVN Server上面checkout出上面的檔案,只需要給定正確的URL以及working目錄的名稱,可以取得指定的檔案及目錄了。
4,新增檔案及目錄到Repository中
假設您開發(fā)的程序?qū)⒎旁谇懊娼⒌膚orking目錄下面的my_ prj子目錄。編輯好檔案后,在my_prj目錄上面,按鼠標右鍵,選擇TortoiseSVN->Add,如圖:
 
接著,TortoiseSVN會把準備要加入的檔案及目錄,顯示給您看。打勾的是等下要被加入到Repository中的。如果您有某些檔案或是目錄不想在這次加入,您可以讓該項目不要被勾選。如此,它不會被加入到Repository去。 注意:Add的動作并未真正的將檔案放到Repository中。僅僅是告知SVN準備要在Repository中放入這些檔案。此時,查看這些檔案,應該會看到一個白色紅底的驚嘆號在檔案文件夾的下方,表示您的working目錄中的檔案與Repository中的檔案還沒有同步。我們要多一個commit的動作,讓這些檔案真正的放入到 Repository中。在my_prj目錄上或是my_prj目錄內(nèi)的空白處按下鼠標右鍵,選擇SVN commit。如下的窗口出現(xiàn):
 
在這個窗口中,下半部會列出一個清單,讓您清楚的了解到哪些檔案要被commit到repository中。如果您有檔案不想在這個時候commit到Repository,您可以取消選取的檔案。 在檔案列表的上方的Message欄里輸入本次commit的目的,這是十分重要的字段,當您commit的次數(shù)很多時,可以靠這個訊息知道版本與版本之間的差異。到先前的folder中,確定所有的檔案圖標都有綠色勾勾在上面,這樣代表您的檔案都正確無誤的到repository中。有時候,因為Windows本身的問題,您可能會看到有些圖標沒有變成綠色的勾勾,多按F5幾次,可以解決這個問題。
NOTE:新增的檔案要經(jīng)過提交(Commit)的動作才回真正的放入Repository中。
5,更新檔案及目錄
由于版本控制系統(tǒng)多半都是由許多人共同使用,所以同樣的檔案可能還有人會去進行編輯。為了確保您工作目錄中的檔案與Repository中的檔案是同步的,建議您在編輯前都先進行更新的動作。在想要更新的檔案或目錄圖標上按鼠標右鍵,并且選擇SVN Update。會顯示有哪些文件更新了。如果沒有看到檔案更新的相關(guān)信息,這表示您的目錄中的檔案已經(jīng)是新的,無須進行更新。
有時我們需要回溯至特定的日期或是版本,這時可以利用SVN的Update to revision的功能。在這個Update窗口中,您可以選擇更新到新版本(HEAD)。也可以選擇更新到某個指定的版本(Revision)。或按下Show log按鈕,回顧歷史版本。
 

上一頁12345下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd