Windows下使用CVS與SSH --- WinCVS + ssh

SourceForge程式開發者入門

Growbal Kuo, 2002

前言

開放源碼的共同開發環境,需要以CVS(Concurrent version system)作為版本整合的管理, 為了傳送密碼等較為敏感的資訊,需要SSH(Secure Shell)作為傳送的安全介面. 例如開放源碼的大本營sourceforge.net,程式開發者就必須以CVS+SSH來傳送源碼到 SourceForge的server上.

需求

  • CVS --- 以WinCVS最為好裝好用.Download
  • SSH --- 以ssh最為短小方便.Download
    Note: WinCVS若要自動登入SSH只能使用SSH1的RSA key.

    設定

    WinCVS 1.2

  • Windows自動安裝檔
  • Admin --> Preference --> General :
    CVSROOT設為
    :ext:username@cvs.projectname.sf.net:/cvsroot/projectname
    (1. 注意最前面的:
    2.username與projectname自行修改)
    Authentication設為SSH Server
  • Admin --> Preference --> Globals :
    Checkout read-only不選.
  • Admin --> Preference --> WinCvs :
    HOME folder設為你要放password的path.

    SSH

  • 將ssh-1.2.14-win32bin.zip解壓到一個目錄 , 如 d:\ssh
  • 建立你的HOME path , 例如 md d:\home
  • 建立SSH的存檔path .ssh, 例如 md d:\home\.ssh
  • 設定系統參數HOME , 例如 set HOME=d:\home
  • 設定系統路徑 ,加上SSH的路徑 例如set PATH=%PATH%;d:\ssh
  • Windows 9x下, 這些設定可以放到c:\autoexec.bat中 , 重開機就可使用.

    測試

    測試SSH

  • ssh -l username shell.sf.net
  • 輸入password , 登入成功表示你的SSH安裝設定無誤.

    以筆者參與開發的phpXD (php XML DOM) project 為例:

  • 執行WinCVS
  • 第一次先checkout CVS Server的檔案到你的電腦.Create --> checkout module.
    checkout setting --> module name 設為你的project module name, 例如筆者的為phpXD.
    local folder to checkout to設為你想要放CVS下載的檔案的路徑. 例如 d:\dev\cvs.
  • 確定後,會跑出一個DOS視窗,有SSH的輸入password提示,輸入你的sourceforge密碼, 開始下載.
  • 會建立一個d:\dev\cvs\phpXD
  • 在左邊的路徑視窗上點選你的路徑.
  • 成功了!

    使用

    新增檔案

  • 檔案必須放到你的CVS路徑中 , 例如d:\dev\cvs\phpXD\...
  • 一一點選Add , 或 Add binary (有些內有中文的檔案或圖檔等等)
  • 點選commit

    進階使用

    SSH自動登入

  • 每次執行CVS動作就要輸入一次password, 相當不便.
  • 參閱 Guide to Generation and Posting of SSH Keys

    常見問題FAQ

    cvs [server aborted]: "add" requires write access to the repository

  • 若你本來用anonymous的方式download cvs files, 請將該cvs module(path)刪除掉.再重新以developer的CVS + SSH方式下載一次就可以了.

    如何使用PuTTY的PLink?

  • 必須搭配WinCVS 1.3以上,參閱:Using CVS

    參考網站與文獻

    Sourceforge的介紹
    An Introductory Guide to Using SourceForge for Windows Development (Sourceforge.net)
    A Minimalistic Guide to CVS with SSH
    CVS/SSH
    Guide to Generation and Posting of SSH Keys
    Win32/CVS/SSH Howto
    CVS/SSH FAQ
    Sourceforge CVS Howto (Unix plateform)
    SSH Host Key Fingerprints for SSH-Accessible Hosts
    How To setup WinCVS for SourceForge
    PuTTY Download Page
    Accessing CVS via SSH on Windows
    Using CVS