CVS客戶端使用手冊

 

CVS 客戶端使用手冊

IRLab

2003210

什麼是CVS

      CVSVersion Control System.)即版本控制系統。用來記錄源文件的歷史信息。甚至二進制文件,媒體文件等。

例如,當軟件修改時有時會產生Bugs,並且你可能在做這次修改後很長時間不會發現這些Bugs。使用CVS,你可以容易地回顧老的代碼版本去發現哪一次的修改導致這些問題。有時候這樣會非常有幫助。

你可能會保留你每一次的代碼版本,這可能會浪費你很多的代碼空間。CVS使用種聰明的辦法保存你的多個版本在一個文件中。它僅僅保留版本間的不同內容。

       它可以協助一組人共同開發一個工程。如果你是一個項目中的一組成員之一,CVS也能夠幫助你。除非你特別仔細,你很容易覆蓋其他人的工作。一些編輯器,例如GNUEmacs,試圖去判定一個文件是否被兩人同時修改。不幸的是,如果一個人使用其它的編輯器時,這個安全方式將不再有效。CVS使用讓不同開發者獨立工作的方式解決了這個問題。每一個開發者的工作都在他自己的目錄內,並且CVS 在每個開發者的工作完成後進行合併工作。

基本概念

倉庫(Repository

       CVS的倉庫存儲全部的版本控制下的文件copy,通常不容許直接訪問,只能通過cvs命令,獲得一份本地copy,改動後再check incommit)回倉庫。而倉庫通常爲與工作目錄分離的。CVS通過多種方式訪問倉庫。每種方法有不同目錄表示形式。

       數據如何存放在repository中:隨着CVS版本的不同,存放結構會發生變化,一般情況下用戶無需瞭解數據到底是如何存放的。

Revision

每一個file的各個revision都不相同,形如1.1, 1.2.1,一般1.1是該文件的第一個revision,後面的一個將自動增加最右面的一個整數,比如1.2, 1.3, 1.4...有時候會出現1.3.2.2,原因見後。revision總是偶數個數字。一般情況下將revision看作時CVS自己內部的一個編號,而tag則可以標誌用戶的特定信息。

Tag

用符號化的表示方法標誌文件特定revision的信息。通常不需要對某一個孤立的文件作tag,而是對所有文件同時作一個tag,以後用戶可以僅向特定tag的文件提交或者checkout。另外一個作用是在發佈軟件的時候表示哪些文件及其哪個版本是可用的;各文件不同revision可以包括在一個tag中。如果命名一個已存在的tag默認將不會覆蓋原來的;

Branch

當用戶修改一個branch時不會對另外的branch產生任何影響。可以在適當的時候通過合併的方法將兩個版本合起來;branch總是在當前revision後面加上一個偶數整數(從2開始,到0結束),所以branch總是奇數個數字,比如1.2後面branch1.2.2,該分支下revision可能爲1.2.2.1,1.2.2.2,...

Conflct

完全是純文本的衝突,不包含邏輯上的矛盾,比如CVS不能解決如下問題:某人修改了函數f的參數,而另外一個人在另外一個地方用老的參數調用該函數。文本衝突需要用戶自己參與解決,CVS無法自動解決。

安裝CVS客戶端

1Windows客戶端的安裝

在此,我們介紹WinCVS(一款相當不錯的基於WindowsCVS客戶端軟件)的安裝。請在//fileserver/software/programming/CVS目錄下下載WinCVS軟件並安裝之。其安裝過程與普通的Windows軟件相同,其運行界面如下:

image001.jpg

2.客戶端配置

       客戶端配置最重要的是CVSROOT環境變量的配置。其格式是:

       :pserver:username@hostname(或者IP地址):CVS倉庫路徑

       例如,我在使用我們實驗室的CVS服務器時的配置爲:

       :pserver:[email protected]:/had/src

       每一個實驗室的成員應該是用自己的mail服務器賬戶作爲usernam,密碼也是mail服務器的密碼。

       配置對話框如下:

image002.jpg

3.測試遠程訪問CVS服務器

       WinCVS窗口中選擇Admin->Login命令,會出現提示輸入密碼的窗口。輸入密碼後,單機OK按鈕。然後察看命令結果輸出窗口中的輸出結果。如果顯示錯誤信息,則表明安裝配置有誤,請察看前面的步驟。如果仍然有錯誤,請與管理員聯繫。

4.在Visual Studio中集成CVS

       CVS取代Visual Studio中所使用的Microsoft Visual Source Safe,步驟如下:

(1)    安裝Microsoft Visual Studio

(2)    安裝WinCVS

(3)    //fileserver/software/programming/CVS下載iglooinstall.zip並安裝igloo

(4)    WinCVS安裝目錄下的cvs2ntlib.dllcvs2ntslib.dll文件拷貝到igloo的安裝目錄下。

完成以上步驟以後,打開Microsoft Visual Studio就可以看到進行版本管理需要的菜單了,如下圖所示:

image003.jpg

經常使用的CVS功能

       使用iglooVisual Studio中使用CVS進行版本的控制和管理是一件十分輕鬆愜意的事情。其爲用戶提供了大多數的基本的CVS 命令的圖形接口,使我們只是簡單的點擊鼠標,就可以完成一般的CVS控制命令,下面將逐一介紹:

Check Out

       把源文件從RCS源代碼倉庫中取出,缺省的版本是最新的版本,如果你需要一個指定的版本,則需要使用-r選項指定。

       在每次更改源代碼之前,需要Check Out最新的版本,再起基礎之上對源代碼進行修改。將代碼目錄checkout到指定目錄下,所有文件都是read-write

Check In

       把源代碼加入到RCS源代碼倉庫中,每一個添加進代碼庫中的文件的版本是 1.1。以後每次修改文件重新ci以後,此文件的版本遞增爲1.2 1.3.……。

       在每次對源代碼修改之後,需要Check In,提交最新版本的源代碼。

衝突:多人同時修改同一內容。衝突的情況下,通過文件兩個版本的比較消除衝突的地方後再次提交。比較兩個版本不同的方法是:

1)可以利用CVS自帶的比較工具,CVS會把不同部分通過

<<<<<<<<<<<

...

==========

...

>>>>>>>>>>>

列出來;

2)也可以利用其它文本比較工具比較(Preference setting中選定,Query-diff setting中選定);

Add to Source Control

       將新的文件加入到版本控制之中。

References

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章