freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于cvs的版本控制系統(tǒng)服務(wù)器安裝與維護(hù)_畢業(yè)論文設(shè)計(jì)(編輯修改稿)

2025-08-16 05:37 本頁面
 

【文章內(nèi)容簡介】 Linux 環(huán)境下 CVS 服務(wù)器與 CVS 客戶端安裝與配置方法。 第五章 主要演示了在搭建好的 CVS 服務(wù)器環(huán)境和客戶端環(huán)境下項(xiàng)目中CVS 版本控制的應(yīng)用。 第六章 主要闡述了 CVS 版本控制系統(tǒng)的開源化對于協(xié)同工作,或者對于大型軟件系統(tǒng)開發(fā)的影響,以及介紹了兩款與 CVS 版本控制系統(tǒng)配合使用的軟件。河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 基于 CVS 的版 本控制系統(tǒng)介紹 5 2 基于 CVS的版本控制系統(tǒng)介紹 什么是 CVS CVS是一個(gè) C/S系統(tǒng),多個(gè)開發(fā)人員通過一個(gè)中心版本控制系統(tǒng)來記錄文件版本,從而達(dá)到保證文件同步的目的。 CVS版本控制系統(tǒng)是一種 GNU軟件包,主要用于在多人開發(fā)環(huán)境下的源碼的維護(hù)。與它相類似的代碼版本控制軟件有Subversion。 CVS的基本概念 1) Repository(倉庫) CVS 的倉庫存儲(chǔ)全部的版本控制下的文件 copy,通常不容許直接訪問,只能通過 cvs命令,獲得一份本地 copy,改動(dòng)后再 check in( mit) 回倉庫。而倉庫通常為與工作目錄分離的。 CVS通過多種方式訪問倉庫。每種方法有不同目錄表示形式。數(shù)據(jù)如何存放在 repository中:隨著 CVS版 本的不同,存放結(jié)構(gòu)會(huì)發(fā)生變化,一般情況下用戶無需了解數(shù)據(jù)到底是如何存放的。 2) Revision(修訂版) 每 一個(gè) file的各個(gè) revision都不相同,形如 , ,一般 個(gè) revision,后面的一個(gè)將自動(dòng)增加最右面的一個(gè)整數(shù),比如 , , ...有時(shí)候會(huì)出現(xiàn) ,原因見后。 revision總是偶數(shù)個(gè)數(shù)字。一般情況下將 revision看作時(shí) CVS自己內(nèi)部的一個(gè)編號(hào),而 tag則可以標(biāo)志用戶的特定信息。 3) Tag(標(biāo)簽) 用符號(hào)化 的表示方法標(biāo)志文件特定 revision的信息。通常不需要對某一個(gè)孤立的文件作 tag,而是對所有文件同時(shí)作一個(gè) tag,以后用戶可以僅向特定 tag的 文件提交 或者 checkout。另外一個(gè)作用是在發(fā)布軟件的時(shí)候表示哪些文件及其哪個(gè)版本是可用的;各文件不同 revision可以包括在一個(gè) tag中。 如果命名一個(gè)已存在的 tag默認(rèn)將不會(huì)覆蓋原來的; 4) Branch(分支) 當(dāng)用戶修改一個(gè) branch時(shí)不會(huì)對另外的 branch產(chǎn)生任何影響??梢栽谶m當(dāng)?shù)臅r(shí)候通過合并的方法將兩個(gè)版本合起來; branch總是在當(dāng)前 revision后面加上一個(gè)偶數(shù)整數(shù)(從 2開始,到 0結(jié)束),所以 branch總是奇數(shù)個(gè)數(shù)字,比如 branch為 ,該分支下 revision可能 為 ,... 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 基于 CVS 的版本控制系統(tǒng)介紹 6 5) Conflict(沖突) 完全是純文本的沖突,不包含邏輯上的矛盾,比如 CVS不能解決如下問題:某人修改了函數(shù) f的參數(shù),而另外一個(gè)人在另外一個(gè)地方用老的參數(shù)調(diào)用該函數(shù)。文本沖突需要用戶自己參與解決, CVS無法自動(dòng)解決。 6) Module(模塊) CVS服務(wù)器根目錄下的第一級子目錄。通常用于存放一個(gè)項(xiàng)目的所有文件 7) Check out(檢出) 通常指將倉庫中的一整個(gè)模塊首次導(dǎo)出到本地。 8) Check in(導(dǎo)入) 通常指通過提交整個(gè)目錄結(jié)構(gòu)并創(chuàng)建一個(gè)新的模塊。 9) Release(發(fā)行版本) 整個(gè)產(chǎn)品的版本 10) Update(更新) 從模塊中下載其他人的修改過的文件。更新本地的拷貝。 11) Commit(提交) 將自己修改過的文件提交到模塊中。 CVS的工作模式和工作思路 CVS( Concurrent Versions System)版本控制系統(tǒng)是一種 GNU軟件包,主要用于在多人開發(fā)環(huán)境下的源碼的維護(hù)。 Concurrent有并發(fā)的、協(xié)作的、一致的等含義。實(shí)際上 CVS可以維護(hù)任意文檔的開發(fā)和使用,例如共享文件的編輯修改,而不僅僅局限于程序設(shè)計(jì)。 CVS維護(hù) 的文件類型可以是文本類型也可以是二進(jìn)制類型。 CVS用 CopyModifyMerge(拷貝、修改、合并)變化表支持對文件的同時(shí)訪問和修改。它明確地將源文件的存儲(chǔ)和用戶的工作空間獨(dú)立開來,并使其并行操作。 CVS基于客戶端 /服務(wù)器的行為使其可容納多個(gè)用戶。這一特性使得 CVS成為位于不同地點(diǎn)的人同時(shí)處理數(shù)據(jù)文件(特別是程序的源代碼)時(shí)的首選。 所有重要的免費(fèi)軟件項(xiàng)目都使用 CVS作為其程序員之間的中心點(diǎn),以便能夠綜合各程序員的改進(jìn)和更改。這些項(xiàng)目包括 GNOME、 KDE、 THE GIMP和 Wine等。 在一臺(tái)服務(wù)器 上建立一個(gè)源代碼庫,庫里可以存放許多不同項(xiàng)目的源程序。由源代碼庫管理員統(tǒng)一管理這些源程序。每個(gè)用戶在使用源代碼庫之前,首先要把源代碼庫里的項(xiàng)目文件下載到本地,然后用戶可以在本地任意修改,最后用CVS命令進(jìn)行提交,由 CVS源代碼庫統(tǒng)一管理修改。這樣,就好像只有一個(gè)人在修改文件一樣,既避免了沖突,又可以做到跟蹤文件變化等。 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 基于 CVS 的版本控制系統(tǒng)介紹 7 CVS是并發(fā)版本系統(tǒng)( Concurrent Versions System)的意思,主流的開放源碼網(wǎng)絡(luò)透明的版本控制系統(tǒng)。 CVS對于從個(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ì)說,它非常棒,但是對于 我 來說它能做什么?首先,基本的 :一個(gè)版本控制系統(tǒng)保持了對一系列文件所作改變的歷史記錄。對于一個(gè)開發(fā)者來說,那就意味著在你對一個(gè)程序所進(jìn)行開發(fā)的整個(gè)期 間,能夠跟蹤對其所作的所有改動(dòng)的痕跡。對你來說,有沒有出現(xiàn)過由于在命令行上按錯(cuò)鍵而導(dǎo)致一天的工作都白費(fèi)的情況呢?版本控制系統(tǒng)給了你一個(gè)安全的網(wǎng)絡(luò)。 版本控制系統(tǒng)對任何人都有用,真的。 (畢竟,誰不愿意使用一個(gè)安全的網(wǎng)絡(luò)呢? )它們經(jīng)常被軟件開發(fā)團(tuán)隊(duì)使用。在團(tuán)隊(duì)中工作的開發(fā)者需要能夠調(diào)整他們的各自的修改;一個(gè)集中式版本控制系統(tǒng)允許那樣做。 CVS代碼的集中配置與調(diào)整 個(gè)人開發(fā)者希望一個(gè)版本控制系統(tǒng)的安全網(wǎng)絡(luò)能夠運(yùn)行在他們的本地的一臺(tái)機(jī)器上。然而,開發(fā)團(tuán)隊(duì)需要一個(gè)集中的服務(wù)器,所有的成員可以將服務(wù)器作為倉庫 來訪問他們的代碼。在一個(gè)辦公室中,沒有問題 只是將倉庫連到本地網(wǎng)絡(luò)上的一臺(tái)服務(wù)器上就行了。對于開放源碼項(xiàng)目 … 噢, 還是沒有問題,這要感謝因特網(wǎng)。 CVS內(nèi)建了客戶機(jī) /服務(wù)器存取方法,所以任何一個(gè)可以連到因特網(wǎng)上的開發(fā)者都可以存取在一臺(tái) CVS服務(wù)器上的文件。 在傳統(tǒng)的版本控制系統(tǒng)中,一個(gè)開發(fā)者檢出一個(gè)文件,修改它,然后將其登記回去。檢出文件的開發(fā)者擁有對這個(gè)文件修改的排它權(quán)。沒有其它的開發(fā)者可以檢出這個(gè)文件 并且只有檢出那個(gè)文件的開發(fā)者可以登記 (check in:注 2)所做的修改。 (當(dāng)然對于管理員有很多 方法可以超越這個(gè)限制。 ) 想一下排它的檢出可能會(huì)如何工作: Bob的兄弟檢出 ,寫好代碼后他什么也沒做。然后他去吃午飯了。 Bob吃完午飯后,發(fā)現(xiàn)他的老板所指給他的一個(gè) bug在 。他試圖檢出 … 但是版本控制系統(tǒng)不允許他這樣做,因?yàn)樗男值芤呀?jīng)把它檢出了。 Bob不得不等著他的兄弟吃完午飯回來 (在這個(gè) 好 日子用了兩個(gè)小時(shí) ),他才可以修正 bug。 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 基于 CVS 的版本控制系統(tǒng)介紹 8 在一個(gè)大型的開放源碼工程中,因?yàn)殚_發(fā)者可能在任意的時(shí)區(qū)工作得很晚,給予一個(gè)開發(fā)者阻止任意地方的其它開發(fā)者 繼續(xù)處理任意文件的能力很明顯無法運(yùn)轉(zhuǎn)。他們最終將因?yàn)椴荒軌蛟谒麄兿胍臅r(shí)候開展項(xiàng)目而感到厭煩。 CVS通過它的無限制的檢出模式解決了這個(gè)問題。檢出一個(gè)文件并不給定開發(fā)者對那個(gè)文件的排它權(quán)。其它的開發(fā)者也可以對其檢出,進(jìn)行他們自己的修改,并且將其登記回去。 詳細(xì)地回答就是當(dāng)多個(gè)開發(fā)者對同一個(gè)文件作了修改 CVS會(huì)檢測,并且自動(dòng)合并那些改變。 不用擔(dān)心 , CVS會(huì)很小心,并且將會(huì)自動(dòng)合并那些只要不是對代碼的同一行所作的改動(dòng)。如果 CVS不能安全的處理這些改動(dòng),開發(fā)者將不得不手工合并它們。 有大量在許多平臺(tái)上可用的 CVS附加工具,它們給 CVS增加了功能或使得CVS更容易使用。 CVS的典型功能 1) 替代管理 你的經(jīng)理和項(xiàng)目負(fù)責(zé)人應(yīng)經(jīng)常與你交流以確保你時(shí)時(shí)記得進(jìn)度表、合并點(diǎn)、分支名和發(fā)布日期。如果他們不這樣做, cvs 也沒用。 cvs 只是一個(gè)用來使你的資源與你的步調(diào)一致的工具。但你是風(fēng)笛手和作曲家,沒有哪種樂器會(huì)自己演奏或是作曲。 不能代替開發(fā)者之間的交流。在單個(gè)文件內(nèi)遇到?jīng)_突時(shí),大多數(shù)開發(fā)者不費(fèi)多大力氣就能解決它們。但更常見的 沖突 (conflict),是那些難度較大、不在開發(fā)者之間進(jìn)行交流就沒法解決的問題。 當(dāng)在一個(gè)文件內(nèi)或多個(gè)文件中同時(shí)發(fā)生變化時(shí), cvs 并不知道何時(shí)它們會(huì)在邏輯上發(fā)生沖突。它的沖突 (conflict)概念是純粹文本意義上的,這種沖突會(huì)在同一個(gè)文件的兩種變化十分接近以致于會(huì)破壞合并命令 (如 diff3)。 CVS決不會(huì)指出程序邏輯上非文本或分布式的沖突。例如:假如你改變了在文件 A 中定義的函數(shù) X 的參數(shù)。同時(shí),別人在編輯文件 B,仍用舊參數(shù)調(diào)用 X 這個(gè)函數(shù)。此時(shí)產(chǎn)生的沖突 cvs 可就無能為力了。 2) 變化控制 變化控制可以指許多事情。首先它的意思可以是 BUG 跟蹤 bugtracking,就 是說它能維持一個(gè)數(shù)據(jù)庫,其中包括已報(bào)告的 BUG 和每一個(gè) BUG 狀態(tài) (是否已更正?在哪一個(gè)版本中?提交這個(gè) BUG 的人是否認(rèn)為已經(jīng)更正? )。為了使 cvs 和一個(gè)外部的跟蹤 BUG 系統(tǒng)協(xié)調(diào)一致,請參考 rcsinfo 和 verifymsg文件 (參閱 Administrative files)。 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 基于 CVS 的版本控制系統(tǒng)介紹 9 變化控制的另一個(gè)方面指跟蹤這樣的情況,即對好幾個(gè)文件的改變實(shí)際上只是同一個(gè)邏輯變動(dòng)。如果你在一次 cvs mit 操作中檢入幾個(gè)文件, cvs 會(huì)忘掉它們是一起檢入的,它們共用一個(gè) LOG 信息的事實(shí) 只是把它們綁在一起而已。做一個(gè) gnu 風(fēng)格的 ChangeLog 可能會(huì)有點(diǎn)用。在一些系統(tǒng)中,變化控制的另一個(gè)方面是跟蹤每個(gè)變化的狀態(tài)的能力。一些變化由一個(gè)開發(fā)者寫出,而另一些變化則由另一個(gè)開發(fā)者來作出評論,等等。一般來講,用 cvs 來做,是產(chǎn)生一個(gè) diff(用 cvs diff 或 diff),并且用電子郵件寄給某人,此人就可以用 patch 來應(yīng)用它。這是非常靈活的,但依賴于 cvs 之外的機(jī)制以保證事情不會(huì)崩潰。 3) 自動(dòng)測試 強(qiáng)制利用 mitinfo文件測試套件應(yīng)該是可能的。不過我沒有聽 說過多少項(xiàng)目試圖那樣做或那里有微妙的陷阱。 4) 內(nèi)置處理 有些系統(tǒng)提供一些方法確保變更或發(fā)布通過不同的步驟,以及各種所需的批準(zhǔn)過程。一般地,你可以用 cvs 來完成它,但是可能要多做點(diǎn)工作。有些情況下你想用 mitinfo、 loginfo、 rcsinfo 或 verifymsg文件,要求在 CVS 提交之前完成某些操作。你也會(huì)考慮諸如 branches 和 tags等特性是否能用在一個(gè)開發(fā)樹中執(zhí)行任務(wù),然后僅當(dāng)它們被證實(shí)就把某些修改合并到一棵穩(wěn)定的樹中。 CVS 還有一個(gè)更加重要的特性:能記下每個(gè)文件的 每次修改,以及如何被修改 … 對于基于 Inter 的合作方式來說,這些特性太重要了。一個(gè)地域上分散的自愿者組織顯然不可能投入很多的時(shí)間來訓(xùn)練其成員彼此合作。因?yàn)檫@樣的話,當(dāng)該組織有成員變更的時(shí)候,為此付出的投資將損失殆盡。所以需要指定一套基本的項(xiàng)目分配方案,以確保新成員能較容易的適應(yīng)工作,同時(shí)也需要設(shè)置一個(gè)自動(dòng)的系統(tǒng)來接受外來代碼,并使每個(gè)成員能及時(shí)得到最新修改的代碼。 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) Windows下 CVS 服務(wù)器與客戶端的配置 10 3 Windows下 CVS服務(wù)器與客戶端的配置 Windows 下 CVS服務(wù)器的配置 CVS是目前最常用的版本控制和軟件配置系 統(tǒng)。其開源性在其普及的過程中功不可沒,然而正因?yàn)殚_源造成了其易用性較差。往往一個(gè)功能需要通過幾個(gè)看似不相干的操作配合才能進(jìn)行。 Windows下 CVS的多帳戶配置正是這樣一個(gè)相當(dāng)重要的,但很不好操作的功能。幾個(gè)難點(diǎn)如下: CVS源自 Unix系統(tǒng),其 Windows的移植版并沒有服務(wù)器功能。在 Windows下一般采用安裝 CVSNT這個(gè)軟件來建立 CVS Repository,但 CVSNT的操作方法和原始的 CVS略微不同。 CVS本身是命令行形式,其
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1