萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

CVS/RCS 版本控制系統入門指南:從安裝到多開發者協作流程

1. 簡介

原始碼控制系統(SCCS)管理軟體專案原始碼變更,提供完整歷史紀錄,便於追溯穩定版本。CVS (Concurrent Versions System) 建立在 RCS 之上,支援多開發者並行開發、目錄樹版本控制、發布標籤(STAMP)與彈性腳本整合。

  • CVS 僅儲存版本間差異,節省空間。
  • 記錄誰、何時、改了什麼、為何改。
  • 支援 C、C++、Java、Perl、HTML 等任意檔案類型。

2. CVS vs RCS 選擇指南

CVS 優點RCS 優點
架構分散式:各開發者擁有獨立工作目錄樹集中式:單一目錄、嚴格檔案鎖定
並行開發支援多人同時修改不允許同時修改
發布管理可對整個專案樹打標籤無法對整個專案打標籤
腳本整合支援 shell/Perl 封裝成鎖定或並行模式指令簡單、學習曲線平緩
管理負擔稍高極低

強烈推薦 CVS,除非專案極小且單人維護。本文另附 Shell Scripts 簡化 CVS 操作。

3. CVS 安裝與初始化

RedHat 安裝

rpm -i rcs*.rpm
rpm -i cvs*.rpm
rpm -qpl cvs*.rpm | less  # 查看安裝檔案

環境變數設定(/etc/profile 或 ~/.bash_profile)

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

建立版本庫

mkdir $CVSROOT
chmod o-rwx $CVSROOT
chmod ug+rwx $CVSROOT
cvs init

匯入現有專案

cd $HOME/my_source_code_dir
cvs import my_source_code_dir V1_0 R1_0
# V1_0 = vendor tag, R1_0 = release tag
# 此後 $HOME/my_source_code_dir 不再直接使用,改用 checkout

從 RCS 遷移至 CVS

需安裝 pdksh*.rpm 取得 /bin/ksh,使用遷移腳本(見原文)。


4. 後續操作

  • cvs checkout module 取得工作副本
  • cvs update 同步最新版
  • cvs commit 提交變更
  • cvs tag REL_1_0 打發布標籤
  • cvs rtag REL_1_0 module 遠端打標籤
詳細 Shell Scripts 封裝請見本系列 (二);RCS 入門請參考 RCS mini-HOWTO。
copyright © 萬盛學電腦網 all rights reserved