亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學(xué)院 > 操作系統(tǒng) > 正文

CVS RCS HOWTO 原始程式碼版本控制系統(tǒng) (1)

2024-07-26 00:30:59
字體:
供稿:網(wǎng)友
作者:Al Dev (Alavoor Vasudevan) alavoor@yahoo.com
譯者:Cyril Huang cyril_huang@yahoo.com
v7.0, 20 Feb 2000 翻譯日期: 5 APRil 2000 


--------------------------------------------------------------------------------
這份文件是一份 "實際操作的說明" ,以便於能使您很快的設(shè)定 CVS/RCS 原始程式碼控制系統(tǒng)。這份文件里也有一些將 CVS 上常用的混合命令包成可設(shè)定的 shell scripts 。這些 scripts 為 CVS 提供了一個簡單的使用者介面。這份文件的內(nèi)容不僅能適用於 linux 系統(tǒng)也適用於其他像 Unix 的系統(tǒng),例如Solaris, HPUX, AIX, SCO, Sinix, BSD, SCO 等等。 
--------------------------------------------------------------------------------


    
--------------------------------------------------------------------------------

1. 簡介
原始碼控制系統(tǒng)是一個必須能管理那些在軟體計劃發(fā)展時原始碼所做的改變。軟體開發(fā)者需要一個完整的原始碼改變歷史紀(jì)錄,以便於在發(fā)生問題時,能夠追溯到以前穩(wěn)定的版本。既然原始程式碼對於任何的軟體計劃與開發(fā),都是花時間與金錢中最關(guān)鍵的部分,所以花時間藉由使用原始碼控制系統(tǒng)像 CVS 和 RCS 來安全的保護(hù)(safe-guarding)原始程式碼是非常重要的。 

CVS (Concurrent Version Control System) 是一個能讓很多程式開發(fā)者同時做軟體開發(fā)的非常強大工具。它使用了RCS 的檔案規(guī)定格式但多了一層像應(yīng)用程式介面的包裝,架在 RCS 的上層。 

(譯注: RCS 是較老的版本控制,一個受 RCS 管制的檔案看起來是這樣子的 proj1.c,v ,CVS 沿用了一些 RCS 的規(guī)定。) 

CVS 能夠紀(jì)錄你的檔案的歷史紀(jì)錄( 通常是原始程式碼,但是其他型態(tài)的檔案則不一定)。 CVS 只存了不同版本中檔案的差異,而不是你所建立的每個版本中的每個檔案。 CVS 也保持了一個何時,何人更改檔案,為什麼更改檔案等等不同觀點的歷史紀(jì)錄。 

CVS 對於軟體的發(fā)行和多人同時更改目前原始碼的管理是非常的有幫助。他并不只是要對單一目錄下的檔案提供版本控制,相反的,CVS 更提供了多層有組織的目錄檔案的版本控制。在這個目錄下除了你的原始程式碼外,還包含有一個 CVS 所建立的改版控制目錄與檔案。 

這些目錄與檔案最後被合并在一起形成一個軟體的發(fā)行。 

CVS 能被使用在 "C", "C++", java, Perl, HTML 和其他檔案。 



--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

2. 那一種版本控制系統(tǒng)適合我? CVS 或 RCS
CVS 實際上是架在 RCS 之上的, CVS 只是一堆更強大能控制一個有完整原始程式碼階層目錄的工具。我們非常強烈的推薦您使用 CVS,因為您能夠很有彈性的用 perl , korn bash shell 等 scripts 語言設(shè)定您自己的 CVS 系統(tǒng)。請看一些 korn shell scripts 的□例 Shell Scripts 。 

CVS 的優(yōu)點 

CVS 是非集中式的管理,使用者從儲存柜 (repository) 登出一個檔案目錄,并且有他自己的獨立的穩(wěn)定目錄樹。 
CVS 能夠在發(fā)行整個計劃的原始目錄樹中"蓋上印記" ("STAMP")。 
CVS 能夠使大家同時修改檔案。 
CVS 能夠用 shell scripts 或 perl 設(shè)定成檔案鎖住成單一使用或同時修改檔案模式。 
CVS 的缺點 

需要比 RCS 多一點的管理。 
非常成熟復(fù)雜的系統(tǒng),是目前應(yīng)用上已有的最高技術(shù)。(感謝網(wǎng)友tsaipaw@mars.seed.net.tw來信指證我的錯誤) 
有豐富的命令還有命令選項,因此對於初學(xué)者來說有很陡的學(xué)習(xí)曲線。簡單使用的 shell scripts 可在這里找到 Shell Scripts 。 
RCS 的優(yōu)點 

RCS 非常容易設(shè)定。較少一些管理上的工作。 
RCS 用在一個每個人在一起工作的集中區(qū)域。 
RCS 對於簡單的系統(tǒng)很有用。 
非常嚴(yán)謹(jǐn)?shù)膯我粰n案修改模式 - 同步與同時是不允許的。 
RCS 的缺失 

由於使用單一目錄控制與檔案鎖住,不可能由很多的程式設(shè)計者做同時的開發(fā)。因為單一目錄下很多人對檔案的改變,會造成 make 的使用錯誤。 
不能對整個軟體計劃戳上發(fā)行(releases)的印記。 
這份文件也包含一些 shell scripts 以提供簡單的命令來作登出 (check-out), 登錄 (check-in), 送交(commit) 檔案的動作。請看一些 shell scripts 的□例 Shell Scripts 。 

對於 RCS 而言,請看 Linux CD-ROM 里面的RCS mini-howto。 


--------------------------------------------------------------------------------

cd /mnt/cdrom/Redhat/RPMS
ls -l howto-6.0-*.noarch.rpm
rpm -qpl howto-6* | grep -i rcs 


--------------------------------------------------------------------------------
或者看 http://sunsite.unc.edu/LDP/HOWTO/mini/RCS-HOWTO.html
--------------------------------------------------------------------------------
    
--------------------------------------------------------------------------------

3. 設(shè)定 CVS 
首先,你需要安裝 CVS 套件,在Redhat Linux 上請用 


--------------------------------------------------------------------------------

cd /mnt/cdrom/Redhat/RPMS
rpm -i rcs*.rpm
rpm -i cvs*.rpm
To see the list of files installed do -
rpm -qpl cvs*.rpm | less


--------------------------------------------------------------------------------
然後用 j, k, CTRL+f, CTRL+D, CTRL+B, CTRL+U 或上下左右鍵, page up/down 瀏覽一下結(jié)果。請用 'man less' 查看 less 的用法 
在其他的 unix 機器上,你可能需要下載 RCS CVS 的 tar.gz 檔案,然後根據(jù) README, INSTALL 檔的指示來安裝 CVS。請到 http://www.cyclic.com 和 http://www.loria.fr/~molli/cvs-index.html

3.1 CVS 的專有環(huán)境變數(shù) 
下列的環(huán)境變數(shù)需要在 /etc/profile 檔中設(shè)定,/etc/profile 是對所有使用者都有效的內(nèi)定值設(shè)定檔,如果沒有設(shè)定 /etc/profile,那麼你應(yīng)該加這些設(shè)定到你自己的設(shè)定檔  /.bash_profile 內(nèi)。 


--------------------------------------------------------------------------------

export EDITOR=/bin/vi
export CVSROOT=/home/cvsroot
export CVSREAD=yes


--------------------------------------------------------------------------------

建造一個目錄來存你原始程式碼的儲藏柜 (repository) 并且給予 unix group 與 user 讀寫的權(quán)力。 (譯注:這個目錄下將會有很多你將來的原始碼。) 


--------------------------------------------------------------------------------

export CVSROOT=/home/cvsroot
mkdir $CVSROOT
chmod o-rwx $CVSROOT
chmod ug+rwx $CVSROOT


--------------------------------------------------------------------------------
要初始化你的 CVS ,并且從現(xiàn)在開始把你的原始程式碼交給 CVS 管理。請做 - 
--------------------------------------------------------------------------------

cvs init

(譯注;這個初始化的動作在於建造一個儲藏柜,是一個目錄$CVSROOT/。
同時 $CVSROOT/CVSROOT 也在此時被建造,這個模組目錄下面是控制你CVS的administration files,
里面的檔案做一些修改後,可以使CVS更強大好用。
$CVSROOT 下的目錄每個都是 module 的意思,一個 module 可以就是一個專案計劃。
但也可能是你把一個計劃拆成很多 module ,不同 module 交給不同的 team 去發(fā)展。)

# 一定要換到想要 CVS 控制的計劃目錄下喔
cd $HOME/my_source_code_dir

# 把整個目錄納入管理用 import 命令
cvs import my_source_code_dir V1_0 R1_0  

(譯注:其實是 cd 到你的project下後,cvs import 模組 vendor_tag release_tag,
不一定要是目錄名稱 my_source_code_dir,vendor_tag, release_tag 只是識別用的東西,
將來你可以用 tag 來存取你要的特定版本
這個動作會在 $CVSROOT/ 下開個" 模組 "的目錄,然後把 my_source_code_dir 整個放到 CVS 下管理,
$HOME/my_source_code_dir 就沒用了。import 的動作是把已經(jīng)寫好的一堆 code 擺進(jìn)來,
如果將來想新增檔案xxxx.c,必須先寫好xxxx.c,再用 cvs add xxxx.c)


--------------------------------------------------------------------------------

3.2 從 RCS 轉(zhuǎn)換到 CVS 系統(tǒng) 
要轉(zhuǎn)換已經(jīng)存在的 RCS 檔案到 CVS ,請使用下面的 script 。并確定你從你的 Linux CD-ROM 安裝了 korn shell 套件 pdksh*.rpm。 


注意 : Korn shell /bin/ksh 在你從Linux CD-ROM 安裝 pdksh*.rpm 時就會產(chǎn)生 


--------------------------------------------------------------------------------

#!/bin/ksh

#############################################################
# Program to Migrate the existing source code in RCS to CVS 
#
# Needs the korn shell RPM package  pdksh*.rpm from Linux 
# contrib cdrom
#############################################################

#
# rcs2cvs - convert source tree from RCS to CVS
#

# project to convert
PROJECT='project'

# current RCS root
RCSROOT="$HOME/rcs"

if cd "$RCSROOT/$PROJECT"
then
        cd "$RCSROOT"
else
        echo >&2 "`basename "$0"`: can't change to RCS directory '$RCSROOT/$PROJECT'."
        exit 1
fi

# current CVS root
CVSROOT="$HOME/cvs"

# create new CVS directory for project 'project'
if mkdir "$CVSROOT/$PROJECT"
then
        :
else
        echo >&2 "`basename "$0"`: can't create CVS directory '$CVSROOT/$PROJECT'."
        exit 2
fi

# create CVS project tree from RCS tree
find "$PROJECT" -type d -name RCS -print |
while read RCS
do
        CVS="`dirname "$RCS"`"
        (if cd "$RCS"
        then
#               if find . -type f -name '*,v' -print | cpio -pdmv "$CVSROOT/$CVS"
                if find . -type f -print | cpio -pdmv "$CVSROOT/$CVS"
                then
                        :
                else
                        echo >&2 "`basename "$0"`: can't convert RCS subdirectory '$RCSROOT/$RCS' to CVS subdirectory '$CVSROOT/$CVS'."
                fi
        else
                echo >&2 "`basename "$0"`: can't change to RCS subdirectory '$RCSROOT/$RCS'."
        fi)
done


--------------------------------------------------------------------------------
現(xiàn)在 RCS 已經(jīng)被改成 CVS 系統(tǒng)下的 'project'. 你可以開始用CVS命令來存取 'project' 這個模組了. 
--------------------------------------------------------------------------------
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
xxx一区二区| 午夜影院一区| 99色这里只有精品| 一区二区三区国产精华| 亚洲日本三级| 久久久欧美精品| 亚洲二区视频| 久草在线视频福利| www.av毛片| 亚洲在线第一页| 中文字幕亚洲精品乱码| 国产精品成人69xxx免费视频| 国产国语videosex另类| 免费裸体美女网站| 波多野结衣在线网站| 成人网中文字幕| 亚洲www在线| 欧美日韩国产中文精品字幕自在自线| 五月天婷婷导航| 国产在线视频综合| 中文字幕免费中文| 国产精品手机视频| 久久久国产视频91| 美女激情福利视频在线观看| 精品无码国产污污污免费网站| 香蕉国产成人午夜av影院| 亚洲已满18点击进入久久| 天天射,天天干| 欧洲精品一区二区三区在线观看| 欧美成人中文字幕在线| 性人久久久久| 亚洲福利av在线| 成人女保姆的销魂服务| 成人在线黄色电影| 国产精品人人妻人人爽| 美女久久网站| a优女a优女片| 国产高清不卡一区二区| 欧美日韩一区二区高清| 久久影院午夜论| jizz18日本| 亚洲直播在线一区| 久久久久久久久丰满| 大桥未久一区二区三区| 亚洲精品影院| 裸体裸乳免费看| 欧美破处大片在线视频| 日韩在线视频国产| 亚洲精品丝袜日韩| 欧美精品久久久久a| 久久伊99综合婷婷久久伊| 9l视频自拍蝌蚪9l视频成人| 3d动漫精品啪啪一区二区三区免费| 中文字幕乱码亚洲无线精品一区| 美女又爽又黄免费| 欧美挤奶吃奶水xxxxx| 亚洲一区二区91| 亚洲自拍偷拍视频| 97超碰欧美中文字幕| 精品av综合导航| 国产日韩另类视频一区| av在线电影院| 久久婷婷国产综合精品青草| av一卡二卡| 在线观看视频黄色| 不卡av免费在线观看| 狠狠躁夜夜躁av无码中文幕| 国内精品国产成人国产三级| 日韩一区二区不卡视频| 国内免费精品永久在线视频| 日本高清视频一区二区| 搞黄网站在线看| 国产伦精品一区二区三区照片91| 林心如三级全黄裸体| 亚洲人成电影网站色xx| 亚洲精品在线一区二区| 欧美大片久久久| 久久99精品久久久久久久久久久久| 男女裸体影院高潮| 久久精品视频免费在线观看| 欧洲vodafonewi精品| 欧洲精品乱码久久久久蜜桃| 成人xxxxx| 久久久久久久久久久99999| 亚洲人成免费| 色视频在线观看在线播放| 免费观看日韩毛片| 日本成人a视频| 小泽玛利亚av在线| 久久久久亚洲av无码专区| www视频在线观看com| 一区二区三区在线观看视频| 99久久夜色精品国产亚洲| 精品久久久久久久中文字幕| 污污网站在线| 91超碰在线播放| 精品无人码麻豆乱码1区2区| 久久精品国产亚洲av麻豆| 欧美三级韩国三级日本三斤| 国产91精品露脸国语对白| 久久免费电影| 欧美一区二区三区在线免费观看| 韩国三级电影久久久久久| ass大特写| 无码人妻h动漫| 午夜写真片福利电影网| 国产内射老熟女aaaa∵| 亚洲精品视频观看| 91免费精品国偷自产在线| 一区二区高清免费观看影视大全| 欧美伊人久久久久久久久影院| 一本色道久久加勒比精品| 欧洲av在线精品| 少妇伦子伦精品无吗| 91看片官网| 亚洲精品一区二区三区四区五区| 亚洲一品av免费观看| 中文字幕亚洲情99在线| 亚洲精品二三区| 国产精品国产三级国产专业不| 黑人巨大精品欧美一区二区免费| 欧美在线视频精品| 一区二区黄色| 天堂久久精品忘忧草| 国产寡妇树林野战在线播放| 亚洲v国产v在线观看| 波多野结衣亚洲一二三| 99精品人妻无码专区在线视频区| 亚洲福利电影网| 日本黄色一区二区三区| 久久精品影视大全| 2020国产精品极品色在线观看| 国产精品久久久久久久久免费| 免费在线观看的电影网站| 午夜精品久久久久久久久久久久久| 久久99久久精品| 在线免费观看高清视频| 国产日韩av一区二区| 国产揄拍国内精品对白| 91高清视频免费观看| 国产精品精品视频| 91久久精品日日躁夜夜躁欧美| 国产精品主播直播| 亚洲一级片av| 色猫av在线| 五月天激情丁香| 91骚色在线| 91精品高清| 成人精品国产免费网站| 欧美free性| 在线国产一区二区三区| 在线观看免费高清视频97| 国精产品99永久一区一区| 国产最新在线| 欧美日韩 一区二区三区| 欧美一区免费视频| 亚洲欧美在线一区二区| www.天堂在线观看| 国内精品久久久久久中文字幕| 蜜桃传媒在线| 手机在线观看日韩av| 亚洲精品综合精品自拍| 日韩午夜激情免费电影| 熟妇高潮精品一区二区三区| 首播影院在线观看免费观看电视| 日韩免费成人网| 黄色成人av在线| 亚洲经典三级| 黄av在线免费观看| 91九色国产在线| 精品亚洲永久免费| 国产91精品久久久久久| 在线观看不卡| 成人午夜无人区一区二区| 极品美妇后花庭翘臀娇吟小说| 国产馆手机在线观看| 欧美一区二区三区久久精品茉莉花| 一本色道久久综合狠狠躁的番外| 国自产精品手机在线观看视频| 福利片免费在线观看| 国产在线传媒| 国产精品一区二区三区毛片淫片| 日韩精品视频免费看| 亚洲不卡系列| 色哟哟免费视频| 亚洲免费精品| 黑人狂躁日本妞一区二区三区| 国产精品**亚洲精品| 日韩成人影院| 在线看片日韩| 欧美成人欧美edvon| 久久精品国产99国产精品| 国产自产视频一区二区三区| 视频在线你懂的| 国产亚洲精品va在线观看| 免费亚洲网站| 国产探花在线看| 亚洲精品成人久久久998| 99精品国产在热久久下载| 中文字幕久热精品在线视频| 亚洲摸下面视频| 69国产精品视频| 97涩在线观看视频| 欧美激情777| 国产成人在线看| 欧美另类videosbestsex日本| 精品在线播放| 狠狠躁少妇一区二区三区| 成人春色激情网| 亚洲欧洲另类| 日本午夜大片a在线观看| 欧美人体一区二区三区| 精品入口麻豆88视频| 国产精品丝袜久久久久久消防器材| 女人让男人操自己视频在线观看| 亚洲天堂成人网| 精品三级在线观看| 国产乱码在线观看| 91久久伊人青青碰碰婷婷| 2018av在线| 亚洲制服欧美中文字幕中文字幕| 亚洲国产激情| 久久久精品人妻一区二区三区四| 国产精品免费入口| 成人国产一区二区三区精品麻豆| 久久久综合av| 手机在线观看你懂的| 色国产精品一区在线观看| 国产ktv在线视频| 日韩中文字幕视频在线观看| 亚洲男人天堂久| 四季久久免费一区二区三区四区| 欧美极品免费| 久久草视频在线看| 特级西西人体高清大胆| 免费的一级黄色片| 污污视频在线| 黄色春季福利在线看| 男人的天堂导航| 在线观看一区日韩| 午夜在线精品偷拍| 91视频综合| 北条麻妃av毛片免费观看| 2023国产一二三区日本精品2022| 97视频在线播放| 日韩免费一区二区| 亚洲伦理一区| 日韩精品极品视频| 国产成人在线观看免费网站| 99久久夜色精品国产亚洲96| 色综合一区二区日本韩国亚洲| 日韩三级视频在线看| 国产精品第13页| av亚洲男人天堂| 欧美一区二区三区视频免费播放| 欧美乱大交xxxxx潮喷l头像| 人与动性xxxxx免费视频| 精品中文字幕一区二区三区四区| 日本视频精品一区| 亚洲国产成人精品一区二区| 国产精品yjizz视频网一二区| 亚洲free性xxxx护士白浆| 91成人福利在线观看| 欧美精品入口蜜桃| 人人妻人人爽人人澡人人精品| 在线视频手机国产| 成人激情小说乱人伦| 成年网站在线免费观看| 625成人欧美午夜电影| 永久免费av无码网站性色av| 青青青在线视频免费观看| 国产一区二区丝袜高跟鞋图片| 性欧美长视频免费观看不卡| 68精品久久久久久欧美| 91免费电影网站| 无码人妻丰满熟妇区毛片| 国产天堂在线| 国产极品美女高潮无套嗷嗷叫酒店| 风流少妇一区二区三区91| 深田咏美中文字幕| 免费精品视频在线| 福利视频网站一区二区三区| 性少妇videosexfreexxx片| 橘梨纱av一区二区三区在线观看| 欧美中文高清| av大全在线| 激情图片qvod| 69堂免费视频| 成年女人的天堂在线| 国产bdsm| 欧美久久久一区| 久久精品一区八戒影视| 日本欧美肥老太交大片| 欧美丰满美乳xxⅹ高潮www| 久久影院午夜论| 一本一生久久a久久精品综合蜜| 男人av在线| 最近2019年日本中文免费字幕| 国产又黄又爽又无遮挡| 亚洲女爱视频在线| 日韩精品中文字幕在线不卡尤物| 亚洲自拍偷拍麻豆| 爆操欧美孕妇| 艳母动漫在线观看| lutube成人福利在线观看| 欧美不卡在线观看| 欧美大喷水吹潮合集在线观看| 不卡一区二区三区四区五区| 国产精品久久久久久五月尺| 日韩精品成人一区| 狠狠色噜噜狠狠狠狠色吗综合| 国产欧美日韩精品在线观看| 亚洲av无码一区二区三区性色| 欧美男女爱爱视频| 国产欧美日韩不卡| 亚洲国产一区二区精品视频| 国产无遮挡在线视频免费观看| 亚洲精品一区二区三区香蕉| 91日韩在线专区| 亚洲一区二区三区综合| 丁香婷婷综合五月| 日韩av电影手机在线| 99精彩视频在线观看免费| 欧美日韩中文字幕综合视频| 一区二区三区在线视频111| 欧美大片免费看| 亚洲偷熟乱区亚洲香蕉av| 精品国产福利一区二区在线|