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

您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
CVS、Automake與Autoconf簡介
作者:網絡轉載 發布時間:[ 2012/12/28 14:18:46 ] 推薦標簽:

第一部分 CVS簡介
cvs ( Concurrent Version System )是一個版本控制系統,什么是版本控制系統呢?簡單的說,它可以記錄程序代碼修改的過程,有一個完整的歷史記錄( history )。辟如說,當你在修改程序代碼的時候, 不小心寫出了一個 bug,但是你可能很久以后才發現多出了這個 bug, 這個時候,cvs 能很有效的幫助你找出到底是在哪一次的修改中,出現了這個 bug。
也許你會說, 那我每次都把程序保存起來, 用tar 做好備份不行了,當然, 你可以這樣做, 但是這太浪費空間了! cvs 在版本更改間, 只儲存不同的部分, 這樣可以省下很多空間。
在另一個場合里, 更能顯示出 cvs 的好處 ,比如多人一起開發軟件的時候。 cvs支持遠程訪問, 用戶可以對他要修改的文件加上正在編輯的標志, 讓別人知道他要修改這個文件了。 當然, 一個較大的開發隊伍,一般還會需要一個 mailing list 用來溝通。畢竟cvs 只是一個管理程序代碼的工具, 他并不扮演溝通的角色。 cvs的同類軟件還有rcs和sccs。RCS ( Revision Control System ) 可以從FSF獲得。SCCS ( Source Code Control System ) 由AT&T在SystemV中引入,現在已經被加入X/Open標準( Unix 98? )。比起這些軟件,CVS的要得多,特別是在支持多人遠程開發方面。由于CVS出現較新,所以使用上反而沒有它們普及。當然,如果您熟悉rcs,您會發現學習cvs非常容易。

名詞
repository: 意為倉庫。在 cvs 里, 它是你真正存放各歷史版本的地方。 pserver: cvs 遠程服務器,cvs 有兩種工作模式, 一種是 local, 一種是 remote。 一般通過inetd啟動pserver。
CVSROOT: 當使用 cvs 的時候, 要設定 CVSROOT這個環境變量, 或是用 -d 選項來指定該參數,該參數指明你的倉庫放在哪里。

本地( local )cvs
首先, 確定一個 cvsroot,比如:
export CVSROOT="/home/joe/cvsroot/" 建立該目錄:
mkdir /home/joe/cvsroot
接著,運行cvs init :
cvs init
cvs init 會幫你把 cvsroot 初始化。接著, 建立一個要放文件的目錄 ( 相當于一個Project ): mkdir /home/joe/cvsroot/cvsdoc
cd /home/joe/work
cvs checkout cvsdoc( 或者簡寫為: cvs co cvsdoc ) 你會看到下面的信息: cvs checkout: Updating cvsdoc cvs checkout 會把當前新的版本拷貝到你的當前目錄下。
記住, 不要自己建立 /home/joe/work/cvsdoc, 該目錄下還會有一些用于管理的 cvs 相關的信息。
接著, 進入 cvsdoc 目錄, 編輯 cvs.doc 這個文件檔案,輸入一些信息。
然后,運行:
cvs add cvs.txt cvs commit -m "Initial revision." cvs add 會把 cvs.txt 加入 cvs 維護的文件列表中去。
cvs commit 檢查當前目錄下所有的在文件列表中的文件,并把對他們的改動加入到倉庫中。-m 表示這次 commit 的 message,一般說明此次修改的相關信息。
現在修改一下 cvs.txt,并且,在文件檔案的上面加上 $Id$ 的字樣。
改完之后, 再 commit 一次:
cvs commit -m "Adding new stuff."
現在看看我們所做的修改:
cvs log cvs.txt
可以看到:
RCS file: /home/joe/cvsroot/cvsdoc/cvs.txt,v
Working file: cvs.txt
head: 1.2
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
----------------------------
revision 1.2
date: 2000/09/11 11:55:06; author: joe; state: Exp; lines: +2 -0
i
----------------------------
revision 1.1
date: 2000/09/11 11:52:32; author: joe; state: Exp;
initial version
==================================================================
你會看到每次修改加進去的 message。這對開發者,特別是一個大的項目的開發者,其幫助是不言而喻的。
cvs diff -r 1.1 -r 1.2 cvs.txt
可以看到:
Index: cvs.txt
================================================================== RCS file: /home/joe/cvsroot/cvsdoc/cvs.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -r1.1 -r1.2
0a1
> $Id: cvs.txt,v 1.2 2000/09/11 11:55:06 joe Exp $
1a3
> hehe,sencond time edit it!
這樣會顯示 1.1 和 1.2 版的 diff, 原本有 1.1 版的人, 只需要用這個 patch 可以了升級到1.2了!
再編輯 cvs.txt, 可以發現上面的 Id 變長了? 加了一代串文字:
$Id: cvs.txt,v 1.2 2000/09/11 11:55:06 joe Exp $ 這顯示這個版本的一些相關信息。
遠程( remote )cvs
如果我們要做一個比較大的項目,上面講的本地cvs服務太簡單了,我們要讓眾多的人可以遠程開發程序! 比如我們要用cvs組織起我們的minigui項目。 檢查 /etc/services 有沒有這兩行,沒有請加入:
cvspserver 2401/tcp #CVS network server cvspserver 2401/udp #CVS network server
在 /etc/inetd.conf 加入:
cvspserver stream tcp nowait root /usr/local/bin/cvs cvs --allow-root=/home/minigui pserver
mkdir /home/minigui
要是該設置生效,請重啟inetd。
添加用戶anoncvs, 這是要給匿名cvs 用戶使用的帳號,其組為nogroup。 新加一個名為 minigui的 group。 添加參與 minigui開發的用戶的帳號, 當然, 把他們的 group 設為 minigui。
cvs -d /home/minigui init
cd /root/minigui, 這是原來已經存在的版本, 現在我們要把它的東西放進 cvs 倉庫里: 比如,我們把minigui的庫minigui03放到倉庫中:

cd minigui03;cvs import –m “the lib” minigui03 joe start

會看到cvs把一個個文件放到倉庫中。 

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 国内精品久久久久久影院老狼 | 成人精品一区二区激情 | 成人在线观看视频免费 | 天天干夜夜骑 | 久久人人爽人人爽人 | 黄色小视频在线播放 | 欧美三级不卡 | 精品视频一区二区 | 日韩黄漫啪啪免费动漫 | 国内精品免费久久久久妲己 | 伊人网在线视频 | 天天影视涩香欲综合网 | 亚洲精彩视频在线观看 | 一区免费在线观看 | 亚洲视频欧美视频 | 看黄免费在线 | 日本高清xxxxx | 成人在线视频免费 | 日韩三级大片 | 免费黄色一级 | chinese老妇videos| 色综合久久久久久久久五月 | 亚洲国产aaa毛片无费看 | 国产精品资源在线播放 | 亚洲欧美日韩天堂在线观看 | 在线免费视频一区 | jjzz日本老师 | 亚欧乱色视频网站大全 | 久久精品第一页 | 国产一卡2卡3卡免费网站 | 日本视频三区 | 日本中文字幕网站 | 正在播放国产尾随丝袜美女 | 成年人免费在线观看 | 性夜影院午夜看片 | 欧美特黄三级在线观看 | 成人免费视频一区二区三区 | 国产成人免费网站 | 2021人人莫人人擦人人看 | 国产特级全黄一级毛片不卡 | 国产99视频精品免视看7 |