● 本文首度發表於碩誠科技(telnet://cynix.sayya.org) LinuxHint 版
────────────────────────────────────
 作者  jazz (學海無涯)                                  站內  LinuxHint
 標題  [文件] CVS 安裝程序暨中英文參考資料 (更新)
 時間  Thu Nov  8 2001
────────────────────────────────────

==========[ 前 言 ]=================================================

嗯,在板上沒有找到比較詳細的安裝步驟,
自己根據 HowTo 安裝了一次,
在此 Post 比較詳細的一些操作步驟給需要的人做參考。
 
==========[ CVS Server 目前支援的平台與下載位址 ]====================

如果各位想先在自己電腦上測試 CVS / WinCVS 的使用方法,
目前 CVS Server 支援平台如下條列:

Linux 版:     http://ftp.cvshome.org/linux/      (請閱讀 README)
Macintosh 版: http://ftp.cvshome.org/macintosh/  (請閱讀 README)
Unix 版:      http://ftp.cvshome.org/unix/       (底下有 HP、 SUN 等)
Win32 版:     http://ftp.cvshome.org/win32/      (請閱讀 README)
Vms 版:       http://ftp.cvshome.org/vms/        (請閱讀 README)

歡迎針對自己的作業系統安裝、測試。
 

本文僅針對 Linux 版本 CVS Server 的設定步驟加以說明。

==========[ CVS Server Linux 版 設定步驟 ]==============================

0. 首先請以 root 身分登入。
1. 先確認 CVS Server 的 PORT 有開:
  方法:vi /etc/services
      搜尋關鍵字 cvs ,應該會有這兩行,沒有請自行加入。
     若該 PORT 被關閉,也請自行打開。
      cvspserver      2401/tcp   #CVS network server
     cvspserver      2401/udp   #CVS network server
2. 設定 CVS Server 所需之環境變數。
  方法:vi /etc/profile 加入以下四行。
      # Add For CVS Server
     export EDITOR=/bin/vi
      export CVSROOT=/home/cvsroot
     export CVSREAD=yes
3. 設定系統開機時自動啟動 CVS Server
  方法:在 /etc/inetd.conf 加入(一行)
   cvspserver  stream  tcp  nowait   root  /usr/bin/cvs cvs -b
   /usr/bin --allow-root /home/cvsroot pserver

附註: 在RedHat 7.0 之後 已經改成 xinetd.d 所以 啟動 cvs server 方法也要修正

在 /etc/xinetd.d/ 目錄下新增 一個檔案 cvspserver

裡面編輯成

# default: on
# description: cvs server
service cvspserver
{
  disable = no
  socket_type = stream
  wait = no
  user = root
  # No Setting the Protocol, use the system default Protocol.
  protocol = tcp
  server = /usr/bin/cvs
  server_args = -f --allow-root /home/cvsroot pserver
  log_on_success +=USERID
  log_on_failure +=USERID
}

4. 建立 CVSROOT 目錄,並初始化 CVS Server。
  指令:
         mkdir /home/cvsroot
         cvs init
5. 當需要多人共同開發時,需要更改 CVSROOT 目錄的權限。
  還要將所有可能登入的人員更改為該群組。
  指令:
      groupadd cvs_usr
     chgrp -R cvs_usr /home/cvsroot
     userconf
     ( userconf 是一個管理介面,請將人員的群組修改為 cvs_usr )

==========[ CVS 基本操作 ]===========================================

1. 建立一個新的 CVS 專案
 指令:
     cd [你要加入專案的目錄]
     cvs import [自定專案名稱] V1_0 R1_0
  範例:
     cd /home/jazz/Temp/motion
     cvs import motion V1_0 R1_0
2. 從 CVS Server 取得某個專案
  指令:
     cd [你要將專案資料放置的位置]
     cvs checkout [自定專案名稱]
  範例:
     cd /home/jazz/Temp
     cvs checkout motion
  結果:
     cvs 會自動幫你建一個和專案名稱
     一樣的目錄。裡面放置專案的檔案。
3. 遠端登入 CVS Server 。
  指令:
     cvs -d ":pserver:你的帳號@伺服器位址:/home/cvsroot" login
  結果:
     CVS 會要求你在該伺服器的密碼。


==========[ WinCVS 基本操作 ]========================================

1. 檔案下載:

   http://www.wincvs.org/download.html
 (撰寫此稿時是用 WinCvs 1.2 *STABLE* / Client + Local / Sources)
2. 基本操作:
  (1) 功能表 [ Admin ] → [ Perferences ...  ] →
     在 Enter the CVSROOT 處填入
       ":pserver:你的帳號@伺服器位址:/home/cvsroot"
     在 Authentication 處選擇 "passed" file on the cvs server
     → 切換到 WinCVS 的子視窗
     在 Default viwer used to open file 處填寫你最常用的文字編輯器
       (如:UltraEdit)
       在 Home Folder 處填寫儲存 .cvspasswd 的目錄,
       建議選擇 WinCVS 安裝目錄下的 Setting。
   (2) 完成設定後,回到功能表 [ Admin ] → [ Login ... ] → 在彈出的對話框中
       輸入密碼。
     若登入正確,系統回應為:*****CVS exited normally with code 0*****
     若登入錯誤,系統回應為:*****CVS exited normally with code 1*****
  (3) 欲將專案 Checkout 到 Client 端硬碟,選擇功能表[ Create ] →
       [ Checkout Module ]
     在 Enter the module name and path on the server 處填入「專案名稱」
       (如:motion)
     在 Local folder to checkout to 處選擇要擺放的位置。
  (4) 欲將現有資料加入 CVS 專案中,請先選擇你放置資料的目錄或檔案,
     選擇功能表[ Create ] → [ Import module ] ,並依指示選擇欲 import
       之目錄並依序輸入module name、Vender tag、Release Tag 即可。
  (5) 請自行練習操作 ToolBar 上的按鈕如:update、commit、log、status、
       Graph log等。
       Enjoy Your New Coding Life!!

==========[ 中文參考資料 ]===========================================

CVS 使用簡介:

          http://www.linux.org.tw/CLDP/doc/cvs.html
CVS RCS HOWTO:

          http://www.linux.org.tw/CLDP/CVS-RCS-HOWTO.html


==========[ 英文參考資料 ]===========================================

CVS RCS HOWTO:
        http://www.linux.org.tw/CLDP/HOWTO/CVS-RCS-HOWTO.html
CVS 入門:

        http://www.cvshome.org/new_users.html
Introduction to CVS (by Jim Blandy)
        http://www.cvshome.org/docs/blandy.html

電子書:Open Source Development with CVS (by Karl Fogel)
        http://cvsbook.red-bean.com/

這本書宣告為 GPL,可以自由下載電子檔,有 text、ps 檔、html 檔等等

=====================================================================
本文件根據網路討論及安裝經驗撰寫,歡迎轉載。
=====================================================================
  Yao-Tsung Wang, mailto:jazzwang@ms7.url.com.tw
  WebSite  -- http://home.kimo.com.tw/elflish/
  Intelligent Control Group, EIC R416
  Department of Electrical and Control Engineering
  National Chiao Tung University,
  1001 Ta Hsueh Road , Hsinchu, Taiwan
=====================================================================