亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
教你用Linux作CVS服務器
作者:網絡轉載 發布時間:[ 2013/1/28 13:41:26 ] 推薦標簽:

一、版本控制的概念以及幾種版本控制工具的簡介

1.源文件的標示與版本的概念

源文件是一個軟件為重要的一個組成單元,因此源文件的管理也是整個軟件組成管理中重要的一環,是進行高效軟件開發的關鍵歲所在.對源文件進行管理,必須對源文件進行標示.通常認為只需文件名.而實際上,在一個版本維護工具下對于源文件的標示包括兩部分:文件名與版本.即:源文件可以用如下的二元組表示 {filename,version};

所謂版本,一般的軟件開發人員都有一個直觀的理解,但卻很難做出準確的定義.版本,是指某一特定對象的具體實例的潛在存在.這里的某一特定對象是指由版本維護工具管理的如軟件組成單元,一般指源文件.具體實例則是指軟件開發人員從軟件儲藏室中恢復出來的軟件組成單元的具有一定內容和屬性的一個真實拷貝.

把版本定義成一個潛在的存在是基于以下考慮:版本作為源文件的一個表示部分,軟件人員對它的引用實際上想得到不同的版本對應的不同源文件,所以說版本是一種抽象.它用來定義一個具體實例應該具有的內容與屬性.也是說版本是一個具體實例的潛在存在,是源文件不同化身的抽象.

有了以上對版本概念的認識.大家對版本維護工具有了一定的理解:版本維護工具,應該對開發人員屏蔽源文件的存儲方式對開發人員是透明的,開發人員不需要明白軟件存儲庫里有什么源文件,只需要說明需要什么樣的源文件以及要存儲什么樣的源文件,版本維護工具自動完成這一切工作.關于版本維護的理論還包括:版本的空間,維數,版本的表示,存儲,合并等理論,因為我們這里主要說明cvs 的linux 服務器,所以一切從簡,對這方面有興趣朋友可以閱讀相關書籍

本章所講的cvs 是這樣的一個強大的工具.在講述cvs 前我們先介紹其他幾個版本維護工具.

2.幾種版本維護工具的簡介

2.1 SCCS

SCCS的全稱是Source Code Control System .在介紹之前先定義工作文件的概念.所謂工作文件,是指從軟件儲藏室得到的有”寫”權限的源文件.

SCCS 是一種基本的源文件版本控制工具,它適用于任何正文文件的版本維護.它基于單一文件的版本控制,通常,它的軟件儲藏室和要維護的文件在同一目錄下.

SCCS 工作時,有一個專門的SCCS 格式的文件保留其源文件的編碼版本,其記錄了足夠的信息來生成新的版本,并記錄了誰對文件有修改權,擁有該版本的”鎖”.

SCCS的版本好事一個四元組,即:發行號,級號,分支號,序號(release,level,banch,sequence)

2.2 RCS

RCS是另一種基本的源代碼管理工具,是WALTER.f.Tichy 于1980 年在Indina的 Purdue 大學開發的.RCS和SCCS 類似,也是基于單一文件的版本維護系統.RSC 通過RSC 文件進行文件管理;使用RCS 進行維護的過程與SCCS 相似,也是按恢復提交模式進行的,不多贅述

RCS文件,是RCS 系統中源文件的儲藏室,它是一種特殊的編碼文件,包含了開發人員恢復老版本的源文件以供開發使用的足夠信息.它通常是以.V 為后綴

它的結構如下:

* RCS 頭,這一部分記錄了對應文件的版本樹的頭版本號,

* 版本描述: 這一部分描述RCS樹上的各個節點的屬性性質

* 初始信息:之一部分是在創建第一個RCS 版本時的表述內容

* 文件內容

RCS與SCCS 相似,RCS將所維護的版本也組織成樹形結構.但RCS允許多重分支,即,RCS的版本號不像SCCS那樣是一個四元組.形式為;發行號,級號,[分支號,序號].版本樹如下

2.3 綜述

這兩種版本維護工具的共同點是:采用了”鎖”的方式,對當前問堅持有”鎖”的用戶才有對文件的修改權.他們采用的機制是所謂的” lock-modify-unlock”.采用這種即只有一個知名的弱點,那是不至此多用戶并發的使用.

二、在linux 下構建cvs 服務器

1.CVS簡介及基本原理

CVS 的全稱是Current Version Control. CVS是一種GNU 軟件包.由Intersolv公司開發,新的版本是 1.10.8.它是一種基于RCS系統的維護工具.它明確的將源文件的存儲和用戶的工作空間獨立開來,有在一定的模式上擴展了RCS的恢復提交功能. 并使其有利與并行開發.

CVS 將源文件的RCS 文件根據其源碼樹的層次集中在一個目錄下,該目錄的路徑由環境變量CVSROOT 定義.

可見該目錄可以分成兩部分:一部分為${CVSROOT}/CVSROOT,它包含CVS所需的一些管理 文件.另一部分為源文件所形成的RCS 文件,并按軟件開發的源碼樹的結構來構成.

2.CVS 在進行源代碼管理時的特點

2.1 源代碼空間與用戶空間分離.

CVS 系統將源代碼文件放在repository下,用戶要修改文件必須將repository 下的文件作一個拷貝之后才能進行,

2.2 并發訪問

CVS 系統允許多個開發人員同時獲取同一文件的的同版本源文件.當然這也是CVS獲得廣泛應用的主要原因.開發人員提取一個文件時,將在自己的工作空間建立一個與其他開發人員相互獨立的拷貝,此文件的版本號與文件“頭”版本相同,除非他用commit 命令完成版本的性升級.而此時,其他用戶可用 undate 命令是自己的版本號與”新的頭版本號”相一致.:若用戶在checkout 后發現頭版本改變了,可用RCS系統的rcsmerge 命令形成一個新文件,這個新文件及包括原來的內容,又包括用戶修改的內容.此示弱與其他同時在對同一文件修改的開發人員發生沖突,可通知他們進行手工修改

所以說,CVS系統是一個Copy-Modify-Merge 的算法而不是以上我們提到的那兩個系統所采用的lock-modify-unlockj機制 這種算法的好處在于,軟件開發人員可以得到一份源文件的拷貝(Copy),并不會對該文件上”鎖”,因此為并行開發提供了可能,在得到 拷貝后, 開發人員可以在自己的開發環境下進行修改(Modify),然后提交自己修改后的文件,與源文件進行合并(Merge).形成新的版本,

2.3 源文件共享

CVS對${CVSROOT}的使用是不同的用戶可按自己的需要拷貝不同的模板,修改后載體交給${CVSROOT}.這樣用戶可共享源文件.這當然是我們建立CVS服務器所必需的

2.4 獨立的工作環境

用戶在自己的工作環境下進行修改開發,自然有獨立的工作環境,值得說的實.CVS 也支持”鎖”的機制.允許用戶對自己獲得的模板拷貝進行鎖定

2.5 標記

CVS為了方便用戶,引入了一個tag文件,該文件位于用戶工作目錄下,與被他標記的文件一級的CVS 目錄下對特定的tag 文件操作,即對相應版本的操作,即使這個版本被修改過.

上一頁12345678下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 永久免费看黄 | 九九99靖品| 久久综合狠狠综合久久综合88 | 丁香午夜 | 成人抖音网站 | 人喾交性专区免费看 | 一级做a爱片特黄在线观看免费看 | 日本黄色录像 | 成人午夜久久精品 | 99在线观看视频 | 欧美一级黄色影院 | 无遮挡动漫黄漫网站在线观看 | 关婷哪一级毛片高清免费看 | 免费观看欧美性一级 | 国内精品小视频 | 男女边摸边吃奶边做视频在线 | 美女图片在线视频精品播放 | www.xxx欧美| 五月综合色婷婷影院在线观看 | 黄色三级在线观看 | 亚洲欧美综合乱码精品成人网 | 国产欧美视频一区二区三区 | 国产三级视频网站 | 国产精品视频福利一区二区 | 500短篇超污多肉推荐短视频 | 日韩精品国产一区 | 午夜精品免费 | 91精品综合久久久久久五月天 | 一级毛片免费视频观看 | 欧美a色爱欧美综合v | 国产成年人视频 | 日本人免费xxx在线视频 | 日批软件在线观看 | 欧美福利片在线观看 | 韩日毛片 | 成人三级视频在线观看 | 欧美videosex性欧美成人 | 五月桃花网婷婷亚洲综合 | 日本中文字幕在线视频站 | 日日干天天 | 99精品在线 |