CVS 客户端使用手册
IRLab
2003年2月10日
什么是CVS
????? CVS(Version Control System.)即版本控制系統(tǒng)。用來記錄源文件的歷史信息。甚至二進制文件,媒體文件等。
例如,當軟件修改時有時會產(chǎn)生Bugs,并且你可能在做這次修改后很長時間不會發(fā)現(xiàn)這些Bugs。使用CVS,你可以容易地回顧老的代碼版本去發(fā)現(xiàn)哪一次的修改導致這些問題。有時候這樣會非常有幫助。
你可能會保留你每一次的代碼版本,這可能會浪費你很多的代碼空間。CVS使用種聰明的辦法保存你的多個版本在一個文件中。它僅僅保留版本間的不同內(nèi)容。
?????? 它可以協(xié)助一組人共同開發(fā)一個工程。如果你是一個項目中的一組成員之一,CVS也能夠幫助你。除非你特別仔細,你很容易覆蓋其他人的工作。一些編輯器,例如GNUEmacs,試圖去判定一個文件是否被兩人同時修改。不幸的是,如果一個人使用其它的編輯器時,這個安全方式將不再有效。CVS使用讓不同開發(fā)者獨立工作的方式解決了這個問題。每一個開發(fā)者的工作都在他自己的目錄內(nèi),并且CVS將 在每個開發(fā)者的工作完成后進行合并工作。
基本概念
倉庫(Repository)
?????? CVS的倉庫存儲全部的版本控制下的文件copy,通常不容許直接訪問,只能通過cvs命令,獲得一份本地copy,改動后再check in(commit)回倉庫。而倉庫通常為與工作目錄分離的。CVS通過多種方式訪問倉庫。每種方法有不同目錄表示形式。
?????? 數(shù)據(jù)如何存放在repository中:隨著CVS版本的不同,存放結(jié)構(gòu)會發(fā)生變化,一般情況下用戶無需了解數(shù)據(jù)到底是如何存放的。
Revision
每一個file的各個revision都不相同,形如1.1, 1.2.1,一般1.1是該文件的第一個revision,后面的一個將自動增加最右面的一個整數(shù),比如1.2, 1.3, 1.4...有時候會出現(xiàn)1.3.2.2,原因見后。revision總是偶數(shù)個數(shù)字。一般情況下將revision看作時CVS自己內(nèi)部的一個編號,而tag則可以標志用戶的特定信息。
Tag
用符號化的表示方法標志文件特定revision的信息。通常不需要對某一個孤立的文件作tag,而是對所有文件同時作一個tag,以后用戶可以僅向特定tag的文件提交或者checkout。另外一個作用是在發(fā)布軟件的時候表示哪些文件及其哪個版本是可用的;各文件不同revision可以包括在一個tag中。如果命名一個已存在的tag默認將不會覆蓋原來的;
Branch
當用戶修改一個branch時不會對另外的branch產(chǎn)生任何影響。可以在適當?shù)臅r候通過合并的方法將兩個版本合起來;branch總是在當前revision后面加上一個偶數(shù)整數(shù)(從2開始,到0結(jié)束),所以branch總是奇數(shù)個數(shù)字,比如1.2后面branch為1.2.2,該分支下revision可能為1.2.2.1,1.2.2.2,...
Conflct
完全是純文本的沖突,不包含邏輯上的矛盾,比如CVS不能解決如下問題:某人修改了函數(shù)f的參數(shù),而另外一個人在另外一個地方用老的參數(shù)調(diào)用該函數(shù)。文本沖突需要用戶自己參與解決,CVS無法自動解決。
安裝CVS客戶端
1.Windows客戶端的安裝
在此,我們介紹WinCVS(一款相當不錯的基于Windows的CVS客戶端軟件)的安裝。請在""fileserver"software"programming"CVS目錄下下載WinCVS軟件并安裝之。其安裝過程與普通的Windows軟件相同,其運行界面如下:
2.客戶端配置
?????? 客戶端配置最重要的是CVSROOT環(huán)境變量的配置。其格式是:
?????? :pserver:username@hostname(或者IP地址):CVS倉庫路徑
?????? 例如,我在使用我們實驗室的CVS服務器時的配置為:
?????? :pserver:car@192.168.2.2:/had/src
?????? 每一個實驗室的成員應該是用自己的mail服務器賬戶作為usernam,密碼也是mail服務器的密碼。
?????? 配置對話框如下:
3.測試遠程訪問CVS服務器
?????? 在WinCVS窗口中選擇Admin->Login命令,會出現(xiàn)提示輸入密碼的窗口。輸入密碼后,單機OK按鈕。然后察看命令結(jié)果輸出窗口中的輸出結(jié)果。如果顯示錯誤信息,則表明安裝配置有誤,請察看前面的步驟。如果仍然有錯誤,請與管理員聯(lián)系。
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.dll和cvs2ntslib.dll文件拷貝到igloo的安裝目錄下。
完成以上步驟以后,打開Microsoft Visual Studio就可以看到進行版本管理需要的菜單了,如下圖所示:
經(jīng)常使用的CVS功能
?????? 使用igloo在Visual Studio中使用CVS進行版本的控制和管理是一件十分輕松愜意的事情。其為用戶提供了大多數(shù)的基本的CVS 命令的圖形接口,使我們只是簡單的點擊鼠標,就可以完成一般的CVS控制命令,下面將逐一介紹:
Check Out
?????? 把源文件從RCS源代碼倉庫中取出,缺省的版本是最新的版本,如果你需要一個指定的版本,則需要使用-r選項指定。
?????? 在每次更改源代碼之前,需要Check Out最新的版本,再起基礎(chǔ)之上對源代碼進行修改。將代碼目錄checkout到指定目錄下,所有文件都是read-write
Check In
?????? 把源代碼加入到RCS源代碼倉庫中,每一個添加進代碼庫中的文件的版本是 1.1。以后每次修改文件重新ci以后,此文件的版本遞增為1.2 ,1.3.……。
?????? 在每次對源代碼修改之后,需要Check In,提交最新版本的源代碼。
沖突:多人同時修改同一內(nèi)容。沖突的情況下,通過文件兩個版本的比較消除沖突的地方后再次提交。比較兩個版本不同的方法是:
1)可以利用CVS自帶的比較工具,CVS會把不同部分通過
<<<<<<<<<<<
...
==========
...
>>>>>>>>>>>
列出來;
2)也可以利用其它文本比較工具比較(Preference setting中選定,Query-diff setting中選定);
Add to Source Control
?????? 將新的文件加入到版本控制之中。
References
1.楊錦方等. CVS和Nightly Build技術(shù). 清華大學出版社
2.使用CVS進行版本管理
3.WINDOW系統(tǒng)下CVS的使用
4.Karl Fogel. Open Source Development With CVS
5.Per Cederqvist et al. Version Management With CVS
轉(zhuǎn)載于:https://www.cnblogs.com/starspace/archive/2009/01/09/1372855.html
總結(jié)
以上是生活随笔為你收集整理的CVS 客户端使用手册的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [译]How to make searc
- 下一篇: 4-css图片效果