国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 學(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ā)者需要一個完整的原始碼改變歷史紀錄,以便於在發(fā)生問題時,能夠追溯到以前穩(wěn)定的版本。既然原始程式碼對於任何的軟體計劃與開發(fā),都是花時間與金錢中最關(guān)鍵的部分,所以花時間藉由使用原始碼控制系統(tǒng)像 CVS 和 RCS 來安全的保護(safe-guarding)原始程式碼是非常重要的。 

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

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

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

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)很有用。 
非常嚴謹?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 擺進來,
如果將來想新增檔案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ā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
a视频在线观看免费| 美女网站在线观看| 国产特级淫片免费看| 九九热视频在线观看| 免费高清视频日韩| 天天操人人干| 精品全国在线一区二区| 亚洲欧美自拍另类| 天天av天天爽| 午夜在线网站| 国产精品久久久高清免费| 最新超碰在线| xxx国产精品| 国产精品粉嫩av| 黄色在线视频观看网站| 精品欧美不卡一区二区在线观看| 青青久在线视频免费观看| **三级三级97片毛片| 亚洲人成影院在线| 国产青草视频在线观看视频| 日韩国产成人| 在线免费黄色毛片| 国产乱码在线| 久热免费视频| av手机天堂| 国产www网站| 国产麻豆一级片| 免费影视观看网站入口| 精品999视频| 国产欧美在线观看视频| 激情丁香婷婷| 久久精品蜜桃| 丁香婷婷激情| 天天操人人干| 国产视频一二三区| 国产成人夜间影院在线观看| 天天爱天天做色综合| 国产综合视频一区二区三区免费| 一本大道香蕉久久| 四虎免费播放| 青草视频在线播放| а√天堂8资源在线官网| 一本久中文高清| 亚洲成人在线播放| 免费看成年人视频在线观看| yjizz视频网站在线播放| a级在线观看| 好看的中文字幕在线播放 | 国产高清视频在线播放| 国产精品777一区二区| 国产午夜三区视频在线| 国产无遮挡又黄又爽免费网站| 成人av小说网| 国产黄色在线网站| 在线中文视频| 亚洲成人国产综合| 美女免费视频黄| 国产鲁鲁视频在线观看特色| 午夜av在线免费观看| 最新天堂资源在线| 在线中文av| 激情五月色综合亚洲小说| 天天av天天爱| 99久久99热久久精品免费看| 欧美婷婷久久五月精品三区| 91sp网站在线观看入口| 精品推荐蜜桃传媒| 交换国产精品视频一区| 国产高清视频在线| 狠狠干天天爱| 国产极品嫩模在线视频一区| 四虎精品视频| 91嫩草在线播放| 国产女人伦码一区二区三区不卡| 国产精品入口麻豆完整版| 亚洲久草视频| 91久久精品国产性色| 国产专区在线播放| 亚洲男人网站| 国产精品入口麻豆免费| 免费看ww视频网站入口| 国产特黄在线| 九七电影韩国女主播在线观看| 国产精品扒开做爽爽爽的视频| 性国产高清在线观看| 天天操天天射天天色| jlzzjlzz欧美| 在线成人一区| 国产福利在线| 国产福利免费在线观看| 午夜视频在线| 国产麻豆综合视频在线观看| 欧美精品日韩少妇| 日本黄在线观看| 日本视频在线| 免费精品国产自产拍在| 亚色视频在线观看| 香蕉视频在线观看网站| 亚洲电影先锋| 日p在线观看| av文字幕在线观看| 亚洲一区二区三区在线观看网站| 国产黄色免费在线观看| 国产视频xxxx| 992tv在线观看在线播放| 国产黄色免费网站| 国产www网站| 精品麻豆视频| 人成在线免费视频| 国产在线一二三| 中文字幕色视频| 国产成人综合美国十次| 在线天堂av| 欧美精品另类| 国产精品一品| 国产午夜电影| 在线观看的网站你懂的| 超碰免费97在线观看| 中文字幕欧美日韩在线不卡| 国产青青视频| 在线观看电影av| 国产在线一二三| 国产视频第一区| 全网国产福利在线播放| 国产午夜电影| www.操操| 999国产在线视频| 波多野结衣久久高清免费| 国产尤物视频| av文字幕在线观看| 久久香蕉av| 91午夜视频| 天堂在线免费视频| 亚洲激情丁香| 国产精品不卡一区二区三区在线观看| 亚洲精品一区中文字幕电影| 五月婷婷在线视频| 老师我好爽再深一点的视频| 国产福利在线视频| 综合激情丁香| 成人免费一区二区三区牛牛| 天天草天天爽| av亚洲在线| 99高清免费国产自产拍| 国产一级二级在线| 超碰免费在线观看| 性网站在线播放| 精品176二区| 91涩漫在线观看c| 国产区视频在线| 国产秀色在线www免费观看| 国产在线日本| 国产美女福利在线观看| 超碰在线观看免费版| 欧美日韩视频精品一区二区| 亚洲精品影院在线| 亚洲精品国自产拍在线观看| 精品国产免费第一区二区| 国产黄色网页| 在线视频中文字幕第一页| 国产视频一二| 91中文字幕| 日本电影在线观看| 成年人在线观看| 国产欧美在线观看视频| 国产小视频免费在线观看| 中文字幕视频在线免费| 国产精品视频一区二区久久 | 国产精品777一区二区| 天堂中文字幕在线| 国产激情小视频在线| 9999在线视频| av大片在线播放| 久热中文字幕在线观看| 五月婷婷导航| 精品无人区乱码1区2区3区免费| 国产精品视频流白浆免费视频| 国产黄色片中文字幕| 在线观看中文字幕| 九七电影韩国女主播在线观看| 成人超碰在线| 99热国产在线| 成人超碰在线| 影音先锋在线中文字幕| 欧美日韩在线中文字幕| 日本中文字幕视频| 永久免费网站在线| 久久精品国产麻豆| 精品国产免费观看一区| 国产在线一二三区| 永久免费av片在线观看全网站| 久色视频在线观看| 9999在线视频| 国产午夜精品一区理论片| wwww在线观看免费视频| 国产精美视频| 综合图区亚洲白拍在线 | 久久久久久91精品色婷婷| 国产欧美在线观看视频| 人日人天天爽|