国产三级农村妇女在线,国产精品毛片a∨一区二区三区,国产乱子伦视频大全,国产精品色拉拉,国产欧美日韩一区二区三区,

首頁 > 技術(shù) > Linux

linux中的cvs是啥

Linux 2022-07-14 21:43:39

Linux中,cvs全稱“Concurrent Version System”,中文意思為“代碼版本控制軟件”,它是一種GNU軟件包,主要用于在多人開發(fā)環(huán)境下源碼的維護(hù)。CVS可以維護(hù)任意文檔的開發(fā)和使用,例如共享文件的編輯修改,而不僅僅局限于程序設(shè)計(jì);CVS維護(hù)的文件類型可以是文本類型也可以是二進(jìn)制類型。CVS基于客戶端/服務(wù)器的行為使其可容納多個(gè)用戶。

教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

linux中的cvs

CVS(Concurrent Versions System,代碼版本控制軟件),是一種GNU軟件包,主要用于在多人開發(fā)環(huán)境下源碼的維護(hù)。與它相類似的代碼版本控制軟件有subversion。多個(gè)開發(fā)人員通過一個(gè)中心版本控制系統(tǒng)來記錄文件版本,從而達(dá)到保證文件同步的目的。CVS版本控制系統(tǒng)是一種GNU軟件包,主要用于在多人開發(fā)環(huán)境下的源碼的維護(hù)。但是由于之前CVS編碼的問題,大多數(shù)軟件開發(fā)公司都使用SVN替代了CVS。

Concurrent有并發(fā)的、協(xié)作的、一致的等含義。實(shí)際上CVS可以維護(hù)任意文檔的開發(fā)和使用,例如共享文件的編輯修改,而不僅僅局限于程序設(shè)計(jì)。CVS維護(hù)的文件類型可以是文本類型也可以是二進(jìn)制類型。

CVS用Copy-Modify-Merge(拷貝、修改、合并)變化表支持對(duì)文件的同時(shí)訪問和修改。它明確地將源文件的存儲(chǔ)和用戶的工作空間獨(dú)立開來,并使其并行操作。

CVS基于客戶端/服務(wù)器的行為使其可容納多個(gè)用戶。這一特性使得CVS成為位于不同地點(diǎn)的人同時(shí)處理數(shù)據(jù)文件(特別是程序的源代碼)時(shí)的首選。

工作思路

在一臺(tái)服務(wù)器上建立一個(gè)源代碼庫,庫里可以存放許多不同項(xiàng)目的源程序。由源代碼庫管理員統(tǒng)一管理這些源程序。每個(gè)用戶在使用源代碼庫之前,首先要把源代碼庫里的項(xiàng)目文件下載到本地,然后用戶可以在本地任意修改,最后用CVS命令進(jìn)行提交,由CVS源代碼庫統(tǒng)一管理修改。這樣,就好像只有一個(gè)人在修改文件一樣,既避免了沖突,又可以做到跟蹤文件變化等。

CVS是并發(fā)版本系統(tǒng)(Concurrent Versions System)的意思,主流的開放源碼網(wǎng)絡(luò)透明的版本控制系統(tǒng)。CVS對(duì)于從個(gè)人開發(fā)者到大型、分布團(tuán)隊(duì)都是有用的。

它的客戶機(jī)/服務(wù)器存取方法使得開發(fā)者可以從任何因特網(wǎng)的接入點(diǎn)存取最新的代碼。它的無限制的版本管理檢出(check out:注1)的模式避免了通常的因?yàn)榕潘鼨z出模式而引起的人工沖突。它的客戶端工具可以在絕大多數(shù)的平臺(tái)上使用。

CVS被應(yīng)用于流行的開放源碼工程中,像Mozilla,GIMP,XEmacs,KDE和GNOME等。那么它到底怎么樣。

你可能會(huì)說,它非常棒,但是對(duì)于"我"來說它能做什么。首先,基本的 :一個(gè)版本控制系統(tǒng)保持了對(duì)一系列文件所作改變的歷史記錄。對(duì)于一個(gè)開發(fā)者來說,那就意味著在你對(duì)一個(gè)程序所進(jìn)行開發(fā)的整個(gè)期間,能夠跟蹤對(duì)其所作的所有改動(dòng)的痕跡。對(duì)你來說,有沒有出現(xiàn)過由于在命令行上按錯(cuò)鍵而導(dǎo)致一天的工作都白費(fèi)的情況呢。版本控制系統(tǒng)給了你一個(gè)安全的網(wǎng)絡(luò)。

版本控制系統(tǒng)對(duì)任何人都有用,真的。(畢竟,誰不愿意使用一個(gè)安全的網(wǎng)絡(luò)呢。)它們經(jīng)常被軟件開發(fā)團(tuán)隊(duì)使用。在團(tuán)隊(duì)中工作的開發(fā)者需要能夠調(diào)整他們的各自的修改;一個(gè)集中式版本控制系統(tǒng)允許那樣做。

代碼調(diào)整

在傳統(tǒng)的版本控制系統(tǒng)中,一個(gè)開發(fā)者檢出一個(gè)文件,修改它,然后將其登記回去。檢出文件的開發(fā)者擁有對(duì)這個(gè)文件修改的排它權(quán)。沒有其它的開發(fā)者可以檢出這個(gè)文件-- 并且只有檢出那個(gè)文件的開發(fā)者可以登記(check in:注2)所做的修改。(當(dāng)然對(duì)于管理員有很多方法可以超越這個(gè)限制。)

想一下排它的檢出可能會(huì)如何工作:Bob的兄弟檢出 foo.java以便加入注釋,寫好代碼后他什么也沒做。然后他去吃午飯了。Bob吃完午飯后,發(fā)現(xiàn)他的老板所指給他的一個(gè)bug在 foo.java里。他試圖簽出 foo.java … 但是版本控制系統(tǒng)不允許他這樣做,因?yàn)樗男值芤呀?jīng)把它簽出了。Bob不得不等著他的兄弟吃完午飯回來(在這個(gè)"好"日子用了兩個(gè)小時(shí)),他才可以修正bug。

在一個(gè)大型的開放源碼工程中,因?yàn)殚_發(fā)者可能在任意的時(shí)區(qū)工作得很晚,給予一個(gè)開發(fā)者阻止任意地方的其它開發(fā)者繼續(xù)處理任意文件的能力很明顯無法運(yùn)轉(zhuǎn)。他們最終將因?yàn)椴荒軌蛟谒麄兿胍臅r(shí)候開展項(xiàng)目而感到厭煩。

CVS通過它的無限制的簽出模式解決了這個(gè)問題。簽出一個(gè)文件并不給定開發(fā)者對(duì)那個(gè)文件的排它權(quán)。其它的開發(fā)者也可以對(duì)其檢出,進(jìn)行他們自己的修改,并且將其登記回去。

"等一下"你可能會(huì)說。"但是后面的登記不是會(huì)覆蓋前面的嗎"回答是不會(huì)。詳細(xì)地回答就是當(dāng)多個(gè)開發(fā)者對(duì)同一個(gè)文件作了修改CVS會(huì)檢測(cè),并且自動(dòng)合并那些改變。

哇噢。自動(dòng)的,不用擔(dān)心 -- CVS 會(huì)很小心,并且將會(huì)自動(dòng)合并那些只要不是對(duì)代碼的同一行所作的改動(dòng)。如果CVS不能安全的處理這些改動(dòng),開發(fā)者將不得不手工合并它們。從此去往何處。

有大量在許多平臺(tái)上可用的CVS附加工具,它們給CVS增加了功能或使得CVS更容易使用。

使用好處

  • 修改軟件時(shí)可能會(huì)不知不覺混進(jìn)一些bug,而且可能過了很久你才會(huì)察覺到它們的存在。有了 cvs,你可以很容易地恢復(fù)舊版本,并從中看出到底是哪個(gè)修改導(dǎo)致了這個(gè)bug。有時(shí)這是很有用的。

  • cvs 用一種聰明的辦法把一個(gè)文件的所有版本保存在一個(gè)文件里,僅僅保存不同版本之間的差異。

  • cvs 最初由 Dick Grune 在 1986 年 12 月以 shell腳本的形式發(fā)布在 comp.sources.unix 的新聞組第 6 卷里;1989 年 4 月,Brian Berliner 設(shè)計(jì)了 cvs 并編寫了代碼。之后 Jeff Polk 幫助 Brian 設(shè)計(jì)了 cvs 模塊和銷售商分支支持。

  • cvs 不能指導(dǎo)你如何構(gòu)造什么。它只是將你所設(shè)計(jì)的一種樹結(jié)構(gòu)文件保存下來以備恢復(fù)之用。

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

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

  • 你應(yīng)該在 cvs 下放一個(gè)工具來支持這樣一個(gè)構(gòu)造系統(tǒng)(腳本、Makefile 等等)。

  • 有些變化發(fā)生在 cvs 范圍之外時(shí),要想想什么文件需要重建。一個(gè)傳統(tǒng)的方法是用 make 來構(gòu)造,并用一些自動(dòng)化的工具來產(chǎn)生 make 所用的相關(guān)文件。

相關(guān)推薦:《Linux視頻教程》

以上就是linux中的cvs是啥的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!

TAg

加載中~

本網(wǎng)站LOGO受版權(quán)及商標(biāo)保護(hù),版權(quán)登記號(hào):國作登字-2022-F-10126915,未經(jīng)湖南木星科技官方許可,嚴(yán)禁使用。
Copyright ? 2012-2022 湖南木星科技有限公司(木星網(wǎng))版權(quán)所有
轉(zhuǎn)載內(nèi)容版權(quán)歸作者及來源網(wǎng)站所有,本站原創(chuàng)內(nèi)容轉(zhuǎn)載請(qǐng)注明來源,商業(yè)媒體及紙媒請(qǐng)先聯(lián)系:aishangyiwan@126.com

工信部備案號(hào):湘ICP備19012813號(hào)-5