cvs

cvs是Concurrent Versions System的縮寫,Concurrent有併發的,協作的,一致的等含義。CVS是一個版本控制系統,使用它,可以記錄下源文件的歷史 。

CVS維護的文件類型可以是文本類型也可以是二進制類型。CVS的基本工作思路是這樣的:在一臺服務器上建立一個源代碼庫,庫裏可以存放許多不同項目的源程序。每個用戶在使用源代碼庫之前,首先要把源代碼庫裏的項目文件下載到本地,然後用戶可以在本地任意修改,最後用CVS命令進行提交,由CVS源代碼庫統一管理修改。

使用CVS的好處

·修改軟件時可能會不知不覺混進一些 bug,而且可能過了很久你纔會察覺到它們的存在。有了 cvs,你可以很容易地恢復舊版本,並從中看出到底是哪個修改導致了這個 bug。有時這是很有用的。

·cvs 用一種聰明的辦法把一個文件的所有版本保存在一個文件裏,僅僅保存不同版本之間的差異

·cvs 最初由 Dick Grune 在 1986 年 12 月以 shell 腳本的形式發佈在 comp.sources.unix 的新聞組第 6 卷裏;1989 年 4 月,Brian Berliner 設計了 cvs 並編寫了代碼。之後 Jeff Polk 幫助 Brian 設計了 cvs 模塊和銷售商分支支持。

·cvs 不能指導你如何構造什麼。它只是將你所設計的一種樹結構文件保存下來以備恢復之用。 

·cvs 不能決定如何在一個檢出工作目錄使用磁盤空間。如果你在每一個目錄中都寫下 Makefile 或腳本,且必須知道其它一切的相對位置,有時不得不要檢出整個倉庫。 

·如果你將你的工作模塊化,並且建立了一個共享文件的 build 系統(通過links,mounts,Makefiles 裏的 VPATH 等),你就可以隨意安排磁盤的使用。

·你應該在 cvs 下放一個工具來支持這樣一個構造系統(腳本、Makefile 等等)。 

·有些變化發生在 cvs 範圍之外時,要想想什麼文件需要重建。一個傳統的方法是用 make 來構造,並用一些自動化的工具來產生 make 所用的相關文件。 

·cvs 不能替代管理。 

你的經理和項目負責人應經常與你交流以確保你時時記得進度表、合併點、分支名和發佈日期。 如果他們不這樣做,cvs 也沒用。 cvs 只是一個用來使你的資源與你的步調一致的工具。但你是風笛手和作曲家。沒有哪種樂器會自己演奏或是作曲。 

·cvs 不能代替開發者之間的交流。 

在單個文件內遇到衝突時,大多數開發者不費多大力氣就能解決它們。但更常見的"衝突(conflict)",是那些難度較大、不在開發者之間進行交流就沒法解決的問題。 

當在一個文件內或多個文件中同時發生變化時,cvs 並不知道何時它們會在邏輯上發生衝突。它的衝突(conflict)概念是純粹文本意義上的,這種衝突會在同一個文件的兩種變化十分接近以致於會破壞合併命令(如 diff3)。 

cvs 決不會指出程序邏輯上非文本或分佈式的衝突。 例如:假如你改變了在文件 A 中定義的函數 X 的參數。同時,別人在編輯文件 B,仍用舊參數調用 X 這個函數。此時產生的衝突 cvs 可就無能爲力了。 

·http://jdeveloper.home.chinaren.com/doc/linux/cvs.html  
   
  CVS 是進行Open Source 開發和管理的一個應用程序。使得程序開發者能夠很好的控制  
  軟件的頒佈,便於開發組間的協調。  
   
  CVS 的安裝 (從http://www.cvshome.org獲取最新版本的CVS)  
  CVS Server:  
  下載:  
  一般選擇安裝在 linux上。你可以從 cvshome下載。  
  配置:  
  #groupadd cvs  
  #useradd cvsroot  
  #chmod 777 -R /home/cvsroot  
  在 /etc/inetd.conf 里加入一行:  
  cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/cvsroot pserver  
  在 /etc/services.conf 里加入一行(可能已存在):  
  cvspserver 2401/tcp # CVS client/server operations  
   
  添加必要的CVS用戶到CVS組  
  如:  
  #usermod -g cvs -G cvs hjc  
  或  
  #useradd -g cvs -G cvs hjc  
   
  啓動CVS Servr:  
  #killall -HUP inetd  
   
  建立CVS倉庫  
  login as cvsroot  
  $cvs -d /home/cvsroot init  

  ............  

CVS是一個版本控制系統.在UNIX中,用它來對在源文件之上的改變進行記錄,可以記錄版本變換,誰在何時修改了什麼.並且能夠從它管理的源文件堆裏提取出某次修改時的版本來.它不但能夠在單機上使用,而且CVS能夠許多人一起用協同工作,對同一個工程進行操作.CVS的機制是這樣的:CVS保留一份最初源文件的拷貝,這個拷貝稱作"repository",大概是"源"的意思,此後,所有源文件的操作都要在CVS的控制之下,不再對最初的源文件進行操作。也就是說,修改者要從CVS控制之下的源文件裏checkout一份自己的拷貝,對源文件的修改再通過CVS進行記錄下來.CVS的命令和參數很多,但常用的命令也就只有5個(cvs checkout,cvs update,cvs add,cvs rm,cvs commit).



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