CVS - Concurrent Versions System(并發版本管理系統)是一個版本控制管理系統,它是目前最為廣泛使用的一個系統。從gftp到gtk到KDE,你幾乎可以在每一個你熟悉的自由軟件的源碼里看到它的蹤跡(下面我們會知道,它的蹤跡指一個稱為cvs的子目錄)。同樣,你也可以在幾乎每一個Linux的發行版本里看到CVS系統?梢哉f,如果失去了CVS,現有的許多多人協作、自由開發的軟件都會在一定程度上放慢自己發展的步伐。 CVS到底有哪些功能,使得它有如此強大的魅力呢?
1.CVS能做什么?
如上所說,CVS首先是一個版本管理系統,它可以保留軟件開發過程中的每一個版本的信息,包括誰、在何時、作了什么樣的修改以及為什么作這樣的修改等。這個功能和以前流行于Linux和Unix的版本管理系統RCS(Revision Control System)和SCCS(Source Code Control System)很象。但CVS的功能遠非僅此。它的最大的特點是它的并發性,即它支持分布式項目的開發。在互聯網席卷一切的今天,這個功能太為重要了。小到一個辦公室內部開發一個OA系統,大到KDE小組利用互聯網開發新版本的KDE,CVS都可以一展身手。一個程序員開發出了自己負責模塊的新版本后,迅速的通過CVS讓開發組的每一個成員都分享自己的最新成果。甚至,CVS通過特定的機制允許多個程序員同時修改同一個源程序文件。
另外CVS增強的目錄結構以及對二進制文件良好的處理,都使得它遠遠優于其它的版本管理系統。最后,必須一提的是CVS是基于RCS開發而成的。
2.如何得到CVS?
CVS在幾乎包含在所有的Linux發布版本中,如RedHat、Turbo Linux、Slackware以及國產的紅旗、Xteam Linux等。你可以試著敲一下cvs命令,大多數情況下都會出現以Usage: cvs開頭的一堆信息,提示你如何使用cvs,這意味著在你的機器上早已有了CVS,只是遺憾的是它一直未被你發現和利用。運氣不好的話,你會看到形如cvs: Command not found.的提示,這意味著你的機器沒有安裝CVS。這時你有兩種選擇。一是找到你的Linux安裝盤,從那里安裝CVS。例如在使用RPM方式安裝的Linux(上面介紹的幾個發布版本中似乎除了Slackware,其他都是)發布版本中,找到cvs***.rpm,用rpm命令進行安裝。第二種方式是到一些站點cvs的源代碼,然后遵循里面附帶的指導進行安裝,需要的讀者請訪問站點或者http://www.loria.fr/~molli/cvs-index.html。
3.CVS的基本使用方法
在這一節里,我們來學習掌握CVS的一些基本使用方法,F在我們假定已經安裝好了CVS,并且我們打算用它來管理自己正在開發的一個軟件,軟件名叫netants,它存放在硬盤上一個叫做netants的目錄里,目前里面有了文件netants.c、netants.h、http.c、http.h和Makefile。我們并沒有和它人協作開發這個軟件,也沒有利用Internet或者Intranet來開發這個軟件;蛟S,它只是自己的一個業余作品,試圖寫出一個比Windows下的網絡螞蟻更好的下載工具出來。
3.1初始化CVS
我們首先要使用的命令是cvs init,這個命令用來初始化CVS系統。正如我們所看到的,所有的CVS命令都以cvs開頭,然后在后面緊跟命令、參數和一些選項。初始化CVS系統主要是為了創建一個為CVS所使用的源碼儲存庫(repository)。創建的時候,需要指定在那個目錄下創建這個源碼儲存庫。有兩種方法來指定目錄。一是利用\"-d \"選項來指定,例如:-d /usr/local/cvsroot。另一種更方便的方法是在shell里設定一個名叫CVSROOT的環境變量。使用csh或者tcsh的用戶可以使用命令setenv來設定,在文件.csh rc或者文件.tcshrc里添加入下的一行: setenv CVSROOT /usr/local/cvsroot 使用sh或者bash的用戶需要在文件.profile或者文件.bashrc里添加如下兩行: CVSROOT=/usr/local/cvsroot export CVSROOT 設置了環境變量CVSROOT后,我們運行命令cvs init,CVS將在指定的目錄下面建立自己所需要的一些文件,以后我們使用CVS管理的任何項目,都會被CVS儲存在這個目錄之下。不過千萬要注意的是:永遠不要去試圖修改這個目錄下的文件。這個目錄是由CVS自己進行管理的,輕率的改動可能會導致你丟失你部分或全部的交由CVS管理的源代碼或其他資源。
3.2導入項目到CVS中去
初始化結束以后,我們就要真正開始利用CVS來管理自己的程序網絡螞蟻了。第一步,我們將這個項目交由CVS管理。使用如下的CVS的import命令,將源程序導入到CVS的源碼儲存庫中去: cd netants cvs import -m \"start my project: Netants\" netants yoyo start 這個命令看起來有些復雜,需要解釋一下。import是cvs的導入命令,默認狀況下,它循環的將當前目錄下的所有文件(包括子目錄)導入到源碼庫(即CVSROOT指定的目錄)里去。-m \"start my project: Netants\"告訴CVS你對這一步操作的說明。這是CVS強制要求的,如果你沒有使用這種-m \"字符串\"的選項,CVS將會彈出一個文本編輯器(如果自己不特別指定的話,在Linux下一般是vi,而在Windows下則是Notepad),讓你輸
文章來源于領測軟件測試網 http://www.k11sc111.com/